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

Reply via email to