Mercurial > mplayer.hg
comparison libmpdemux/demuxer.c @ 17636:b849a99cdc3c
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.
author | corey |
---|---|
date | Fri, 17 Feb 2006 01:57:41 +0000 |
parents | 6c541a8421ca |
children | 3fe3b2b3a6ce |
comparison
equal
deleted
inserted
replaced
17635:db13b7295651 | 17636:b849a99cdc3c |
---|---|
857 else | 857 else |
858 return vd; | 858 return vd; |
859 } | 859 } |
860 | 860 |
861 | 861 |
862 int demux_seek(demuxer_t *demuxer,float rel_seek_secs,int flags){ | 862 int demux_seek(demuxer_t *demuxer,float rel_seek_secs,float audio_delay,int flags){ |
863 demux_stream_t *d_audio=demuxer->audio; | 863 demux_stream_t *d_audio=demuxer->audio; |
864 demux_stream_t *d_video=demuxer->video; | 864 demux_stream_t *d_video=demuxer->video; |
865 sh_audio_t *sh_audio=d_audio->sh; | 865 sh_audio_t *sh_audio=d_audio->sh; |
866 sh_video_t *sh_video=d_video->sh; | 866 sh_video_t *sh_video=d_video->sh; |
867 | 867 |
891 if(sh_audio) sh_audio->delay=0; | 891 if(sh_audio) sh_audio->delay=0; |
892 if(sh_video) sh_video->timer=0; // !!!!!! | 892 if(sh_video) sh_video->timer=0; // !!!!!! |
893 #endif | 893 #endif |
894 | 894 |
895 if (demuxer->desc->seek) | 895 if (demuxer->desc->seek) |
896 demuxer->desc->seek(demuxer,rel_seek_secs,flags); | 896 demuxer->desc->seek(demuxer,rel_seek_secs,audio_delay,flags); |
897 | 897 |
898 if (sh_audio) resync_audio_stream(sh_audio); | 898 if (sh_audio) resync_audio_stream(sh_audio); |
899 | 899 |
900 return 1; | 900 return 1; |
901 } | 901 } |