mpv/player
wm4 39b42814e0 player: restore silent seeking
Commit 846257da introduced an accidental feature: if you kept seeking
(so playback never really resumes), the audio would never be played.
This was nice, but commit 4c25b000 accidentally removed it again (due
to the video_next_pts being earlier available than it used to be, so
audio could be played before the player executed the next queued seek).

Implicitly reintroduce the old behavior again by not decoding a second
video frame immediately. Usually, the second frame is used to compute
the frame duration needed to for accurate framedropping, but since the
first frame after a seek is never dropped, we don't need this.

Now the video code will queue the new frame to the VO immediately, and
since fill_audio_out_buffers() is called in the playloop before
write_video() and execute_queued_seek(), it never gets the chance to
enter STATUS_READY, and seeks will be silent.

This also has a nice side-effect: since the second frame is not decoded
and filtered, seeking becomes slightly faster (back to the same level
as with framedrop disabled).

It seems this still sometimes plays a period of audio when keeping a
seek key down. In my tests, this appeared to happen because the seek
finished before the next key repeat was sent.
2014-08-23 12:02:40 +02:00
..
lua osc: Use osd-font for playlist buttons 2014-08-22 23:50:50 +02:00
timeline demux: make start time a simple field 2014-07-05 17:07:15 +02:00
audio.c audio: minor improvements to timeline switching 2014-08-23 11:39:07 +02:00
client.c client API: directly lock playloop 2014-08-14 19:40:43 +02:00
client.h client API: minor optimizations for property notification 2014-08-02 01:53:22 +02:00
command.c video: get rid of video_next_pts field 2014-08-22 14:22:06 +02:00
command.h client API: minor optimizations for property notification 2014-08-02 01:53:22 +02:00
configfiles.c Revert "Remove DVD and Bluray support" 2014-07-15 01:49:02 +02:00
core.h audio: minor improvements to timeline switching 2014-08-23 11:39:07 +02:00
discnav.c video: get rid of video_next_pts field 2014-08-22 14:22:06 +02:00
loadfile.c audio: minor improvements to timeline switching 2014-08-23 11:39:07 +02:00
lua.c lua: wake up the core when setting OSD 2014-08-15 23:32:31 +02:00
main.c terminal: some cleanups 2014-08-21 22:45:58 +02:00
main_fn.c cocoa: fix build by using the correct HAVE_* macro 2014-08-06 09:31:59 +02:00
misc.c player: use virtual time for --audio-file with ordered chapters 2014-08-15 23:32:37 +02:00
osd.c terminal: some cleanups 2014-08-21 22:45:58 +02:00
playloop.c audio: minor improvements to timeline switching 2014-08-23 11:39:07 +02:00
screenshot.c video: move display and timing to a separate thread 2014-08-12 23:24:08 +02:00
screenshot.h
scripting.c build: include <strings.h> for strcasecmp() 2014-07-10 08:29:32 +02:00
sub.c player: use virtual time for --audio-file with ordered chapters 2014-08-15 23:32:37 +02:00
video.c player: restore silent seeking 2014-08-23 12:02:40 +02:00