diff options
author | corey <corey@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2006-02-17 01:57:41 +0000 |
---|---|---|
committer | corey <corey@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2006-02-17 01:57:41 +0000 |
commit | 1ab575101ab9e2e250d782b4e104fcca1c1c66b0 (patch) | |
tree | 740c93933a4d6c891deccda22ab985c333951981 /mencoder.c | |
parent | 808ce9a03a6d2f810ab3616c33105a08b987f07c (diff) | |
download | mpv-1ab575101ab9e2e250d782b4e104fcca1c1c66b0.tar.bz2 mpv-1ab575101ab9e2e250d782b4e104fcca1c1c66b0.tar.xz |
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.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@17637 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'mencoder.c')
-rw-r--r-- | mencoder.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/mencoder.c b/mencoder.c index 8463dcc11d..d06acc1ebf 100644 --- a/mencoder.c +++ b/mencoder.c @@ -1037,12 +1037,12 @@ if (seek_to_sec) { else sscanf(seek_to_sec, "%f", &d); - demux_seek(demuxer, d, 1); + demux_seek(demuxer, d, audio_delay, 1); // there is 2 way to handle the -ss option in 3-pass mode: // > 1. do the first pass for the whole file, and use -ss for 2nd/3rd pases only // > 2. do all the 3 passes with the same -ss value // this line enables behaviour 1. (and kills 2. at the same time): -// if(demuxer2) demux_seek(demuxer2, d, 1); +// if(demuxer2) demux_seek(demuxer2, d, audio_delay, 1); } if (out_file_format == MUXER_TYPE_MPEG) @@ -1770,7 +1770,7 @@ static int edl_seek(edl_record_ptr next_edl_record, demuxer_t* demuxer, demux_st if (sh_video->pts >= next_edl_record->stop_sec) return 1; // nothing to do... if (!edl_seek_type) { - if(demux_seek(demuxer, next_edl_record->stop_sec - sh_video->pts, 0)){ + if(demux_seek(demuxer, next_edl_record->stop_sec - sh_video->pts, audio_delay, 0)){ sh_video->pts = demuxer->video->pts; //if (vo_vobsub) vobsub_seek(vo_vobsub,sh_video->pts); resync_video_stream(sh_video); |