commit 0c0d1a8 Author: Landry Breuil Date: Mon Jul 30 17:57:15 2012 +0200 Bug 777696: Fix gstreamer backend on big endian architectures. r=doublec --- content/media/gstreamer/nsGStreamerReader.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git content/media/gstreamer/nsGStreamerReader.cpp content/media/gstreamer/nsGStreamerReader.cpp index 0fb801a..4a69196 100644 --- content/media/gstreamer/nsGStreamerReader.cpp +++ content/media/gstreamer/nsGStreamerReader.cpp @@ -132,10 +132,18 @@ nsresult nsGStreamerReader::Init(nsBuiltinDecoderReader* aCloneDonor) mAudioSink = gst_parse_bin_from_description("capsfilter name=filter ! " #ifdef MOZ_TREMOR "appsink name=audiosink sync=true caps=audio/x-raw-float," +#ifdef IS_LITTLE_ENDIAN "channels={1,2},rate=44100,width=32,endianness=1234", TRUE, NULL); #else + "channels={1,2},rate=44100,width=32,endianness=4321", TRUE, NULL); +#endif +#else "appsink name=audiosink sync=true caps=audio/x-raw-int," +#ifdef IS_LITTLE_ENDIAN "channels={1,2},rate=48000,width=16,endianness=1234", TRUE, NULL); +#else + "channels={1,2},rate=48000,width=16,endianness=4321", TRUE, NULL); +#endif #endif mAudioAppSink = GST_APP_SINK(gst_bin_get_by_name(GST_BIN(mAudioSink), "audiosink"));