-
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