[SVN-Commit] r965 - in branches/experimental:
mail/thunderbird/files www/firefox/files www/seamonkey/files
svn-freebsd-gecko at chruetertee.ch
svn-freebsd-gecko at chruetertee.ch
Thu Aug 30 04:06:24 UTC 2012
Author: jbeich
Date: Thu Aug 30 04:06:17 2012
New Revision: 965
Log:
add a few gstreamer patches
Added:
branches/experimental/mail/thunderbird/files/patch-bug723860
branches/experimental/mail/thunderbird/files/patch-bug761030
branches/experimental/mail/thunderbird/files/patch-bug775257
branches/experimental/mail/thunderbird/files/patch-bug777696
branches/experimental/www/firefox/files/patch-bug723860
branches/experimental/www/firefox/files/patch-bug761030
branches/experimental/www/firefox/files/patch-bug775257
branches/experimental/www/firefox/files/patch-bug777696
branches/experimental/www/seamonkey/files/patch-bug723860
branches/experimental/www/seamonkey/files/patch-bug761030
branches/experimental/www/seamonkey/files/patch-bug775257
branches/experimental/www/seamonkey/files/patch-bug777696
Added: branches/experimental/mail/thunderbird/files/patch-bug723860
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ branches/experimental/mail/thunderbird/files/patch-bug723860 Thu Aug 30 04:06:17 2012 (r965)
@@ -0,0 +1,54 @@
+commit 4e07587
+Author: Matthew Gregan <kinetik at flim.org>
+Date: Wed Jun 6 17:58:07 2012 +1200
+
+ Bug 723860 - Early bail from reader's GetBuffered() if not yet initialized. r=doublec
+---
+ content/media/gstreamer/nsGStreamerReader.cpp | 4 ++++
+ content/media/ogg/nsOggReader.cpp | 3 +--
+ content/media/wave/nsWaveReader.cpp | 3 +++
+ 3 files changed, 8 insertions(+), 2 deletions(-)
+
+diff --git mozilla/content/media/gstreamer/nsGStreamerReader.cpp mozilla/content/media/gstreamer/nsGStreamerReader.cpp
+index 164fb2e..06a09b5 100644
+--- mozilla/content/media/gstreamer/nsGStreamerReader.cpp
++++ mozilla/content/media/gstreamer/nsGStreamerReader.cpp
+@@ -505,6 +505,10 @@ nsresult nsGStreamerReader::Seek(PRInt64 aTarget,
+ nsresult nsGStreamerReader::GetBuffered(nsTimeRanges* aBuffered,
+ PRInt64 aStartTime)
+ {
++ if (!mInfo.mHasVideo && !mInfo.mHasAudio) {
++ return NS_OK;
++ }
++
+ GstFormat format = GST_FORMAT_TIME;
+ MediaResource* resource = mDecoder->GetResource();
+ gint64 resourceLength = resource->GetLength();
+diff --git mozilla/content/media/ogg/nsOggReader.cpp mozilla/content/media/ogg/nsOggReader.cpp
+index c6ff008..8d40e2c 100644
+--- mozilla/content/media/ogg/nsOggReader.cpp
++++ mozilla/content/media/ogg/nsOggReader.cpp
+@@ -1532,8 +1532,7 @@ nsresult nsOggReader::GetBuffered(nsTimeRanges* aBuffered, PRInt64 aStartTime)
+ {
+ // HasAudio and HasVideo are not used here as they take a lock and cause
+ // a deadlock. Accessing mInfo doesn't require a lock - it doesn't change
+- // after metadata is read and GetBuffered isn't called before metadata is
+- // read.
++ // after metadata is read.
+ if (!mInfo.mHasVideo && !mInfo.mHasAudio) {
+ // No need to search through the file if there are no audio or video tracks
+ return NS_OK;
+diff --git mozilla/content/media/wave/nsWaveReader.cpp mozilla/content/media/wave/nsWaveReader.cpp
+index 7242eb5..60fc1e1 100644
+--- mozilla/content/media/wave/nsWaveReader.cpp
++++ mozilla/content/media/wave/nsWaveReader.cpp
+@@ -239,6 +239,9 @@ static double RoundToUsecs(double aSeconds) {
+
+ nsresult nsWaveReader::GetBuffered(nsTimeRanges* aBuffered, PRInt64 aStartTime)
+ {
++ if (!mInfo.mHasAudio) {
++ return NS_OK;
++ }
+ PRInt64 startOffset = mDecoder->GetResource()->GetNextCachedData(mWavePCMOffset);
+ while (startOffset >= 0) {
+ PRInt64 endOffset = mDecoder->GetResource()->GetCachedDataEnd(startOffset);
Added: branches/experimental/mail/thunderbird/files/patch-bug761030
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ branches/experimental/mail/thunderbird/files/patch-bug761030 Thu Aug 30 04:06:17 2012 (r965)
@@ -0,0 +1,25 @@
+commit 8bc9e15
+Author: Stephen Moehle <stephen.moehle at gmail.com>
+Date: Tue Jun 5 11:31:13 2012 +1200
+
+ Bug 761030 - Fix crash with HTML 5 video with GStreamer enabled - r=kinetik
+
+ --HG--
+ extra : rebase_source : 5e884550f9870bd2fda247d50bebd472e8368588
+---
+ content/media/gstreamer/nsGStreamerReader.cpp | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git mozilla/content/media/gstreamer/nsGStreamerReader.cpp mozilla/content/media/gstreamer/nsGStreamerReader.cpp
+index 17374a3..6a50e09 100644
+--- mozilla/content/media/gstreamer/nsGStreamerReader.cpp
++++ mozilla/content/media/gstreamer/nsGStreamerReader.cpp
+@@ -452,6 +452,8 @@ bool nsGStreamerReader::DecodeVideoFrame(bool &aKeyFrameSkip,
+ i, height);
+ b.mPlanes[i].mWidth = gst_video_format_get_component_width(format,
+ i, width);
++ b.mPlanes[i].mOffset = 0;
++ b.mPlanes[i].mSkip = 0;
+ }
+
+ bool isKeyframe = !GST_BUFFER_FLAG_IS_SET(buffer,
Added: branches/experimental/mail/thunderbird/files/patch-bug775257
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ branches/experimental/mail/thunderbird/files/patch-bug775257 Thu Aug 30 04:06:17 2012 (r965)
@@ -0,0 +1,27 @@
+commit 8fc8b74
+Author: Oleg Romashin <oleg.romashin at nokia.com>
+Date: Wed Jul 18 22:46:11 2012 -0400
+
+ Bug 775257 - Gstreamer backend on Meego N9 produce extra noise in audio playback.r=giles
+---
+ content/media/gstreamer/nsGStreamerReader.cpp | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git mozilla/content/media/gstreamer/nsGStreamerReader.cpp mozilla/content/media/gstreamer/nsGStreamerReader.cpp
+index c48f92e..0fb801a 100644
+--- mozilla/content/media/gstreamer/nsGStreamerReader.cpp
++++ mozilla/content/media/gstreamer/nsGStreamerReader.cpp
+@@ -130,8 +130,13 @@ nsresult nsGStreamerReader::Init(nsBuiltinDecoderReader* aCloneDonor)
+ gst_object_unref(sinkpad);
+
+ mAudioSink = gst_parse_bin_from_description("capsfilter name=filter ! "
++#ifndef MOZ_TREMOR
+ "appsink name=audiosink sync=true caps=audio/x-raw-float,"
+ "channels={1,2},rate=44100,width=32,endianness=1234", TRUE, NULL);
++#else
++ "appsink name=audiosink sync=true caps=audio/x-raw-int,"
++ "channels={1,2},rate=48000,width=16,endianness=1234", TRUE, NULL);
++#endif
+ mAudioAppSink = GST_APP_SINK(gst_bin_get_by_name(GST_BIN(mAudioSink),
+ "audiosink"));
+ gst_app_sink_set_callbacks(mAudioAppSink, &mSinkCallbacks,
Added: branches/experimental/mail/thunderbird/files/patch-bug777696
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ branches/experimental/mail/thunderbird/files/patch-bug777696 Thu Aug 30 04:06:17 2012 (r965)
@@ -0,0 +1,32 @@
+commit 0c0d1a8
+Author: Landry Breuil <landry at openbsd.org>
+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 mozilla/content/media/gstreamer/nsGStreamerReader.cpp mozilla/content/media/gstreamer/nsGStreamerReader.cpp
+index 0fb801a..4a69196 100644
+--- mozilla/content/media/gstreamer/nsGStreamerReader.cpp
++++ mozilla/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"));
Added: branches/experimental/www/firefox/files/patch-bug723860
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ branches/experimental/www/firefox/files/patch-bug723860 Thu Aug 30 04:06:17 2012 (r965)
@@ -0,0 +1,54 @@
+commit 4e07587
+Author: Matthew Gregan <kinetik at flim.org>
+Date: Wed Jun 6 17:58:07 2012 +1200
+
+ Bug 723860 - Early bail from reader's GetBuffered() if not yet initialized. r=doublec
+---
+ content/media/gstreamer/nsGStreamerReader.cpp | 4 ++++
+ content/media/ogg/nsOggReader.cpp | 3 +--
+ content/media/wave/nsWaveReader.cpp | 3 +++
+ 3 files changed, 8 insertions(+), 2 deletions(-)
+
+diff --git content/media/gstreamer/nsGStreamerReader.cpp content/media/gstreamer/nsGStreamerReader.cpp
+index 164fb2e..06a09b5 100644
+--- content/media/gstreamer/nsGStreamerReader.cpp
++++ content/media/gstreamer/nsGStreamerReader.cpp
+@@ -505,6 +505,10 @@ nsresult nsGStreamerReader::Seek(PRInt64 aTarget,
+ nsresult nsGStreamerReader::GetBuffered(nsTimeRanges* aBuffered,
+ PRInt64 aStartTime)
+ {
++ if (!mInfo.mHasVideo && !mInfo.mHasAudio) {
++ return NS_OK;
++ }
++
+ GstFormat format = GST_FORMAT_TIME;
+ MediaResource* resource = mDecoder->GetResource();
+ gint64 resourceLength = resource->GetLength();
+diff --git content/media/ogg/nsOggReader.cpp content/media/ogg/nsOggReader.cpp
+index c6ff008..8d40e2c 100644
+--- content/media/ogg/nsOggReader.cpp
++++ content/media/ogg/nsOggReader.cpp
+@@ -1532,8 +1532,7 @@ nsresult nsOggReader::GetBuffered(nsTimeRanges* aBuffered, PRInt64 aStartTime)
+ {
+ // HasAudio and HasVideo are not used here as they take a lock and cause
+ // a deadlock. Accessing mInfo doesn't require a lock - it doesn't change
+- // after metadata is read and GetBuffered isn't called before metadata is
+- // read.
++ // after metadata is read.
+ if (!mInfo.mHasVideo && !mInfo.mHasAudio) {
+ // No need to search through the file if there are no audio or video tracks
+ return NS_OK;
+diff --git content/media/wave/nsWaveReader.cpp content/media/wave/nsWaveReader.cpp
+index 7242eb5..60fc1e1 100644
+--- content/media/wave/nsWaveReader.cpp
++++ content/media/wave/nsWaveReader.cpp
+@@ -239,6 +239,9 @@ static double RoundToUsecs(double aSeconds) {
+
+ nsresult nsWaveReader::GetBuffered(nsTimeRanges* aBuffered, PRInt64 aStartTime)
+ {
++ if (!mInfo.mHasAudio) {
++ return NS_OK;
++ }
+ PRInt64 startOffset = mDecoder->GetResource()->GetNextCachedData(mWavePCMOffset);
+ while (startOffset >= 0) {
+ PRInt64 endOffset = mDecoder->GetResource()->GetCachedDataEnd(startOffset);
Added: branches/experimental/www/firefox/files/patch-bug761030
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ branches/experimental/www/firefox/files/patch-bug761030 Thu Aug 30 04:06:17 2012 (r965)
@@ -0,0 +1,25 @@
+commit 8bc9e15
+Author: Stephen Moehle <stephen.moehle at gmail.com>
+Date: Tue Jun 5 11:31:13 2012 +1200
+
+ Bug 761030 - Fix crash with HTML 5 video with GStreamer enabled - r=kinetik
+
+ --HG--
+ extra : rebase_source : 5e884550f9870bd2fda247d50bebd472e8368588
+---
+ content/media/gstreamer/nsGStreamerReader.cpp | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git content/media/gstreamer/nsGStreamerReader.cpp content/media/gstreamer/nsGStreamerReader.cpp
+index 17374a3..6a50e09 100644
+--- content/media/gstreamer/nsGStreamerReader.cpp
++++ content/media/gstreamer/nsGStreamerReader.cpp
+@@ -452,6 +452,8 @@ bool nsGStreamerReader::DecodeVideoFrame(bool &aKeyFrameSkip,
+ i, height);
+ b.mPlanes[i].mWidth = gst_video_format_get_component_width(format,
+ i, width);
++ b.mPlanes[i].mOffset = 0;
++ b.mPlanes[i].mSkip = 0;
+ }
+
+ bool isKeyframe = !GST_BUFFER_FLAG_IS_SET(buffer,
Added: branches/experimental/www/firefox/files/patch-bug775257
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ branches/experimental/www/firefox/files/patch-bug775257 Thu Aug 30 04:06:17 2012 (r965)
@@ -0,0 +1,27 @@
+commit 8fc8b74
+Author: Oleg Romashin <oleg.romashin at nokia.com>
+Date: Wed Jul 18 22:46:11 2012 -0400
+
+ Bug 775257 - Gstreamer backend on Meego N9 produce extra noise in audio playback.r=giles
+---
+ content/media/gstreamer/nsGStreamerReader.cpp | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git content/media/gstreamer/nsGStreamerReader.cpp content/media/gstreamer/nsGStreamerReader.cpp
+index c48f92e..0fb801a 100644
+--- content/media/gstreamer/nsGStreamerReader.cpp
++++ content/media/gstreamer/nsGStreamerReader.cpp
+@@ -130,8 +130,13 @@ nsresult nsGStreamerReader::Init(nsBuiltinDecoderReader* aCloneDonor)
+ gst_object_unref(sinkpad);
+
+ mAudioSink = gst_parse_bin_from_description("capsfilter name=filter ! "
++#ifndef MOZ_TREMOR
+ "appsink name=audiosink sync=true caps=audio/x-raw-float,"
+ "channels={1,2},rate=44100,width=32,endianness=1234", TRUE, NULL);
++#else
++ "appsink name=audiosink sync=true caps=audio/x-raw-int,"
++ "channels={1,2},rate=48000,width=16,endianness=1234", TRUE, NULL);
++#endif
+ mAudioAppSink = GST_APP_SINK(gst_bin_get_by_name(GST_BIN(mAudioSink),
+ "audiosink"));
+ gst_app_sink_set_callbacks(mAudioAppSink, &mSinkCallbacks,
Added: branches/experimental/www/firefox/files/patch-bug777696
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ branches/experimental/www/firefox/files/patch-bug777696 Thu Aug 30 04:06:17 2012 (r965)
@@ -0,0 +1,32 @@
+commit 0c0d1a8
+Author: Landry Breuil <landry at openbsd.org>
+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"));
Added: branches/experimental/www/seamonkey/files/patch-bug723860
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ branches/experimental/www/seamonkey/files/patch-bug723860 Thu Aug 30 04:06:17 2012 (r965)
@@ -0,0 +1,54 @@
+commit 4e07587
+Author: Matthew Gregan <kinetik at flim.org>
+Date: Wed Jun 6 17:58:07 2012 +1200
+
+ Bug 723860 - Early bail from reader's GetBuffered() if not yet initialized. r=doublec
+---
+ content/media/gstreamer/nsGStreamerReader.cpp | 4 ++++
+ content/media/ogg/nsOggReader.cpp | 3 +--
+ content/media/wave/nsWaveReader.cpp | 3 +++
+ 3 files changed, 8 insertions(+), 2 deletions(-)
+
+diff --git mozilla/content/media/gstreamer/nsGStreamerReader.cpp mozilla/content/media/gstreamer/nsGStreamerReader.cpp
+index 164fb2e..06a09b5 100644
+--- mozilla/content/media/gstreamer/nsGStreamerReader.cpp
++++ mozilla/content/media/gstreamer/nsGStreamerReader.cpp
+@@ -505,6 +505,10 @@ nsresult nsGStreamerReader::Seek(PRInt64 aTarget,
+ nsresult nsGStreamerReader::GetBuffered(nsTimeRanges* aBuffered,
+ PRInt64 aStartTime)
+ {
++ if (!mInfo.mHasVideo && !mInfo.mHasAudio) {
++ return NS_OK;
++ }
++
+ GstFormat format = GST_FORMAT_TIME;
+ MediaResource* resource = mDecoder->GetResource();
+ gint64 resourceLength = resource->GetLength();
+diff --git mozilla/content/media/ogg/nsOggReader.cpp mozilla/content/media/ogg/nsOggReader.cpp
+index c6ff008..8d40e2c 100644
+--- mozilla/content/media/ogg/nsOggReader.cpp
++++ mozilla/content/media/ogg/nsOggReader.cpp
+@@ -1532,8 +1532,7 @@ nsresult nsOggReader::GetBuffered(nsTimeRanges* aBuffered, PRInt64 aStartTime)
+ {
+ // HasAudio and HasVideo are not used here as they take a lock and cause
+ // a deadlock. Accessing mInfo doesn't require a lock - it doesn't change
+- // after metadata is read and GetBuffered isn't called before metadata is
+- // read.
++ // after metadata is read.
+ if (!mInfo.mHasVideo && !mInfo.mHasAudio) {
+ // No need to search through the file if there are no audio or video tracks
+ return NS_OK;
+diff --git mozilla/content/media/wave/nsWaveReader.cpp mozilla/content/media/wave/nsWaveReader.cpp
+index 7242eb5..60fc1e1 100644
+--- mozilla/content/media/wave/nsWaveReader.cpp
++++ mozilla/content/media/wave/nsWaveReader.cpp
+@@ -239,6 +239,9 @@ static double RoundToUsecs(double aSeconds) {
+
+ nsresult nsWaveReader::GetBuffered(nsTimeRanges* aBuffered, PRInt64 aStartTime)
+ {
++ if (!mInfo.mHasAudio) {
++ return NS_OK;
++ }
+ PRInt64 startOffset = mDecoder->GetResource()->GetNextCachedData(mWavePCMOffset);
+ while (startOffset >= 0) {
+ PRInt64 endOffset = mDecoder->GetResource()->GetCachedDataEnd(startOffset);
Added: branches/experimental/www/seamonkey/files/patch-bug761030
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ branches/experimental/www/seamonkey/files/patch-bug761030 Thu Aug 30 04:06:17 2012 (r965)
@@ -0,0 +1,25 @@
+commit 8bc9e15
+Author: Stephen Moehle <stephen.moehle at gmail.com>
+Date: Tue Jun 5 11:31:13 2012 +1200
+
+ Bug 761030 - Fix crash with HTML 5 video with GStreamer enabled - r=kinetik
+
+ --HG--
+ extra : rebase_source : 5e884550f9870bd2fda247d50bebd472e8368588
+---
+ content/media/gstreamer/nsGStreamerReader.cpp | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git mozilla/content/media/gstreamer/nsGStreamerReader.cpp mozilla/content/media/gstreamer/nsGStreamerReader.cpp
+index 17374a3..6a50e09 100644
+--- mozilla/content/media/gstreamer/nsGStreamerReader.cpp
++++ mozilla/content/media/gstreamer/nsGStreamerReader.cpp
+@@ -452,6 +452,8 @@ bool nsGStreamerReader::DecodeVideoFrame(bool &aKeyFrameSkip,
+ i, height);
+ b.mPlanes[i].mWidth = gst_video_format_get_component_width(format,
+ i, width);
++ b.mPlanes[i].mOffset = 0;
++ b.mPlanes[i].mSkip = 0;
+ }
+
+ bool isKeyframe = !GST_BUFFER_FLAG_IS_SET(buffer,
Added: branches/experimental/www/seamonkey/files/patch-bug775257
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ branches/experimental/www/seamonkey/files/patch-bug775257 Thu Aug 30 04:06:17 2012 (r965)
@@ -0,0 +1,27 @@
+commit 8fc8b74
+Author: Oleg Romashin <oleg.romashin at nokia.com>
+Date: Wed Jul 18 22:46:11 2012 -0400
+
+ Bug 775257 - Gstreamer backend on Meego N9 produce extra noise in audio playback.r=giles
+---
+ content/media/gstreamer/nsGStreamerReader.cpp | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git mozilla/content/media/gstreamer/nsGStreamerReader.cpp mozilla/content/media/gstreamer/nsGStreamerReader.cpp
+index c48f92e..0fb801a 100644
+--- mozilla/content/media/gstreamer/nsGStreamerReader.cpp
++++ mozilla/content/media/gstreamer/nsGStreamerReader.cpp
+@@ -130,8 +130,13 @@ nsresult nsGStreamerReader::Init(nsBuiltinDecoderReader* aCloneDonor)
+ gst_object_unref(sinkpad);
+
+ mAudioSink = gst_parse_bin_from_description("capsfilter name=filter ! "
++#ifndef MOZ_TREMOR
+ "appsink name=audiosink sync=true caps=audio/x-raw-float,"
+ "channels={1,2},rate=44100,width=32,endianness=1234", TRUE, NULL);
++#else
++ "appsink name=audiosink sync=true caps=audio/x-raw-int,"
++ "channels={1,2},rate=48000,width=16,endianness=1234", TRUE, NULL);
++#endif
+ mAudioAppSink = GST_APP_SINK(gst_bin_get_by_name(GST_BIN(mAudioSink),
+ "audiosink"));
+ gst_app_sink_set_callbacks(mAudioAppSink, &mSinkCallbacks,
Added: branches/experimental/www/seamonkey/files/patch-bug777696
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ branches/experimental/www/seamonkey/files/patch-bug777696 Thu Aug 30 04:06:17 2012 (r965)
@@ -0,0 +1,32 @@
+commit 0c0d1a8
+Author: Landry Breuil <landry at openbsd.org>
+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 mozilla/content/media/gstreamer/nsGStreamerReader.cpp mozilla/content/media/gstreamer/nsGStreamerReader.cpp
+index 0fb801a..4a69196 100644
+--- mozilla/content/media/gstreamer/nsGStreamerReader.cpp
++++ mozilla/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"));
More information about the freebsd-gecko
mailing list