[vlc-commits] decoder: abort packetizer loop in case of error
Thomas Guillem
git at videolan.org
Thu Jul 28 09:04:35 CEST 2016
vlc | branch: master | Thomas Guillem <thomas at gllm.fr> | 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;
}
More information about the vlc-commits
mailing list