diff options
author | wm4 <wm4@nowhere> | 2014-08-23 11:39:07 +0200 |
---|---|---|
committer | wm4 <wm4@nowhere> | 2014-08-23 11:39:07 +0200 |
commit | 21f52aeeba2e8462c609006317251417ad9f3db3 (patch) | |
tree | c9f8a2a5258c80475a834ceab5a8c4656c820495 /player/playloop.c | |
parent | b55e09307581e45746f11a2eab2409a389c79012 (diff) | |
download | mpv-21f52aeeba2e8462c609006317251417ad9f3db3.tar.bz2 mpv-21f52aeeba2e8462c609006317251417ad9f3db3.tar.xz |
audio: minor improvements to timeline switching
In theory, timestamps can be negative, so we shouldn't just return -1
as special value.
Remove the separate code for clearing decode buffers; use the same code
that is used for normal seek reset.
Diffstat (limited to 'player/playloop.c')
-rw-r--r-- | player/playloop.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/player/playloop.c b/player/playloop.c index 2e4cfc43ab..4cf8407812 100644 --- a/player/playloop.c +++ b/player/playloop.c @@ -188,13 +188,13 @@ static int mp_seek(MPContext *mpctx, struct seek_params seek, bool need_reset = false; demuxer_amount = timeline_set_from_time(mpctx, seek.amount, &need_reset); - if (demuxer_amount == -1) { + if (demuxer_amount == MP_NOPTS_VALUE) { assert(!need_reset); mpctx->stop_play = AT_END_OF_FILE; - if (mpctx->d_audio && !timeline_fallthrough) { - // Seek outside of the file -> clear audio from current position - clear_audio_decode_buffers(mpctx); + // When seeking outside of the file, but not when ending last segment. + if (!timeline_fallthrough) { clear_audio_output_buffers(mpctx); + reset_playback_state(mpctx); } return -1; } |