• Jean-Paul Saman's avatar
    input core: add status field per elementary stream · d8199d8c
    Jean-Paul Saman authored
    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.
    d8199d8c
decoder.c 66 KB