Changeset b5d7934fc8bb26f7f92ddfcea76485e34bc953e2

Show
Ignore:
Timestamp:
02/03/07 20:42:22 (2 years ago)
Author:
Laurent Aimar <fenrir@videolan.org>
git-committer:
Laurent Aimar <fenrir@videolan.org> 1172864542 +0000
git-parent:

[8cfee3e8e59b756703de3a7b4833b5300523baf3]

git-author:
Laurent Aimar <fenrir@videolan.org> 1172864542 +0000
Message:

On pause and rate change from normal rate, call input_EsOutDiscontinuity
as soon as possible to allow decoders to flush (well that part need to
be implemented ;)

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • src/input/input.c

    re87abf6 rb5d7934  
    15501550                /* Reset clock */ 
    15511551                es_out_Control( p_input->p->p_es_out, ES_OUT_RESET_PCR ); 
    1552                 input_EsOutDiscontinuity( p_input->p->p_es_out, VLC_FALSE ); 
    15531552            } 
    15541553            else if( val.i_int == PAUSE_S && p_input->i_state == PLAYING_S && 
     
    15781577                p_input->i_state = val.i_int; 
    15791578                var_Change( p_input, "state", VLC_VAR_SETVALUE, &val, NULL ); 
     1579 
     1580                /* Send discontinuity to decoders (it will allow them to flush 
     1581                 * if implemented */ 
     1582                input_EsOutDiscontinuity( p_input->p->p_es_out, VLC_FALSE ); 
    15801583            } 
    15811584            else if( val.i_int == PAUSE_S && !p_input->p->b_can_pause ) 
     
    16251628            if( i_rate != p_input->p->i_rate ) 
    16261629            { 
    1627                 p_input->p->i_rate  = i_rate; 
    16281630                val.i_int = i_rate; 
    16291631                var_Change( p_input, "rate", VLC_VAR_SETVALUE, &val, NULL ); 
    16301632 
    1631                 /* We haven't send data to decoder when rate != default */ 
    1632                 if( i_rate == INPUT_RATE_DEFAULT ) 
     1633                /* We will not send audio data if new rate != default */ 
     1634                if( i_rate != INPUT_RATE_DEFAULT && p_input->p->i_rate == INPUT_RATE_DEFAULT ) 
    16331635                    input_EsOutDiscontinuity( p_input->p->p_es_out, VLC_TRUE ); 
     1636 
     1637                p_input->p->i_rate  = i_rate; 
    16341638 
    16351639                /* Reset clock */ 
  • src/input/input_internal.h

    re87abf6 rb5d7934  
    246246void stream_AccessUpdate( stream_t *s ); 
    247247 
    248 /* decoder.c FIXME make it public ?*/ 
     248/* decoder.c */ 
    249249void       input_DecoderDiscontinuity( decoder_t * p_dec ); 
    250250vlc_bool_t input_DecoderEmpty( decoder_t * p_dec );