Bug 493678. Set tracks to inactive initially so active track count doesn't get confused. r=wiking
authorChris Double <chris.double@double.co.nz>
Wed, 20 May 2009 15:54:14 +1200
changeset 28621 c3bf078aded1033b12e624fceb6c01519bcdd69c
parent 28620 2d3e4849df486b7ef9e22958b55de6ad98e23a5f
child 28622 2ed480ad1180238f8ce3af2849d0b42217ea94b5
push id7149
push userrocallahan@mozilla.com
push dateWed, 20 May 2009 05:43:24 +0000
treeherderautoland@057648c9f7e1 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewerswiking
bugs493678
milestone1.9.2a1pre
Bug 493678. Set tracks to inactive initially so active track count doesn't get confused. r=wiking
media/liboggplay/README_MOZILLA
media/liboggplay/bug493678.patch
media/liboggplay/src/liboggplay/oggplay_callback.c
media/liboggplay/update.sh
--- a/media/liboggplay/README_MOZILLA
+++ b/media/liboggplay/README_MOZILLA
@@ -15,16 +15,18 @@ bug481921: fix a crash in oggplay_callba
 
 trac466: Fix for infinite loop in liboggplay when running decoder on its own thread. Cherry picked from liboggplay git commit e6871f.
 
 bug492436: Fix for that bug cherry picked from liboggplay git commit 4b97ad.
 bug493140: Fix for offsets not being used.
 
 aspect-ratio: Adds oggplay_get_video_aspect_ratio, used for bug 480058.
 
+bug493678.patch: fix for infinite loop in oggplay_step_decode. See bug 493678.
+
 bug493224.patch: Fix for bug 493224.
 
 seek_to_key_frame.patch: Adds oggplay_seek_to_keyframe(), as per bug 463358.
 
 bug488951: Fix for YUV conversion for odd sized frames.  Cherrypicked from
            upstream commits dabde8, 683f23, and 4d7581.
 
 bug488951_fix_yuv: Additional fixes to YUV conversion that have not been
new file mode 100644
--- /dev/null
+++ b/media/liboggplay/bug493678.patch
@@ -0,0 +1,13 @@
+diff --git a/media/liboggplay/src/liboggplay/oggplay_callback.c b/media/liboggplay/src/liboggplay/oggplay_callback.c
+index 7683b80..ad127a0 100644
+--- a/media/liboggplay/src/liboggplay/oggplay_callback.c
++++ b/media/liboggplay/src/liboggplay/oggplay_callback.c
+@@ -536,7 +536,7 @@ oggplay_initialise_decoder(OggPlay *me, int content_type, int serialno) {
+   decoder->content_type = content_type;
+   decoder->content_type_name =
+           oggz_stream_get_content_type (me->oggz, serialno);
+-  decoder->active = 1;
++  decoder->active = 0;
+   decoder->final_granulepos = -1;
+   decoder->player = me;
+   decoder->decoded_type = OGGPLAY_TYPE_UNKNOWN;
--- a/media/liboggplay/src/liboggplay/oggplay_callback.c
+++ b/media/liboggplay/src/liboggplay/oggplay_callback.c
@@ -549,17 +549,17 @@ oggplay_initialise_decoder(OggPlay *me, 
 
   if (decoder == NULL)
     return NULL;
 
   decoder->serialno = serialno;
   decoder->content_type = content_type;
   decoder->content_type_name =
           oggz_stream_get_content_type (me->oggz, serialno);
-  decoder->active = 1;
+  decoder->active = 0;
   decoder->final_granulepos = -1;
   decoder->player = me;
   decoder->decoded_type = OGGPLAY_TYPE_UNKNOWN;
 
   /*
    * set the StreamInfo to unitialised until we get some real data in
    */
   decoder->stream_info = OGGPLAY_STREAM_UNINITIALISED;
--- a/media/liboggplay/update.sh
+++ b/media/liboggplay/update.sh
@@ -45,13 +45,14 @@ sed 's/#include <config.h>/#ifdef WIN32\
 rm ./src/liboggplay/oggplay_private.h1
 sed s/\#ifdef\ HAVE_INTTYPES_H/\#if\ HAVE_INTTYPES_H/g $1/src/liboggplay/oggplay_data.c >./src/liboggplay/oggplay_data.c
 patch -p3 < endian.patch
 patch -p3 < trac466.patch
 patch -p3 < bug492436.patch
 patch -p3 < bug493140.patch
 patch -p3 < bug481921.patch
 patch -p3 < aspect_ratio.patch
+patch -p3 < bug493678.patch
 patch -p1 < bug493224.patch
 patch -p3 < seek_to_key_frame.patch
 
 patch -p3 < bug488951.patch
 patch -p3 < bug488951_yuv_fix.patch