~kelemeng/banshee/bug743928

« back to all changes in this revision

Viewing changes to libbanshee/banshee-transcoder.c

  • Committer: Bazaar Package Importer
  • Author(s): Chow Loong Jin
  • Date: 2011-03-11 01:05:18 UTC
  • mfrom: (1.14.3 upstream) (6.4.9 sid)
  • Revision ID: james.westby@ubuntu.com-20110311010518-7j68jrnl3m4og597
Tags: 1.9.5-1ubuntu1
* Merge from Debian Unstable, remaining changes:
  + Enable SoundMenu and Disable NotificationArea by default
  + Disable boo and karma extensions
  + Enable and recommnd u1ms and soundmenu extensions
  + Move desktop file for Meego UI to /usr/share/une/applications

Show diffs side-by-side

added added

removed removed

Lines of Context:
44
44
    guint iterate_timeout_id;
45
45
    GstElement *pipeline;
46
46
    GstElement *sink_bin;
47
 
    GstElement *conv_elem;
48
47
    gchar *output_uri;
49
48
    GstTranscoderProgressCallback progress_cb;
50
49
    GstTranscoderFinishedCallback finished_cb;
227
226
    GstElement *encoder_elem;
228
227
    GstElement *sink_elem;
229
228
    GstElement *conv_elem;
 
229
    GstElement *resample_elem;
230
230
    GstPad *encoder_pad;
231
231
 
232
232
    if(transcoder == NULL) {
265
265
        return FALSE;
266
266
    }
267
267
    
 
268
    resample_elem = gst_element_factory_make("audioresample", "audioresample");
 
269
    if(resample_elem == NULL) {
 
270
        gst_transcoder_raise_error(transcoder, _("Could not create 'audioresample' plugin"), NULL);
 
271
        return FALSE;
 
272
    }
 
273
 
268
274
    encoder_elem = gst_transcoder_build_encoder(encoder_pipeline);
269
275
    if(encoder_elem == NULL) {
270
276
         gst_transcoder_raise_error(transcoder, _("Could not create encoding pipeline"), encoder_pipeline);
277
283
        return FALSE;
278
284
    }
279
285
    
280
 
    gst_bin_add_many(GST_BIN(transcoder->sink_bin), conv_elem, encoder_elem, sink_elem, NULL);
281
 
    gst_element_link_many(conv_elem, encoder_elem, sink_elem, NULL);
 
286
    gst_bin_add_many(GST_BIN(transcoder->sink_bin), conv_elem, resample_elem, encoder_elem, sink_elem, NULL);
 
287
    gst_element_link_many(conv_elem, resample_elem, encoder_elem, sink_elem, NULL);
282
288
    
283
289
    gst_element_add_pad(transcoder->sink_bin, gst_ghost_pad_new("sink", encoder_pad));
284
290
    gst_object_unref(encoder_pad);
293
299
 
294
300
    gst_bus_add_watch(gst_pipeline_get_bus(GST_PIPELINE(transcoder->pipeline)), 
295
301
        gst_transcoder_bus_callback, transcoder);
296
 
        
297
 
    transcoder->conv_elem = conv_elem;
298
302
    
299
303
    return TRUE;
300
304
}