Changeset aec5639a63df6867032b76e71fe2add85919f992

Show
Ignore:
Timestamp:
07/02/08 23:00:41 (2 months ago)
Author:
Laurent Aimar <fenrir@videolan.org>
git-committer:
Laurent Aimar <fenrir@videolan.org> 1215032441 +0000
git-parent:

[d34e1a85ea38816ca5083082be88b803e5bf580d]

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

Allow to stop decoder even in infinite decoder loop (in case of broken decoder).

Files:

Legend:

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

    r67a55f9 raec5639  
    626626    while( (p_aout_buf = p_dec->pf_decode_audio( p_dec, &p_block )) ) 
    627627    { 
     628        if( p_dec->b_die ) 
     629        { 
     630            /* It prevent freezing VLC in case of broken decoder */ 
     631            if( p_block ) 
     632                block_Release( p_block ); 
     633            break; 
     634        } 
    628635        vlc_mutex_lock( &p_input->p->counters.counters_lock ); 
    629636        stats_UpdateInteger( p_dec, p_input->p->counters.p_decoded_audio, 1, NULL ); 
     
    830837    while( (p_pic = p_dec->pf_decode_video( p_dec, &p_block )) ) 
    831838    { 
     839        if( p_dec->b_die ) 
     840        { 
     841            /* It prevent freezing VLC in case of broken decoder */ 
     842            if( p_block ) 
     843                block_Release( p_block ); 
     844            break; 
     845        } 
     846 
    832847        vlc_mutex_lock( &p_input->p->counters.counters_lock ); 
    833848        stats_UpdateInteger( p_dec, p_input->p->counters.p_decoded_video, 1, NULL );