1
0
mirror of https://github.com/mpv-player/mpv synced 2024-12-18 12:55:16 +00:00
mpv/player
wm4 261506e36e audio: change playback restart and resyncing
This commit makes audio decoding non-blocking. If e.g. the network is
too slow the playloop will just go to sleep, instead of blocking until
enough data is available.

For video, this was already done with commit 7083f88c. For audio, it's
unfortunately much more complicated, because the audio decoder was used
in a blocking manner. Large changes are required to get around this.
The whole playback restart mechanism must be turned into a statemachine,
especially since it has close interactions with video restart. Lots of
video code is thus also changed.

(For the record, I don't think switching this code to threads would
make this conceptually easier: the code would still have to deal with
external input while blocked, so these in-between states do get visible
[and thus need to be handled] anyway. On the other hand, it certainly
should be possible to modularize this code a bit better.)

This will probably cause a bunch of regressions.
2014-07-28 21:20:37 +02:00
..
lua osc: improve previous commit 2014-07-10 11:22:05 +02:00
timeline demux: make start time a simple field 2014-07-05 17:07:15 +02:00
audio.c audio: change playback restart and resyncing 2014-07-28 21:20:37 +02:00
client.c audio, client API: check mp_make_wakeup_pipe() return value 2014-07-25 14:32:45 +02:00
client.h Add more const 2014-06-11 00:39:14 +02:00
command.c command: fix and simplify overlay_add 2014-07-25 14:32:45 +02:00
command.h command: redo the property type 2014-06-13 02:11:39 +02:00
configfiles.c Revert "Remove DVD and Bluray support" 2014-07-15 01:49:02 +02:00
core.h audio: change playback restart and resyncing 2014-07-28 21:20:37 +02:00
discnav.c demux: add a demuxer thread 2014-07-16 23:25:56 +02:00
loadfile.c audio: change playback restart and resyncing 2014-07-28 21:20:37 +02:00
lua.c build: include <strings.h> for strcasecmp() 2014-07-10 08:29:32 +02:00
main_fn.c build: add option to build a library 2014-02-10 21:25:22 +01:00
main.c Audit and replace all ctype.h uses 2014-07-01 23:11:08 +02:00
misc.c player: remove something DVD specific 2014-07-22 23:49:23 +02:00
osd.c osd: properly handle OSD bar timeout 2014-07-21 19:35:20 +02:00
playloop.c audio: change playback restart and resyncing 2014-07-28 21:20:37 +02:00
screenshot.c player: make the time display relative to start PTS 2014-06-29 20:39:49 +02:00
screenshot.h
scripting.c build: include <strings.h> for strcasecmp() 2014-07-10 08:29:32 +02:00
sub.c sub: offset subtitle timing to video start PTS 2014-07-22 23:48:29 +02:00
video.c audio: change playback restart and resyncing 2014-07-28 21:20:37 +02:00