Changeset 481e0b5b20aacd8fdedd3dc19693a5323661c948

Show
Ignore:
Timestamp:
14/10/07 14:14:03 (1 year ago)
Author:
Laurent Aimar <fenrir@videolan.org>
git-committer:
Laurent Aimar <fenrir@videolan.org> 1192364043 +0000
git-parent:

[a73c1e418459e18f3ced45286c2439a4dc0ae669]

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

Fixed segfault with --minimize-threads

Files:

Legend:

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

    r02a2154 r481e0b5  
    342342    p_dec->pf_packetize = 0; 
    343343 
    344    /* Initialize the decoder fifo */ 
     344    /* Initialize the decoder fifo */ 
    345345    p_dec->p_module = NULL; 
    346346 
     
    680680    else if( p_dec->fmt_in.i_cat == AUDIO_ES ) 
    681681    { 
    682         DecoderUpdatePreroll( &p_dec->p_owner->i_preroll_end, p_block ); 
     682        if( p_block ) 
     683            DecoderUpdatePreroll( &p_dec->p_owner->i_preroll_end, p_block ); 
    683684 
    684685        if( p_dec->p_owner->p_packetizer ) 
     
    688689 
    689690            while( (p_packetized_block = 
    690                     p_packetizer->pf_packetize( p_packetizer, &p_block )) ) 
     691                    p_packetizer->pf_packetize( p_packetizer, p_block ? &p_block : NULL )) ) 
    691692            { 
    692693                if( p_packetizer->fmt_out.i_extra && !p_dec->fmt_in.i_extra ) 
     
    708709            } 
    709710        } 
    710         else 
     711        else if( p_block ) 
    711712        { 
    712713            DecoderDecodeAudio( p_dec, p_block ); 
     
    715716    else if( p_dec->fmt_in.i_cat == VIDEO_ES ) 
    716717    { 
    717         DecoderUpdatePreroll( &p_dec->p_owner->i_preroll_end, p_block ); 
     718        if( p_block ) 
     719            DecoderUpdatePreroll( &p_dec->p_owner->i_preroll_end, p_block ); 
    718720 
    719721        if( p_dec->p_owner->p_packetizer ) 
     
    723725 
    724726            while( (p_packetized_block = 
    725                     p_packetizer->pf_packetize( p_packetizer, &p_block )) ) 
     727                    p_packetizer->pf_packetize( p_packetizer, p_block ? &p_block : NULL )) ) 
    726728            { 
    727729                if( p_packetizer->fmt_out.i_extra && !p_dec->fmt_in.i_extra ) 
     
    743745            } 
    744746        } 
    745         else 
     747        else if( p_block ) 
    746748        { 
    747749            DecoderDecodeVideo( p_dec, p_block ); 
     
    754756        subpicture_t *p_spu; 
    755757 
    756         DecoderUpdatePreroll( &p_dec->p_owner->i_preroll_end, p_block ); 
    757  
    758         while( (p_spu = p_dec->pf_decode_sub( p_dec, &p_block ) ) ) 
     758        if( p_block ) 
     759            DecoderUpdatePreroll( &p_dec->p_owner->i_preroll_end, p_block ); 
     760 
     761        while( (p_spu = p_dec->pf_decode_sub( p_dec, p_block ? &p_block : NULL ) ) ) 
    759762        { 
    760763            vlc_mutex_lock( &p_input->p->counters.counters_lock );