[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