[MPlayer-cvslog] CVS: main/libmpdemux demux_aac.c, 1.6, 1.7 demux_asf.c, 1.43, 1.44 demux_audio.c, 1.43, 1.44 demux_avi.c, 1.72, 1.73 demux_avs.c, 1.8, 1.9 demux_demuxers.c, 1.9, 1.10 demux_film.c, 1.16, 1.17 demux_fli.c, 1.13, 1.14 demux_lavf.c, 1.27, 1.28 demux_mf.c, 1.17, 1.18 demux_mov.c, 1.138, 1.139 demux_mpc.c, 1.12, 1.13 demux_mpg.c, 1.71, 1.72 demux_nsv.c, 1.14, 1.15 demux_nuv.c, 1.18, 1.19 demux_ogg.c, 1.87, 1.88 demux_pva.c, 1.9, 1.10 demux_rawaudio.c, 1.15, 1.16 demux_rawdv.c, 1.14, 1.15 demux_rawvideo.c, 1.11, 1.12 demux_real.c, 1.88, 1.89 demux_realaud.c, 1.13, 1.14 demux_ts.c, 1.44, 1.45 demux_ty.c, 1.15, 1.16 demux_vqf.c, 1.8, 1.9 demux_xmms.c, 1.14, 1.15 demux_y4m.c, 1.12, 1.13 demuxer.c, 1.216, 1.217 demuxer.h, 1.90, 1.91

Corey Hickey CVS syncmail at mplayerhq.hu
Fri Feb 17 02:57:44 CET 2006


CVS change done by Corey Hickey CVS

Update of /cvsroot/mplayer/main/libmpdemux
In directory mail:/var2/tmp/cvs-serv1293/libmpdemux

Modified Files:
	demux_aac.c demux_asf.c demux_audio.c demux_avi.c demux_avs.c 
	demux_demuxers.c demux_film.c demux_fli.c demux_lavf.c 
	demux_mf.c demux_mov.c demux_mpc.c demux_mpg.c demux_nsv.c 
	demux_nuv.c demux_ogg.c demux_pva.c demux_rawaudio.c 
	demux_rawdv.c demux_rawvideo.c demux_real.c demux_realaud.c 
	demux_ts.c demux_ty.c demux_vqf.c demux_xmms.c demux_y4m.c 
	demuxer.c demuxer.h 
Log Message:
Second-try commit of this patch.

1. Include audio_delay as an argument to demux_seek.
2. Modify demux_seek_avi to adjust the audio/video stream positions so
   that mplayer/mencoder will instantly be in sync even when -delay is
   specified.

I've quadruple checked this time; hopefully I haven't missed anything.



Index: demux_aac.c
===================================================================
RCS file: /cvsroot/mplayer/main/libmpdemux/demux_aac.c,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- demux_aac.c	30 Oct 2005 09:19:05 -0000	1.6
+++ demux_aac.c	17 Feb 2006 01:57:40 -0000	1.7
@@ -207,7 +207,7 @@
 
 
 //This is an almost verbatim copy of high_res_mp3_seek(), from demux_audio.c
-static void demux_aac_seek(demuxer_t *demuxer, float rel_seek_secs, int flags)
+static void demux_aac_seek(demuxer_t *demuxer, float rel_seek_secs, float audio_delay, int flags)
 {
 	aac_priv_t *priv = (aac_priv_t *) demuxer->priv;
 	demux_stream_t *d_audio=demuxer->audio;

Index: demux_asf.c
===================================================================
RCS file: /cvsroot/mplayer/main/libmpdemux/demux_asf.c,v
retrieving revision 1.43
retrieving revision 1.44
diff -u -r1.43 -r1.44
--- demux_asf.c	12 Feb 2006 09:58:27 -0000	1.43
+++ demux_asf.c	17 Feb 2006 01:57:40 -0000	1.44
@@ -369,7 +369,7 @@
 
 extern void skip_audio_frame(sh_audio_t *sh_audio);
 
-static void demux_seek_asf(demuxer_t *demuxer,float rel_seek_secs,int flags){
+static void demux_seek_asf(demuxer_t *demuxer,float rel_seek_secs,float audio_delay,int flags){
     demux_stream_t *d_audio=demuxer->audio;
     demux_stream_t *d_video=demuxer->video;
     sh_audio_t *sh_audio=d_audio->sh;

Index: demux_audio.c
===================================================================
RCS file: /cvsroot/mplayer/main/libmpdemux/demux_audio.c,v
retrieving revision 1.43
retrieving revision 1.44
diff -u -r1.43 -r1.44
--- demux_audio.c	7 Feb 2006 22:12:34 -0000	1.43
+++ demux_audio.c	17 Feb 2006 01:57:40 -0000	1.44
@@ -476,7 +476,7 @@
   }
 }
 
-static void demux_audio_seek(demuxer_t *demuxer,float rel_seek_secs,int flags){
+static void demux_audio_seek(demuxer_t *demuxer,float rel_seek_secs,float audio_delay,int flags){
   sh_audio_t* sh_audio;
   stream_t* s;
   int base,pos;

Index: demux_avi.c
===================================================================
RCS file: /cvsroot/mplayer/main/libmpdemux/demux_avi.c,v
retrieving revision 1.72
retrieving revision 1.73
diff -u -r1.72 -r1.73
--- demux_avi.c	9 Feb 2006 19:39:51 -0000	1.72
+++ demux_avi.c	17 Feb 2006 01:57:40 -0000	1.73
@@ -618,7 +618,7 @@
 
 //extern float initial_pts_delay;
 
-void demux_seek_avi(demuxer_t *demuxer,float rel_seek_secs,int flags){
+void demux_seek_avi(demuxer_t *demuxer,float rel_seek_secs,float audio_delay,int flags){
     avi_priv_t *priv=demuxer->priv;
     demux_stream_t *d_audio=demuxer->audio;
     demux_stream_t *d_video=demuxer->video;
@@ -706,8 +706,8 @@
 	    curr_audio_pos/=align;
 	    curr_audio_pos*=align;
 #else
-	    curr_audio_pos=(priv->avi_video_pts)*(float)sh_audio->audio.dwRate/(float)sh_audio->audio.dwScale;
-	    curr_audio_pos-=sh_audio->audio.dwStart;
+	    /* immediate seeking to audio position, including when streams are delayed */
+	    curr_audio_pos=(priv->avi_video_pts + audio_delay)*(float)sh_audio->audio.dwRate/(float)sh_audio->audio.dwScale;
 	    curr_audio_pos*=sh_audio->audio.dwSampleSize;
 #endif
 
@@ -733,7 +733,8 @@
 	      
 	} else {
 	    // VBR audio
-	    int chunks=(priv->avi_video_pts)*(float)sh_audio->audio.dwRate/(float)sh_audio->audio.dwScale;
+	    /* immediate seeking to audio position, including when streams are delayed */
+	    int chunks=(priv->avi_video_pts + audio_delay)*(float)sh_audio->audio.dwRate/(float)sh_audio->audio.dwScale;
 	    audio_chunk_pos=0;
 	    
         // find audio chunk pos:

Index: demux_avs.c
===================================================================
RCS file: /cvsroot/mplayer/main/libmpdemux/demux_avs.c,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- demux_avs.c	9 Feb 2006 19:39:51 -0000	1.8
+++ demux_avs.c	17 Feb 2006 01:57:40 -0000	1.9
@@ -375,7 +375,7 @@
     }
 }
 
-static void demux_seek_avs(demuxer_t *demuxer, float rel_seek_secs,int flags)
+static void demux_seek_avs(demuxer_t *demuxer, float rel_seek_secs, float audio_delay, int flags)
 {
     demux_stream_t *d_video=demuxer->video;
     sh_video_t *sh_video=d_video->sh;

Index: demux_demuxers.c
===================================================================
RCS file: /cvsroot/mplayer/main/libmpdemux/demux_demuxers.c,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -r1.9 -r1.10
--- demux_demuxers.c	9 Feb 2006 19:39:51 -0000	1.9
+++ demux_demuxers.c	17 Feb 2006 01:57:40 -0000	1.10
@@ -57,7 +57,7 @@
   return 0;
 }
 
-static void demux_demuxers_seek(demuxer_t *demuxer,float rel_seek_secs,int flags) {
+static void demux_demuxers_seek(demuxer_t *demuxer,float rel_seek_secs,float audio_delay,int flags) {
   dd_priv_t* priv;
   float pos;
   priv=demuxer->priv;
@@ -66,13 +66,13 @@
   priv->sd->stream->eof = 0;
 
   // Seek video
-  demux_seek(priv->vd,rel_seek_secs,flags);
+  demux_seek(priv->vd,rel_seek_secs,audio_delay,flags);
   // Get the new pos
   pos = demuxer->video->pts;
 
   if(priv->ad != priv->vd) {
     sh_audio_t* sh = (sh_audio_t*)demuxer->audio->sh;
-    demux_seek(priv->ad,pos,1);
+    demux_seek(priv->ad,pos,audio_delay,1);
     // In case the demuxer don't set pts
     if(!demuxer->audio->pts)
       demuxer->audio->pts = pos-((ds_tell_pts(demuxer->audio)-sh->a_in_buffer_len)/(float)sh->i_bps);
@@ -80,7 +80,7 @@
   }
 
   if(priv->sd != priv->vd)
-      demux_seek(priv->sd,pos,1);
+      demux_seek(priv->sd,pos,audio_delay,1);
 
 }
 

Index: demux_film.c
===================================================================
RCS file: /cvsroot/mplayer/main/libmpdemux/demux_film.c,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -r1.16 -r1.17
--- demux_film.c	9 Feb 2006 19:39:51 -0000	1.16
+++ demux_film.c	17 Feb 2006 01:57:40 -0000	1.17
@@ -46,7 +46,7 @@
   unsigned int film_version;
 } film_data_t;
 
-static void demux_seek_film(demuxer_t *demuxer, float rel_seek_secs, int flags)
+static void demux_seek_film(demuxer_t *demuxer, float rel_seek_secs, float audio_delay, int flags)
 {
   film_data_t *film_data = (film_data_t *)demuxer->priv;
   int new_current_chunk=(flags&1)?0:film_data->current_chunk;

Index: demux_fli.c
===================================================================
RCS file: /cvsroot/mplayer/main/libmpdemux/demux_fli.c,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -r1.13 -r1.14
--- demux_fli.c	9 Feb 2006 19:39:51 -0000	1.13
+++ demux_fli.c	17 Feb 2006 01:57:40 -0000	1.14
@@ -22,7 +22,7 @@
   unsigned int *frame_size;
 } fli_frames_t;
 
-static void demux_seek_fli(demuxer_t *demuxer,float rel_seek_secs,int flags){
+static void demux_seek_fli(demuxer_t *demuxer,float rel_seek_secs,float audio_delay,int flags){
   fli_frames_t *frames = (fli_frames_t *)demuxer->priv;
   sh_video_t *sh_video = demuxer->video->sh;
   int newpos=(flags&1)?0:frames->current_frame;

Index: demux_lavf.c
===================================================================
RCS file: /cvsroot/mplayer/main/libmpdemux/demux_lavf.c,v
retrieving revision 1.27
retrieving revision 1.28
diff -u -r1.27 -r1.28
--- demux_lavf.c	9 Feb 2006 19:39:51 -0000	1.27
+++ demux_lavf.c	17 Feb 2006 01:57:40 -0000	1.28
@@ -389,9 +389,9 @@
     return 1;
 }
 
-static void demux_seek_lavf(demuxer_t *demuxer, float rel_seek_secs, int flags){
+static void demux_seek_lavf(demuxer_t *demuxer, float rel_seek_secs, float audio_delay, int flags){
     lavf_priv_t *priv = demuxer->priv;
-    mp_msg(MSGT_DEMUX,MSGL_DBG2,"demux_seek_lavf(%p, %f, %d)\n", demuxer, rel_seek_secs, flags);
+    mp_msg(MSGT_DEMUX,MSGL_DBG2,"demux_seek_lavf(%p, %f, %f, %d)\n", demuxer, rel_seek_secs, audio_delay, flags);
     
 #if LIBAVFORMAT_BUILD < 4619
     av_seek_frame(priv->avfc, -1, priv->last_pts + rel_seek_secs*AV_TIME_BASE);

Index: demux_mf.c
===================================================================
RCS file: /cvsroot/mplayer/main/libmpdemux/demux_mf.c,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -r1.17 -r1.18
--- demux_mf.c	14 Feb 2006 09:34:30 -0000	1.17
+++ demux_mf.c	17 Feb 2006 01:57:40 -0000	1.18
@@ -15,7 +15,7 @@
 #include "stheader.h"
 #include "mf.h"
 
-static void demux_seek_mf(demuxer_t *demuxer,float rel_seek_secs,int flags){
+static void demux_seek_mf(demuxer_t *demuxer,float rel_seek_secs,float audio_delay,int flags){
   mf_t * mf = (mf_t *)demuxer->priv;
   sh_video_t   * sh_video = demuxer->video->sh;
   int newpos = (flags & 1)?0:mf->curr_frame;

Index: demux_mov.c
===================================================================
RCS file: /cvsroot/mplayer/main/libmpdemux/demux_mov.c,v
retrieving revision 1.138
retrieving revision 1.139
diff -u -r1.138 -r1.139
--- demux_mov.c	9 Feb 2006 19:39:51 -0000	1.138
+++ demux_mov.c	17 Feb 2006 01:57:40 -0000	1.139
@@ -2007,7 +2007,7 @@
 return pts;
 }
 
-static void demux_seek_mov(demuxer_t *demuxer,float pts,int flags){
+static void demux_seek_mov(demuxer_t *demuxer,float pts,float audio_delay,int flags){
     mov_priv_t* priv=demuxer->priv;
     demux_stream_t* ds;
     mov_track_t* trak;

Index: demux_mpc.c
===================================================================
RCS file: /cvsroot/mplayer/main/libmpdemux/demux_mpc.c,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -r1.12 -r1.13
--- demux_mpc.c	30 Oct 2005 09:19:05 -0000	1.12
+++ demux_mpc.c	17 Feb 2006 01:57:40 -0000	1.13
@@ -153,7 +153,7 @@
   return 1;
 }
 
-static void demux_mpc_seek(demuxer_t *demuxer,float rel_seek_secs,int flags){
+static void demux_mpc_seek(demuxer_t *demuxer,float rel_seek_secs,float audio_delay,int flags){
   sh_audio_t* sh_audio = demuxer->audio->sh;
   da_priv_t* priv = demuxer->priv;
   stream_t* s = demuxer->stream;

Index: demux_mpg.c
===================================================================
RCS file: /cvsroot/mplayer/main/libmpdemux/demux_mpg.c,v
retrieving revision 1.71
retrieving revision 1.72
diff -u -r1.71 -r1.72
--- demux_mpg.c	9 Feb 2006 19:39:51 -0000	1.71
+++ demux_mpg.c	17 Feb 2006 01:57:40 -0000	1.72
@@ -676,7 +676,7 @@
 
 extern void skip_audio_frame(sh_audio_t *sh_audio);
 
-void demux_seek_mpg(demuxer_t *demuxer,float rel_seek_secs,int flags){
+void demux_seek_mpg(demuxer_t *demuxer,float rel_seek_secs,float audio_delay, int flags){
     demux_stream_t *d_audio=demuxer->audio;
     demux_stream_t *d_video=demuxer->video;
     sh_audio_t *sh_audio=d_audio->sh;

Index: demux_nsv.c
===================================================================
RCS file: /cvsroot/mplayer/main/libmpdemux/demux_nsv.c,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -r1.14 -r1.15
--- demux_nsv.c	9 Feb 2006 19:39:51 -0000	1.14
+++ demux_nsv.c	17 Feb 2006 01:57:40 -0000	1.15
@@ -34,7 +34,7 @@
 /**
  * Seeking still to be implemented
  */
-static void demux_seek_nsv ( demuxer_t *demuxer, float rel_seek_secs, int flags )
+static void demux_seek_nsv ( demuxer_t *demuxer, float rel_seek_secs, float audio_delay, int flags )
 {
 // seeking is not yet implemented
 }

Index: demux_nuv.c
===================================================================
RCS file: /cvsroot/mplayer/main/libmpdemux/demux_nuv.c,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -r1.18 -r1.19
--- demux_nuv.c	9 Feb 2006 19:39:51 -0000	1.18
+++ demux_nuv.c	17 Feb 2006 01:57:40 -0000	1.19
@@ -63,7 +63,7 @@
 /**
  * Seek to a position relative to the current position, indicated in time.
  */
-static void demux_seek_nuv ( demuxer_t *demuxer, float rel_seek_secs, int flags )
+static void demux_seek_nuv ( demuxer_t *demuxer, float rel_seek_secs, float audio_delay, int flags )
 {
 #define MAX_TIME 1000000
 	nuv_priv_t* priv = demuxer->priv;

Index: demux_ogg.c
===================================================================
RCS file: /cvsroot/mplayer/main/libmpdemux/demux_ogg.c,v
retrieving revision 1.87
retrieving revision 1.88
diff -u -r1.87 -r1.88
--- demux_ogg.c	9 Feb 2006 14:07:56 -0000	1.87
+++ demux_ogg.c	17 Feb 2006 01:57:40 -0000	1.88
@@ -1422,7 +1422,7 @@
 
 }
 
-static void demux_ogg_seek(demuxer_t *demuxer,float rel_seek_secs,int flags) {
+static void demux_ogg_seek(demuxer_t *demuxer,float rel_seek_secs,float audio_delay,int flags) {
   ogg_demuxer_t* ogg_d = demuxer->priv;
   ogg_sync_state* sync = &ogg_d->sync;
   ogg_page* page= &ogg_d->page;

Index: demux_pva.c
===================================================================
RCS file: /cvsroot/mplayer/main/libmpdemux/demux_pva.c,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -r1.9 -r1.10
--- demux_pva.c	9 Feb 2006 19:39:51 -0000	1.9
+++ demux_pva.c	17 Feb 2006 01:57:40 -0000	1.10
@@ -466,7 +466,7 @@
 	return 1;
 }
 
-static void demux_seek_pva(demuxer_t * demuxer,float rel_seek_secs,int flags)
+static void demux_seek_pva(demuxer_t * demuxer,float rel_seek_secs,float audio_delay,int flags)
 {
 	int total_bitrate=0;
 	off_t dest_offset;

Index: demux_rawaudio.c
===================================================================
RCS file: /cvsroot/mplayer/main/libmpdemux/demux_rawaudio.c,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -r1.15 -r1.16
--- demux_rawaudio.c	18 Nov 2005 14:39:19 -0000	1.15
+++ demux_rawaudio.c	17 Feb 2006 01:57:40 -0000	1.16
@@ -79,7 +79,7 @@
   return 1;
 }
 
-static void demux_rawaudio_seek(demuxer_t *demuxer,float rel_seek_secs,int flags){
+static void demux_rawaudio_seek(demuxer_t *demuxer,float rel_seek_secs,float audio_delay,int flags){
   stream_t* s = demuxer->stream;
   sh_audio_t* sh_audio = demuxer->audio->sh;
   off_t base,pos;

Index: demux_rawdv.c
===================================================================
RCS file: /cvsroot/mplayer/main/libmpdemux/demux_rawdv.c,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -r1.14 -r1.15
--- demux_rawdv.c	9 Feb 2006 19:39:51 -0000	1.14
+++ demux_rawdv.c	17 Feb 2006 01:57:40 -0000	1.15
@@ -36,7 +36,7 @@
    dv_decoder_t *decoder;
 } rawdv_frames_t;
 
-static void demux_seek_rawdv(demuxer_t *demuxer,float rel_seek_secs,int flags)
+static void demux_seek_rawdv(demuxer_t *demuxer,float rel_seek_secs,float audio_delay,int flags)
 {
    rawdv_frames_t *frames = (rawdv_frames_t *)demuxer->priv;
    sh_video_t *sh_video = demuxer->video->sh;

Index: demux_rawvideo.c
===================================================================
RCS file: /cvsroot/mplayer/main/libmpdemux/demux_rawvideo.c,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -r1.11 -r1.12
--- demux_rawvideo.c	18 Dec 2005 11:57:25 -0000	1.11
+++ demux_rawvideo.c	17 Feb 2006 01:57:40 -0000	1.12
@@ -118,7 +118,7 @@
   return 1;
 }
 
-static void demux_rawvideo_seek(demuxer_t *demuxer,float rel_seek_secs,int flags){
+static void demux_rawvideo_seek(demuxer_t *demuxer,float rel_seek_secs,float audio_delay,int flags){
   stream_t* s = demuxer->stream;
   sh_video_t* sh_video = demuxer->video->sh;
   off_t pos;

Index: demux_real.c
===================================================================
RCS file: /cvsroot/mplayer/main/libmpdemux/demux_real.c,v
retrieving revision 1.88
retrieving revision 1.89
diff -u -r1.88 -r1.89
--- demux_real.c	9 Feb 2006 19:39:51 -0000	1.88
+++ demux_real.c	17 Feb 2006 01:57:41 -0000	1.89
@@ -1825,7 +1825,7 @@
 }
 
 /* please upload RV10 samples WITH INDEX CHUNK */
-static void demux_seek_real(demuxer_t *demuxer, float rel_seek_secs, int flags)
+static void demux_seek_real(demuxer_t *demuxer, float rel_seek_secs, float audio_delay, int flags)
 {
     real_priv_t *priv = demuxer->priv;
     demux_stream_t *d_audio = demuxer->audio;

Index: demux_realaud.c
===================================================================
RCS file: /cvsroot/mplayer/main/libmpdemux/demux_realaud.c,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -r1.13 -r1.14
--- demux_realaud.c	9 Feb 2006 19:39:51 -0000	1.13
+++ demux_realaud.c	17 Feb 2006 01:57:41 -0000	1.14
@@ -341,7 +341,7 @@
 
 #if 0
 /* please upload RV10 samples WITH INDEX CHUNK */
-int demux_seek_ra(demuxer_t *demuxer, float rel_seek_secs, int flags)
+int demux_seek_ra(demuxer_t *demuxer, float rel_seek_secs, float audio_delay, int flags)
 {
     real_priv_t *priv = demuxer->priv;
     demux_stream_t *d_audio = demuxer->audio;

Index: demux_ts.c
===================================================================
RCS file: /cvsroot/mplayer/main/libmpdemux/demux_ts.c,v
retrieving revision 1.44
retrieving revision 1.45
diff -u -r1.44 -r1.45
--- demux_ts.c	9 Feb 2006 19:39:51 -0000	1.44
+++ demux_ts.c	17 Feb 2006 01:57:41 -0000	1.45
@@ -3071,7 +3071,7 @@
 extern int sync_video_packet(demux_stream_t *);
 extern int skip_video_packet(demux_stream_t *);
 
-static void demux_seek_ts(demuxer_t *demuxer, float rel_seek_secs, int flags)
+static void demux_seek_ts(demuxer_t *demuxer, float rel_seek_secs, float audio_delay, int flags)
 {
 	demux_stream_t *d_audio=demuxer->audio;
 	demux_stream_t *d_video=demuxer->video;

Index: demux_ty.c
===================================================================
RCS file: /cvsroot/mplayer/main/libmpdemux/demux_ty.c,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -r1.15 -r1.16
--- demux_ty.c	9 Feb 2006 19:39:51 -0000	1.15
+++ demux_ty.c	17 Feb 2006 01:57:41 -0000	1.16
@@ -1237,7 +1237,7 @@
    return( 1 );
 }
 
-static void demux_seek_ty( demuxer_t *demuxer, float rel_seek_secs, int flags )
+static void demux_seek_ty( demuxer_t *demuxer, float rel_seek_secs, float audio_delay, int flags )
 {
    demux_stream_t *d_audio = demuxer->audio;
    demux_stream_t *d_video = demuxer->video;

Index: demux_vqf.c
===================================================================
RCS file: /cvsroot/mplayer/main/libmpdemux/demux_vqf.c,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- demux_vqf.c	9 Feb 2006 19:39:51 -0000	1.8
+++ demux_vqf.c	17 Feb 2006 01:57:41 -0000	1.9
@@ -179,7 +179,7 @@
   return 1;
 }
 
-static void demux_seek_vqf(demuxer_t *demuxer,float rel_seek_secs,int flags){
+static void demux_seek_vqf(demuxer_t *demuxer,float rel_seek_secs,float audio_delay,int flags){
 #if 0
   stream_t* s = demuxer->stream;
   sh_audio_t* sh_audio = demuxer->audio->sh;

Index: demux_xmms.c
===================================================================
RCS file: /cvsroot/mplayer/main/libmpdemux/demux_xmms.c,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -r1.14 -r1.15
--- demux_xmms.c	18 Nov 2005 14:39:19 -0000	1.14
+++ demux_xmms.c	17 Feb 2006 01:57:41 -0000	1.15
@@ -297,7 +297,7 @@
   return 1;
 }
 
-static void demux_xmms_seek(demuxer_t *demuxer,float rel_seek_secs,int flags){
+static void demux_xmms_seek(demuxer_t *demuxer,float rel_seek_secs,float audio_delay,int flags){
   stream_t* s = demuxer->stream;
   sh_audio_t* sh_audio = demuxer->audio->sh;
   xmms_priv_t *priv=demuxer->priv;

Index: demux_y4m.c
===================================================================
RCS file: /cvsroot/mplayer/main/libmpdemux/demux_y4m.c,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -r1.12 -r1.13
--- demux_y4m.c	9 Feb 2006 19:39:51 -0000	1.12
+++ demux_y4m.c	17 Feb 2006 01:57:41 -0000	1.13
@@ -231,7 +231,7 @@
     return demuxer;
 }
 
-static void demux_seek_y4m(demuxer_t *demuxer, float rel_seek_secs, int flags) {
+static void demux_seek_y4m(demuxer_t *demuxer, float rel_seek_secs, float audio_delay, int flags) {
     sh_video_t* sh = demuxer->video->sh;
     y4m_priv_t* priv = demuxer->priv;
     int rel_seek_frames = sh->fps*rel_seek_secs;

Index: demuxer.c
===================================================================
RCS file: /cvsroot/mplayer/main/libmpdemux/demuxer.c,v
retrieving revision 1.216
retrieving revision 1.217
diff -u -r1.216 -r1.217
--- demuxer.c	9 Feb 2006 19:39:51 -0000	1.216
+++ demuxer.c	17 Feb 2006 01:57:41 -0000	1.217
@@ -859,7 +859,7 @@
 }
 
 
-int demux_seek(demuxer_t *demuxer,float rel_seek_secs,int flags){
+int demux_seek(demuxer_t *demuxer,float rel_seek_secs,float audio_delay,int flags){
     demux_stream_t *d_audio=demuxer->audio;
     demux_stream_t *d_video=demuxer->video;
     sh_audio_t *sh_audio=d_audio->sh;
@@ -893,7 +893,7 @@
 #endif
 
 if (demuxer->desc->seek)
-    demuxer->desc->seek(demuxer,rel_seek_secs,flags);
+    demuxer->desc->seek(demuxer,rel_seek_secs,audio_delay,flags);
 
     if (sh_audio) resync_audio_stream(sh_audio);
 

Index: demuxer.h
===================================================================
RCS file: /cvsroot/mplayer/main/libmpdemux/demuxer.h,v
retrieving revision 1.90
retrieving revision 1.91
diff -u -r1.90 -r1.91
--- demuxer.h	12 Feb 2006 17:01:30 -0000	1.90
+++ demuxer.h	17 Feb 2006 01:57:41 -0000	1.91
@@ -151,7 +151,7 @@
   /// Close the demuxer
   void (*close)(struct demuxer_st *demuxer); ///< Optional
   // Seek
-  void (*seek)(struct demuxer_st *demuxer, float rel_seek_secs, int flags); ///< Optional
+  void (*seek)(struct demuxer_st *demuxer, float rel_seek_secs, float audio_delay, int flags); ///< Optional
   // Control
   int (*control)(struct demuxer_st *demuxer, int cmd, void *arg); ///< Optional
 } demuxer_desc_t;
@@ -306,7 +306,7 @@
 }
 
 demuxer_t* demux_open(stream_t *stream,int file_format,int aid,int vid,int sid,char* filename);
-int demux_seek(demuxer_t *demuxer,float rel_seek_secs,int flags);
+int demux_seek(demuxer_t *demuxer,float rel_seek_secs,float audio_delay,int flags);
 demuxer_t*  new_demuxers_demuxer(demuxer_t* vd, demuxer_t* ad, demuxer_t* sd);
 
 // AVI demuxer params:




More information about the MPlayer-cvslog mailing list