summaryrefslogtreecommitdiffstats
path: root/Makefile
diff options
context:
space:
mode:
authorUoti Urpala <uau@mplayer2.org>2012-03-16 08:04:24 +0200
committerUoti Urpala <uau@mplayer2.org>2012-03-20 14:51:32 +0200
commitfd50478659e56db84e8564434702cdc8291ac854 (patch)
treecf4a3fc55aebb69bb9d59df1eb7154b80368b71d /Makefile
parentec58e5a3848f82681839eaa15d2c6912d92e74ed (diff)
downloadmpv-fd50478659e56db84e8564434702cdc8291ac854.tar.bz2
mpv-fd50478659e56db84e8564434702cdc8291ac854.tar.xz
core: improve sub and audio start after timeline part switch
When switching to a timeline part from another file, decoders were reinitialized after doing the demuxer-level seek. This is necessary for audio because some decoders read from the demuxer stream during initialization and the previous stream position before seek could have been at EOF. However, this initialization sequence could lose first subtitles or first part of audio. The problem for subtitles was that the seek itself or audio initialization could already have buffered subtitle packets from the new position, and the way subtitles are reinitialized flushes packet buffers. Thus early subtitles could be lost (even if they were demuxed - unfortunately demuxers may not know about still active subtitles earlier in the file, but that's another issue). Fix this by moving subtitle and video reinitialization before the demuxer seek; they don't have the problems which prevent that for audio. Audio initialization can already decode and buffer some output. However, the seek_reset() call done last would then throw away this buffered output. Work around this by adding an extra flag to seek_reset().
Diffstat (limited to 'Makefile')
0 files changed, 0 insertions, 0 deletions