input core: add status field per elementary stream
VLC has status reporting on the input state, but not on the output state. This makes it impossible to know if playback actually started completely from checking stream status states. For instance a failed audio output cannot be determined programatically. This patch adds an extra field per ES (in src/input/es_out.c) to determine the state of that ES (DISABLE, ENABLED, ERROR). If CreateDecoder() cannot instantiate an output, then it set p_dec->b_error = true. This is used to determine what the return value for es_out_GetEsState() should be. If p_dec->b_error is true, then it returns an ES_OUT_STATE_ES_ERROR to the caller. Else it returns ES_OUT_STATE_ES_ENABLED or ES_OUT_STATE_ES_DISABLED. A function 'es_out_GetEsState()' is available to query an input for the state of the primary audio, video and SPU elementary streams.
Showing with 98 additions and 21 deletions