Commits on Source (9)
-
To assure the next commit won't break it.
a6ea06ea -
Make it more generic so that any kind of decoders can create any kind of SubEses. Add struct vlc_input_decoder_subdec_desc to internal headers, a struct containing a list of es_format_t that will be used by the es_out to create an ES per format.
dd750a2b -
It is also set when creating a CC decoder from vlc_input_decoder_SetCcState(), but this function will be reworked in a next commit.
ece69ea3 -
The clock is already set from the vlc_input_decoder_cfg
a5410cbd -
This is nothing to flush since the dec module is not loaded.
cdd20820 -
No functional changes, this will avoid a major diff in a upcoming commit.
b711cd1b -
No functional changes, pave the way for the next commit.
57ef25d0 -
Remove all CC related code in es_out.c. CC ESes are now treated as general Sub ESes with one major difference: it reference a master ES and create a decoder via the new function `vlc_input_decoder_CreateSubDec()`. Therefore, only the creation of the Sub Es differs from the main ES. The code deleting all sub decoders from vlc_input_decoder_Delete() has been removed since the es_out is already taking care of removing all SubESes related to one main ES. To enforce it, the main decoder will now assert that all sub decoders are removed on deletion. All vlc_input_decoder_ functions are now called, regardless of the ES type (main or sub), so this fix the following issues: - CC decoders are now drained - CC decoders use their own clocks - CC decoders get the correct delay/rate/pause_state vlc_input_decoder_StartWait(), vlc_input_decoder_StopWait() and vlc_input_decoder_Wait() need a special check since sub decoders pacing depends on their master decoder.
4b91ca7e -
Seperate CC related variables with subdecs related ones.
a6a3860b
Showing
- src/input/decoder.c 163 additions, 141 deletionssrc/input/decoder.c
- src/input/decoder.h 16 additions, 11 deletionssrc/input/decoder.h
- src/input/es_out.c 113 additions, 179 deletionssrc/input/es_out.c
- test/src/input/decoder/input_decoder_scenarios.c 39 additions, 0 deletionstest/src/input/decoder/input_decoder_scenarios.c