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 }