From dbecba844908eb25485cc820f58f51cba7acc008 Mon Sep 17 00:00:00 2001 From: "Zeeshan Ali (Khattak)" Date: Sat, 28 Mar 2009 00:46:06 +0000 Subject: [PATCH] MP3Transcoder (re-)uses L16Transcoder's encoder. svn path=/trunk/; revision=765 --- src/rygel/rygel-mp3-transcoder.vala | 22 ++++++++++------------ 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/src/rygel/rygel-mp3-transcoder.vala b/src/rygel/rygel-mp3-transcoder.vala index e578221..13e2e66 100644 --- a/src/rygel/rygel-mp3-transcoder.vala +++ b/src/rygel/rygel-mp3-transcoder.vala @@ -24,10 +24,10 @@ using Rygel; using Gst; internal class Rygel.MP3Transcoder : Rygel.Transcoder { - private const string AUDIO_CONVERT = "audioconvert"; private const string[] AUDIO_ENCODER = {null, "twolame", "lame"}; private const string AUDIO_PARSER = "mp3parse"; - private const string AUDIO_RESAMPLE = "audioresample"; + + private const string CONVERT_SINK_PAD = "convert-sink-pad"; private MP3Layer layer; @@ -44,10 +44,10 @@ internal class Rygel.MP3Transcoder : Rygel.Transcoder { public Element create_encoder (string? src_pad_name, string? sink_pad_name) throws Error { - dynamic Element convert = GstUtils.create_element (AUDIO_CONVERT, - AUDIO_CONVERT); - dynamic Element resample = GstUtils.create_element (AUDIO_RESAMPLE, - AUDIO_RESAMPLE); + var l16_transcoder = new L16Transcoder (Endianness.LITTLE); + dynamic Element convert = l16_transcoder.create_encoder ( + null, + CONVERT_SINK_PAD); dynamic Element encoder = GstUtils.create_element ( AUDIO_ENCODER[this.layer], AUDIO_ENCODER[this.layer]); @@ -61,14 +61,12 @@ internal class Rygel.MP3Transcoder : Rygel.Transcoder { encoder.bitrate = 256; - var bin = new Bin ("audio-encoder-bin"); - bin.add_many (convert, resample, encoder, parser); + var bin = new Bin ("mp3-encoder-bin"); + bin.add_many (convert, encoder, parser); - var filter = Caps.from_string ("audio/x-raw-int"); - convert.link_filtered (encoder, filter); - encoder.link (parser); + convert.link_many (encoder, parser); - var pad = convert.get_static_pad ("sink"); + var pad = convert.get_static_pad (CONVERT_SINK_PAD); var ghost = new GhostPad (sink_pad_name, pad); bin.add_pad (ghost); -- 2.7.4