vlc | branch: master | Thomas Guillem <[email protected]> | Thu Jul  7 09:52:23 
2016 +0200| [d98d72c18155eb999fc87c6c3d0e57c46afc1efb] | committer: Thomas 
Guillem

decoder: abort packetizer loop in case of error

If a decoder module set an error, pf_decode shouldn't be called again.

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=d98d72c18155eb999fc87c6c3d0e57c46afc1efb
---

 src/input/decoder.c | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/src/input/decoder.c b/src/input/decoder.c
index 43a05da..cbc68e9 100644
--- a/src/input/decoder.c
+++ b/src/input/decoder.c
@@ -1025,6 +1025,11 @@ static void DecoderProcessVideo( decoder_t *p_dec, 
block_t *p_block )
                 p_packetized_block->p_next = NULL;
 
                 DecoderDecodeVideo( p_dec, p_packetized_block );
+                if( p_dec->b_error )
+                {
+                    block_ChainRelease( p_next );
+                    return;
+                }
 
                 p_packetized_block = p_next;
             }
@@ -1200,6 +1205,11 @@ static void DecoderProcessAudio( decoder_t *p_dec, 
block_t *p_block )
                 p_packetized_block->p_next = NULL;
 
                 DecoderDecodeAudio( p_dec, p_packetized_block );
+                if( p_dec->b_error )
+                {
+                    block_ChainRelease( p_next );
+                    return;
+                }
 
                 p_packetized_block = p_next;
             }

_______________________________________________
vlc-commits mailing list
[email protected]
https://mailman.videolan.org/listinfo/vlc-commits

Reply via email to