From: Zeeshan Ali (Khattak) Date: Sat, 28 Mar 2009 00:45:53 +0000 (+0000) Subject: L16Transcoder supports both endianness'es. X-Git-Tag: RYGEL_0_3~257 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=48f14f755e3af3b810a29a1a3e7208e913a52cea;p=profile%2Fivi%2Frygel.git L16Transcoder supports both endianness'es. svn path=/trunk/; revision=762 --- diff --git a/src/rygel/rygel-l16-transcoder.vala b/src/rygel/rygel-l16-transcoder.vala index 763880b..af228b4 100644 --- a/src/rygel/rygel-l16-transcoder.vala +++ b/src/rygel/rygel-l16-transcoder.vala @@ -24,24 +24,32 @@ using Rygel; using Gst; using GUPnP; +internal enum Endianness { + LITTLE = ByteOrder.LITTLE_ENDIAN, + BIG = ByteOrder.BIG_ENDIAN +} + internal class Rygel.L16Transcoder : Rygel.Transcoder { private const int CHANNELS = 2; private const int FREQUENCY = 44100; private const int WIDTH = 16; private const int DEPTH = 16; - private const int ENDIANNESS = ByteOrder.BIG_ENDIAN; // Network byte order private const bool SIGNED = true; // Network byte order + private Endianness endianness; + private const string AUDIO_CONVERT = "audioconvert"; private const string AUDIO_RESAMPLE = "audioresample"; private const string CAPS_FILTER = "capsfilter"; - public L16Transcoder () { + public L16Transcoder (Endianness endianness) { var mime_type = "audio/L" + L16Transcoder.WIDTH.to_string () + ";rate=" + L16Transcoder.FREQUENCY.to_string () + ";channels=" + L16Transcoder.CHANNELS.to_string (); base (mime_type, "LPCM"); + + this.endianness = endianness; } public override Element create_source (Element src) throws Error { @@ -82,8 +90,9 @@ internal class Rygel.L16Transcoder : Rygel.Transcoder { "rate", typeof (int), FREQUENCY, "width", typeof (int), WIDTH, "depth", typeof (int), DEPTH, - "endianness", typeof (int), ENDIANNESS, - "signed", typeof (bool), SIGNED); + "signed", typeof (bool), SIGNED, + "endianness", typeof (int), + this.endianness); convert1.link_many (resample, convert2, capsfilter); diff --git a/src/rygel/rygel-transcode-manager.vala b/src/rygel/rygel-transcode-manager.vala index a042298..6c65dae 100644 --- a/src/rygel/rygel-transcode-manager.vala +++ b/src/rygel/rygel-transcode-manager.vala @@ -33,7 +33,7 @@ internal abstract class Rygel.TranscodeManager : GLib.Object { private Transcoder mp2ts_sd_transcoder; public TranscodeManager () { - l16_transcoder = new L16Transcoder (); + l16_transcoder = new L16Transcoder (Endianness.BIG); mp3_transcoder = new MP3Transcoder (MP3Layer.THREE); mp2ts_sd_transcoder = new MP2TSTranscoder(MP2TSProfile.SD); mp2ts_hd_transcoder = new MP2TSTranscoder(MP2TSProfile.HD);