[vlc-commits] decoder: simplify code
Steve Lhomme
git at videolan.org
Tue Sep 3 10:12:25 CEST 2019
vlc | branch: master | Steve Lhomme <robux4 at ycbcr.xyz> | Tue Aug 27 08:51:00 2019 +0200| [ee13e28863057d60869bc4b91dea31adc3aa171d] | committer: Steve Lhomme
decoder: simplify code
No need for a label to jump to if it's only used at one location.
And reorder DecoderPlayAudio() to match the same logic as the Video one.
> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=ee13e28863057d60869bc4b91dea31adc3aa171d
---
src/input/decoder.c | 44 ++++++++++++++++++++++----------------------
1 file changed, 22 insertions(+), 22 deletions(-)
diff --git a/src/input/decoder.c b/src/input/decoder.c
index b37d8b1c22..ead516f40c 100644
--- a/src/input/decoder.c
+++ b/src/input/decoder.c
@@ -1036,7 +1036,10 @@ static int DecoderPlayVideo( struct decoder_owner *p_owner, picture_t *p_picture
/* */
if( p_vout == NULL )
- goto discard;
+ {
+ picture_Release( p_picture );
+ return VLC_EGENERIC;
+ }
if( p_picture->b_still )
{
@@ -1046,9 +1049,6 @@ static int DecoderPlayVideo( struct decoder_owner *p_owner, picture_t *p_picture
vout_PutPicture( p_vout, p_picture );
return VLC_SUCCESS;
-discard:
- picture_Release( p_picture );
- return VLC_EGENERIC;
}
static void DecoderUpdateStatVideo( struct decoder_owner *p_owner,
@@ -1153,27 +1153,27 @@ static int DecoderPlayAudio( struct decoder_owner *p_owner, block_t *p_audio )
audio_output_t *p_aout = p_owner->p_aout;
- if( p_aout != NULL )
+ if( p_aout == NULL )
{
- int status = aout_DecPlay( p_aout, p_audio );
- if( status == AOUT_DEC_CHANGED )
- {
- /* Only reload the decoder */
- RequestReload( p_owner );
- }
- else if( status == AOUT_DEC_FAILED )
- {
- /* If we reload because the aout failed, we should release it. That
- * way, a next call to aout_update_format() won't re-use the
- * previous (failing) aout but will try to create a new one. */
- atomic_store( &p_owner->reload, RELOAD_DECODER_AOUT );
- }
- return VLC_SUCCESS;
+ msg_Dbg( p_dec, "discarded audio buffer" );
+ block_Release( p_audio );
+ return VLC_EGENERIC;
}
- msg_Dbg( p_dec, "discarded audio buffer" );
- block_Release( p_audio );
- return VLC_EGENERIC;
+ int status = aout_DecPlay( p_aout, p_audio );
+ if( status == AOUT_DEC_CHANGED )
+ {
+ /* Only reload the decoder */
+ RequestReload( p_owner );
+ }
+ else if( status == AOUT_DEC_FAILED )
+ {
+ /* If we reload because the aout failed, we should release it. That
+ * way, a next call to aout_update_format() won't re-use the
+ * previous (failing) aout but will try to create a new one. */
+ atomic_store( &p_owner->reload, RELOAD_DECODER_AOUT );
+ }
+ return VLC_SUCCESS;
}
static void DecoderUpdateStatAudio( struct decoder_owner *p_owner,
More information about the vlc-commits
mailing list