vlc | branch: master | Francois Cartegnie <fcvlc...@free.fr> | Fri Dec 1 17:59:09 2017 +0100| [f64f1ed0ba706e3793981f51bf8668474c6f5d16] | committer: Francois Cartegnie
demux: dirac: fix discontinuity flag > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=f64f1ed0ba706e3793981f51bf8668474c6f5d16 --- modules/demux/dirac.c | 19 ++++++++----------- modules/packetizer/dirac.c | 2 -- 2 files changed, 8 insertions(+), 13 deletions(-) diff --git a/modules/demux/dirac.c b/modules/demux/dirac.c index c6eb7180ce..e8e7b67b60 100644 --- a/modules/demux/dirac.c +++ b/modules/demux/dirac.c @@ -158,23 +158,20 @@ static int Demux( demux_t *p_demux) bool b_eof = false; - if( p_sys->i_state == DIRAC_DEMUX_DISCONT ) + p_block_in = vlc_stream_Block( p_demux->s, DIRAC_PACKET_SIZE ); + if( !p_block_in ) { - p_sys->i_state++; - p_block_in = block_Alloc( 128 ); - if( p_block_in ) - { - p_block_in->i_flags = BLOCK_FLAG_DISCONTINUITY | BLOCK_FLAG_CORRUPTED; - } + b_eof = true; } else { - p_block_in = vlc_stream_Block( p_demux->s, DIRAC_PACKET_SIZE ); - if( !p_block_in ) + if( p_sys->i_state == DIRAC_DEMUX_DISCONT ) { - b_eof = true; + p_sys->i_state++; + p_block_in->i_flags = BLOCK_FLAG_DISCONTINUITY | BLOCK_FLAG_CORRUPTED; } - else if ( p_sys->i_state == DIRAC_DEMUX_FIRST) + + if ( p_sys->i_state == DIRAC_DEMUX_FIRST ) { p_sys->i_state++; /* by default, timestamps are invalid. diff --git a/modules/packetizer/dirac.c b/modules/packetizer/dirac.c index fc4a0ded8e..be897c8374 100644 --- a/modules/packetizer/dirac.c +++ b/modules/packetizer/dirac.c @@ -1245,8 +1245,6 @@ static block_t *Packetize( decoder_t *p_dec, block_t **pp_block ) if( p_block->i_flags & BLOCK_FLAG_DISCONTINUITY ) { - block_Release( p_block ); - p_block = NULL; Flush( p_dec ); } else if( p_block->i_flags & BLOCK_FLAG_CORRUPTED ) _______________________________________________ vlc-commits mailing list vlc-commits@videolan.org https://mailman.videolan.org/listinfo/vlc-commits