rygel r765 - trunk/src/rygel



Author: zeeshanak
Date: Sat Mar 28 00:46:06 2009
New Revision: 765
URL: http://svn.gnome.org/viewvc/rygel?rev=765&view=rev

Log:
MP3Transcoder (re-)uses L16Transcoder's encoder.

Modified:
   trunk/src/rygel/rygel-mp3-transcoder.vala

Modified: trunk/src/rygel/rygel-mp3-transcoder.vala
==============================================================================
--- trunk/src/rygel/rygel-mp3-transcoder.vala	(original)
+++ trunk/src/rygel/rygel-mp3-transcoder.vala	Sat Mar 28 00:46:06 2009
@@ -24,10 +24,10 @@
 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 @@
     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 @@
 
         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);
 



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]