Bug 777696: Fix gstreamer backend on big endian architectures. r=doublec

This commit is contained in:
Landry Breuil 2012-07-30 17:57:15 +02:00
Родитель 31fe3efb2e
Коммит a195799c2e
1 изменённых файлов: 8 добавлений и 0 удалений

Просмотреть файл

@ -132,10 +132,18 @@ nsresult nsGStreamerReader::Init(nsBuiltinDecoderReader* aCloneDonor)
mAudioSink = gst_parse_bin_from_description("capsfilter name=filter ! " mAudioSink = gst_parse_bin_from_description("capsfilter name=filter ! "
#ifdef MOZ_SAMPLE_TYPE_FLOAT32 #ifdef MOZ_SAMPLE_TYPE_FLOAT32
"appsink name=audiosink sync=true caps=audio/x-raw-float," "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); "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 #else
"appsink name=audiosink sync=true caps=audio/x-raw-int," "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); "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 #endif
mAudioAppSink = GST_APP_SINK(gst_bin_get_by_name(GST_BIN(mAudioSink), mAudioAppSink = GST_APP_SINK(gst_bin_get_by_name(GST_BIN(mAudioSink),
"audiosink")); "audiosink"));