[vlc-devel] [PATCH 2/8] decoder: simplify how we report lost audio blocks
Steve Lhomme
robux4 at ycbcr.xyz
Tue Aug 27 07:27:13 CEST 2019
No need for pointers.
---
src/input/decoder.c | 25 ++++++++++---------------
1 file changed, 10 insertions(+), 15 deletions(-)
diff --git a/src/input/decoder.c b/src/input/decoder.c
index d05351fa5c..5935b284c6 100644
--- a/src/input/decoder.c
+++ b/src/input/decoder.c
@@ -1126,8 +1126,7 @@ static void DecoderQueueThumbnail( decoder_t *p_dec, picture_t *p_pic )
}
-static void DecoderPlayAudio( decoder_t *p_dec, block_t *p_audio,
- unsigned *restrict pi_lost_sum )
+static bool DecoderPlayAudio( decoder_t *p_dec, block_t *p_audio )
{
struct decoder_owner *p_owner = dec_get_owner( p_dec );
bool prerolled;
@@ -1139,7 +1138,7 @@ static void DecoderPlayAudio( decoder_t *p_dec, block_t *p_audio,
{
vlc_mutex_unlock( &p_owner->lock );
block_Release( p_audio );
- return;
+ return false;
}
prerolled = p_owner->i_preroll_end > (vlc_tick_t)INT64_MIN;
@@ -1158,9 +1157,8 @@ static void DecoderPlayAudio( decoder_t *p_dec, block_t *p_audio,
if( p_audio->i_pts == VLC_TICK_INVALID ) // FIXME --VLC_TICK_INVALID verify audio_output/*
{
msg_Warn( p_dec, "non-dated audio buffer received" );
- *pi_lost_sum += 1;
block_Release( p_audio );
- return;
+ return true;
}
/* */
@@ -1192,14 +1190,12 @@ static void DecoderPlayAudio( decoder_t *p_dec, block_t *p_audio,
* previous (failing) aout but will try to create a new one. */
atomic_store( &p_owner->reload, RELOAD_DECODER_AOUT );
}
+ return false;
}
- else
- {
- msg_Dbg( p_dec, "discarded audio buffer" );
- *pi_lost_sum += 1;
- block_Release( p_audio );
- }
- return;
+
+ msg_Dbg( p_dec, "discarded audio buffer" );
+ block_Release( p_audio );
+ return true;
}
static void DecoderUpdateStatAudio( struct decoder_owner *p_owner,
@@ -1220,12 +1216,11 @@ static void DecoderUpdateStatAudio( struct decoder_owner *p_owner,
static void DecoderQueueAudio( decoder_t *p_dec, block_t *p_aout_buf )
{
- unsigned lost = 0;
struct decoder_owner *p_owner = dec_get_owner( p_dec );
- DecoderPlayAudio( p_dec, p_aout_buf, &lost );
+ bool lost = DecoderPlayAudio( p_dec, p_aout_buf );
- p_owner->pf_update_stat( p_owner, 1, lost );
+ p_owner->pf_update_stat( p_owner, 1, lost ? 1 : 0 );
}
static void DecoderPlaySpu( decoder_t *p_dec, subpicture_t *p_subpic )
--
2.17.1
More information about the vlc-devel
mailing list