summaryrefslogtreecommitdiffstats
path: root/demux/demux.c
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2020-02-28 00:08:36 +0100
committerwm4 <wm4@nowhere>2020-02-28 00:08:36 +0100
commit2b628d4352de09c5ec4663d2dfeebd4e11065f74 (patch)
treed677734fed56be087c1bf4026dc6e51c0cc0cc5c /demux/demux.c
parent1e57f457b040fada62daeb67b96098c9e881bb59 (diff)
downloadmpv-2b628d4352de09c5ec4663d2dfeebd4e11065f74.tar.bz2
mpv-2b628d4352de09c5ec4663d2dfeebd4e11065f74.tar.xz
demux_timeline: fix bad EOF reporting
Exposed by commit b56e2efd5f3d. demux_timeline reported a bogus EOF if "parallel" streams were used. If a virtual source reported EOF, it was propagated as global EOF, without serving packets of other virtual sources that have not ended yet. Fix this by not reporting global EOF just because a source has not returned a packet. Instead make the reader retry by returning no packet and no EOF state, which will call d_read_packet() again with a different source. Rely on the eof_reached flags to signal global EOF. Since eof_reached is now more important, set it in a certain other case when it apparently should have been set. do_read_next_packet()'s return value is now ignored, so get rid of it.
Diffstat (limited to 'demux/demux.c')
0 files changed, 0 insertions, 0 deletions