summaryrefslogtreecommitdiff
path: root/www/seamonkey/files/patch-bug723860
diff options
context:
space:
mode:
authorFlorian Smeets <flo@FreeBSD.org>2012-08-30 14:54:17 +0000
committerFlorian Smeets <flo@FreeBSD.org>2012-08-30 14:54:17 +0000
commit2f4c3550c50b8b9afa1652eff05e983b4e0d3f51 (patch)
tree2e5e88926978106511a58859840701a45059d65c /www/seamonkey/files/patch-bug723860
parent- Use more clear and consistent description for OGG (diff)
- update firefox and thunderbird to 15.0
- update firefox-esr, thunderbird-esr, linux-thunderbird and linux-firefox to 10.0.7 - update seamonkey and linux-seamonkey to 2.12 - update nss to 3.13.6 - update bsdipc code (posix_spawn, SysV shared memory) - rename patches to easily track those not (yet) submitted upstream - reduce package size, except for www/libxul[1] - restore default objdir to what it was in 13.0 - fix mail/enigmail after thunderbird build changes - don't accidentally pick up headers from installed ports[3] - add support for PREFIX != LOCALBASE to Makefile.webplugins [4] - document vulnerabilities in vuln.xml - *miscellaneous cleanups and fixups* Obtained from: OpenBSD ports[1] PR: ports/159831, ports/160933, ports/170467[3], ports/170236 [4] Submitted by: avilla [4] In collaboration with: Jan Beich <jbeich@tormail.net> Who did most of the hard work.
Notes
Notes: svn path=/head/; revision=303378
Diffstat (limited to 'www/seamonkey/files/patch-bug723860')
-rw-r--r--www/seamonkey/files/patch-bug72386054
1 files changed, 54 insertions, 0 deletions
diff --git a/www/seamonkey/files/patch-bug723860 b/www/seamonkey/files/patch-bug723860
new file mode 100644
index 000000000000..d76dbfe6d20c
--- /dev/null
+++ b/www/seamonkey/files/patch-bug723860
@@ -0,0 +1,54 @@
+commit 4e07587
+Author: Matthew Gregan <kinetik@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);