Commits on Source (15)
-
989e5e54
-
Because it is actually stopping buffering and often used to for that purpose. This will be modified to drain after stopping the buffering in a upcoming commit, since all users also except this behavior.
0841e130 -
To make it more explicit.
38862bee -
Into EsOutDrain() and EsOutIsEmpty() EsOutIsEmpty() must be called while buffering.
6c3ad4d0 -
Check if the es_out is empty without touching the buffering state.
aa0de80c -
Call EsOutDrain(), that is only stopping buffering for now. Therefore, ES_OUT_IS_EMPTY can be called from input.c when EOF.
87df46b1 -
This control is called after EOF, no need to stop buffering.
a962934a -
but return if the call was successful.
1ebb26bb -
Temporary commit that restore the behavior from 0dd8096f. This allows demuxers to check if empty without draining the decoders. This behavior i undefined as this could lead to audio underrun. This is needed to no break bisect while fixing the dvdnav module. This will be reverted just after.
8b2fa700 -
Wait for the es_out to be empty/drained in order to avoid flushing past video/subtitles. This also fixes an undefined behavior (that could lead to no audio) when DemuxForceStill() was called but the PCR was not reset (cf. the other call to DemuxForceStill() not showing in this diff).
48bb67d3 -
SPUs packets might be beyond the final reference frame sectors (vobu_*ref_ea), causing them to be skipped if we drain the es_out immediately after the last I-frame. By preferring vobu_ea when it is nonzero, we ensure SPUs to be properly displayed. cf. fdb3c736
84e86024 -
b67ea0ff
-
97a21197
-
This was a temporary commit, to not break bisect while fixing dvdnav.
4ae4fe9b -
Not needed since decoders are now drained.
863a5b8d
Showing
- include/vlc_es_out.h 6 additions, 4 deletionsinclude/vlc_es_out.h
- modules/access/bluray.c 7 additions, 4 deletionsmodules/access/bluray.c
- modules/access/dvdnav.c 25 additions, 16 deletionsmodules/access/dvdnav.c
- modules/demux/adaptive/Streams.cpp 0 additions, 5 deletionsmodules/demux/adaptive/Streams.cpp
- modules/demux/adaptive/Streams.hpp 0 additions, 1 deletionmodules/demux/adaptive/Streams.hpp
- modules/demux/adaptive/plumbing/FakeESOut.cpp 0 additions, 7 deletionsmodules/demux/adaptive/plumbing/FakeESOut.cpp
- modules/demux/adaptive/plumbing/FakeESOut.hpp 0 additions, 1 deletionmodules/demux/adaptive/plumbing/FakeESOut.hpp
- modules/demux/mp4/heif.c 4 additions, 2 deletionsmodules/demux/mp4/heif.c
- modules/stream_out/chromecast/chromecast_demux.cpp 4 additions, 2 deletionsmodules/stream_out/chromecast/chromecast_demux.cpp
- src/input/es_out.c 40 additions, 15 deletionssrc/input/es_out.c
- src/input/es_out.h 2 additions, 2 deletionssrc/input/es_out.h
- src/input/es_out_timeshift.c 10 additions, 7 deletionssrc/input/es_out_timeshift.c
- src/input/input.c 1 addition, 1 deletionsrc/input/input.c
- test/src/input/demux-run.c 2 additions, 1 deletiontest/src/input/demux-run.c