media/liboggplay/faster_seek.patch
author Jason Duell <jduell.mcbugs@gmail.com>
Sat, 17 Oct 2009 00:05:27 -0700
changeset 46662 a77022f7680c9486748abe5ddb55cb9af6686cea
parent 33012 314c78cf870089e5134db3459077ab815271f61a
permissions -rw-r--r--
Add run_test_in_child() and do_load_child_test_harness() xpcshell functions (bug 521922). r=bent sr=ted Add necko 'unit_ipc' test directory under e10s, plus simple HTTP test.

diff --git a/media/liboggplay/include/oggplay/oggplay_seek.h b/media/liboggplay/include/oggplay/oggplay_seek.h
--- a/media/liboggplay/include/oggplay/oggplay_seek.h
+++ b/media/liboggplay/include/oggplay/oggplay_seek.h
@@ -53,15 +53,13 @@
 OggPlayErrorCode
 oggplay_seek(OggPlay *me, ogg_int64_t milliseconds);
 
 /**
  * Seeks to key frame before |milliseconds|.
  */
 OggPlayErrorCode
 oggplay_seek_to_keyframe(OggPlay *me,
-                         int* tracks,
-                         int num_tracks,
                          ogg_int64_t milliseconds,
                          ogg_int64_t offset_begin,
                          ogg_int64_t offset_end);
 
 #endif
diff --git a/media/liboggplay/src/liboggplay/oggplay_seek.c b/media/liboggplay/src/liboggplay/oggplay_seek.c
--- a/media/liboggplay/src/liboggplay/oggplay_seek.c
+++ b/media/liboggplay/src/liboggplay/oggplay_seek.c
@@ -186,54 +186,39 @@ oggplay_take_out_trash(OggPlay *me, OggP
 
   if (p != NULL) {
     oggplay_free(p);
   }
 }
 
 OggPlayErrorCode
 oggplay_seek_to_keyframe(OggPlay *me,
-                         int* tracks,
-                         int num_tracks,
                          ogg_int64_t milliseconds,
                          ogg_int64_t offset_begin,
                          ogg_int64_t offset_end)
 {
-  long *serial_nos;
-  int i;
   ogg_int64_t eof, time;
 
   if (me == NULL) {
     return E_OGGPLAY_BAD_OGGPLAY;
   }
 
-  if (num_tracks > me->num_tracks || milliseconds < 0)
+  if (milliseconds < 0)
     return E_OGGPLAY_CANT_SEEK;
   
   eof = oggplay_get_duration(me);
   if (eof > -1 && milliseconds > eof) {
     return E_OGGPLAY_CANT_SEEK;
   }
 
-  // Get the serialnos for the tracks we're seeking.
-  serial_nos = (long*)oggplay_malloc(sizeof(long)*num_tracks);
-  if (!serial_nos) {
-    return E_OGGPLAY_CANT_SEEK;
-  }
-  for (i=0; i<num_tracks; i++) {
-    serial_nos[i] = me->decode_data[tracks[i]]->serialno;
-  }
 
   time = oggz_keyframe_seek_set(me->oggz,
-                                serial_nos,
-                                num_tracks,
                                 milliseconds,
                                 offset_begin,
                                 offset_end);
-  oggplay_free(serial_nos);
 
   if (time == -1) {
     return E_OGGPLAY_CANT_SEEK;
   }
 
   oggplay_seek_cleanup(me, time);
 
   return E_OGGPLAY_OK;