Browse Source

codec: synchro: add logging helpers

The synchro module should not print messages when the quiet-synchro
option is set. To simplify this, add two new helper macros for
debug and warning messages (which currently are the only message
types used in this code) and use those instead of always explicitly
checking the b_quiet variable.
pull/104/head
Marvin Scholz 7 years ago
parent
commit
fb5d2c2058
  1. 98
      modules/codec/synchro.c

98
modules/codec/synchro.c

@ -101,6 +101,28 @@
#include <vlc_codec.h> #include <vlc_codec.h>
#include "synchro.h" #include "synchro.h"
/*
* Logging helpers
*/
/**
* Print a debug log message if not silenced
* using the `quiet-synchro` option
*/
#define synchro_msg_Dbg(p_this, ...) do { \
if( !p_this->b_quiet ) \
msg_Generic(p_this->p_dec, VLC_MSG_DBG, __VA_ARGS__); \
} while (0)
/**
* Print a warning log message if not silenced
* using the `quiet-synchro` option
*/
#define synchro_msg_Warn(p_this, ...) do { \
if( !p_this->b_quiet ) \
msg_Generic(p_this->p_dec, VLC_MSG_WARN, __VA_ARGS__); \
} while (0)
/* /*
* Local prototypes * Local prototypes
*/ */
@ -259,10 +281,10 @@ bool decoder_SynchroChoose( decoder_synchro_t * p_synchro, int i_coding_type,
if( pts == VLC_TICK_INVALID ) if( pts == VLC_TICK_INVALID )
b_decode = 1; b_decode = 1;
if( !b_decode && !p_synchro->b_quiet ) if( !b_decode )
{ {
msg_Warn( p_synchro->p_dec, synchro_msg_Warn( p_synchro,
"synchro trashing I (%"PRId64")", pts - now ); "synchro trashing I (%"PRId64")", pts - now );
} }
break; break;
@ -415,10 +437,9 @@ void decoder_SynchroNewPicture( decoder_synchro_t * p_synchro, int i_coding_type
if( p_synchro->i_eta_p && p_synchro->i_eta_p != p_synchro->i_n_p ) if( p_synchro->i_eta_p && p_synchro->i_eta_p != p_synchro->i_n_p )
{ {
#if 0 #if 0
if( !p_synchro->b_quiet ) synchro_msg_Dbg( p_synchro,
msg_Dbg( p_synchro->p_dec, "stream periodicity changed from P[%d] to P[%d]",
"stream periodicity changed from P[%d] to P[%d]", p_synchro->i_n_p, p_synchro->i_eta_p );
p_synchro->i_n_p, p_synchro->i_eta_p );
#endif #endif
p_synchro->i_n_p = p_synchro->i_eta_p; p_synchro->i_n_p = p_synchro->i_eta_p;
} }
@ -430,26 +451,25 @@ void decoder_SynchroNewPicture( decoder_synchro_t * p_synchro, int i_coding_type
p_synchro->i_dec_nb_ref = p_synchro->i_nb_ref; p_synchro->i_dec_nb_ref = p_synchro->i_nb_ref;
#if 0 #if 0
if( !p_synchro->b_quiet ) synchro_msg_Dbg( p_synchro, "I(%"PRId64") P(%"PRId64")[%d] B(%"PRId64")"
msg_Dbg( p_synchro->p_dec, "I(%"PRId64") P(%"PRId64")[%d] B(%"PRId64")" "[%d] YUV(%"PRId64") : trashed %d:%d/%d",
"[%d] YUV(%"PRId64") : trashed %d:%d/%d", p_synchro->p_tau[I_CODING_TYPE],
p_synchro->p_tau[I_CODING_TYPE], p_synchro->p_tau[P_CODING_TYPE],
p_synchro->p_tau[P_CODING_TYPE], p_synchro->i_n_p,
p_synchro->i_n_p, p_synchro->p_tau[B_CODING_TYPE],
p_synchro->p_tau[B_CODING_TYPE], p_synchro->i_n_b,
p_synchro->i_n_b, p_synchro->i_render_time,
p_synchro->i_render_time, p_synchro->i_not_chosen_pic,
p_synchro->i_not_chosen_pic, p_synchro->i_trashed_pic -
p_synchro->i_trashed_pic - p_synchro->i_not_chosen_pic,
p_synchro->i_not_chosen_pic, p_synchro->i_pic );
p_synchro->i_pic );
p_synchro->i_trashed_pic = p_synchro->i_not_chosen_pic p_synchro->i_trashed_pic = p_synchro->i_not_chosen_pic
= p_synchro->i_pic = 0; = p_synchro->i_pic = 0;
#else #else
if( p_synchro->i_pic >= 100 ) if( p_synchro->i_pic >= 100 )
{ {
if( !p_synchro->b_quiet && p_synchro->i_trashed_pic != 0 ) if( p_synchro->i_trashed_pic != 0 )
msg_Dbg( p_synchro->p_dec, "decoded %d/%d pictures", synchro_msg_Dbg( p_synchro, "decoded %d/%d pictures",
p_synchro->i_pic p_synchro->i_pic
- p_synchro->i_trashed_pic, - p_synchro->i_trashed_pic,
p_synchro->i_pic ); p_synchro->i_pic );
@ -465,10 +485,9 @@ void decoder_SynchroNewPicture( decoder_synchro_t * p_synchro, int i_coding_type
&& p_synchro->i_eta_b != p_synchro->i_n_b ) && p_synchro->i_eta_b != p_synchro->i_n_b )
{ {
#if 0 #if 0
if( !p_synchro->b_quiet ) synchro_msg_Dbg( p_synchro,
msg_Dbg( p_synchro->p_dec, "stream periodicity changed from B[%d] to B[%d]",
"stream periodicity changed from B[%d] to B[%d]", p_synchro->i_n_b, p_synchro->i_eta_b );
p_synchro->i_n_b, p_synchro->i_eta_b );
#endif #endif
p_synchro->i_n_b = p_synchro->i_eta_b; p_synchro->i_n_b = p_synchro->i_eta_b;
} }
@ -497,12 +516,12 @@ void decoder_SynchroNewPicture( decoder_synchro_t * p_synchro, int i_coding_type
if( next_pts != VLC_TICK_INVALID ) if( next_pts != VLC_TICK_INVALID )
{ {
if( (next_pts - p_synchro->current_pts if( next_pts - p_synchro->current_pts
> PTS_THRESHOLD > PTS_THRESHOLD
|| p_synchro->current_pts - next_pts || p_synchro->current_pts - next_pts
> PTS_THRESHOLD) && !p_synchro->b_quiet ) > PTS_THRESHOLD )
{ {
msg_Warn( p_synchro->p_dec, "decoder synchro warning: pts != " synchro_msg_Warn( p_synchro, "decoder synchro warning: pts != "
"current_date (%"PRId64")", "current_date (%"PRId64")",
p_synchro->current_pts p_synchro->current_pts
- next_pts ); - next_pts );
@ -521,18 +540,18 @@ void decoder_SynchroNewPicture( decoder_synchro_t * p_synchro, int i_coding_type
(next_dts - p_synchro->backward_pts (next_dts - p_synchro->backward_pts
> PTS_THRESHOLD > PTS_THRESHOLD
|| p_synchro->backward_pts - next_dts || p_synchro->backward_pts - next_dts
> PTS_THRESHOLD) && !p_synchro->b_quiet ) > PTS_THRESHOLD) )
{ {
msg_Warn( p_synchro->p_dec, "backward_pts != dts (%"PRId64")", synchro_msg_Warn( p_synchro, "backward_pts != dts (%"PRId64")",
next_dts next_dts
- p_synchro->backward_pts ); - p_synchro->backward_pts );
} }
if( (p_synchro->backward_pts - p_synchro->current_pts if( p_synchro->backward_pts - p_synchro->current_pts
> PTS_THRESHOLD > PTS_THRESHOLD
|| p_synchro->current_pts - p_synchro->backward_pts || p_synchro->current_pts - p_synchro->backward_pts
> PTS_THRESHOLD) && !p_synchro->b_quiet ) > PTS_THRESHOLD )
{ {
msg_Warn( p_synchro->p_dec, synchro_msg_Warn( p_synchro,
"backward_pts != current_pts (%"PRId64")", "backward_pts != current_pts (%"PRId64")",
p_synchro->current_pts p_synchro->current_pts
- p_synchro->backward_pts ); - p_synchro->backward_pts );
@ -542,12 +561,12 @@ void decoder_SynchroNewPicture( decoder_synchro_t * p_synchro, int i_coding_type
} }
else if( next_dts != VLC_TICK_INVALID ) else if( next_dts != VLC_TICK_INVALID )
{ {
if( (next_dts - p_synchro->current_pts if( next_dts - p_synchro->current_pts
> PTS_THRESHOLD > PTS_THRESHOLD
|| p_synchro->current_pts - next_dts || p_synchro->current_pts - next_dts
> PTS_THRESHOLD) && !p_synchro->b_quiet ) > PTS_THRESHOLD )
{ {
msg_Warn( p_synchro->p_dec, "dts != current_pts (%"PRId64")", synchro_msg_Warn( p_synchro, "dts != current_pts (%"PRId64")",
p_synchro->current_pts p_synchro->current_pts
- next_dts ); - next_dts );
} }
@ -569,9 +588,8 @@ void decoder_SynchroNewPicture( decoder_synchro_t * p_synchro, int i_coding_type
{ {
/* We cannot be _that_ late, something must have happened, reinit /* We cannot be _that_ late, something must have happened, reinit
* the dates. */ * the dates. */
if( !p_synchro->b_quiet ) synchro_msg_Warn( p_synchro, "PTS << now (%"PRId64"), resetting",
msg_Warn( p_synchro->p_dec, "PTS << now (%"PRId64"), resetting", now - p_synchro->current_pts - DEFAULT_PTS_DELAY );
now - p_synchro->current_pts - DEFAULT_PTS_DELAY );
p_synchro->current_pts = now + DEFAULT_PTS_DELAY; p_synchro->current_pts = now + DEFAULT_PTS_DELAY;
} }
if( p_synchro->backward_pts != VLC_TICK_INVALID if( p_synchro->backward_pts != VLC_TICK_INVALID

Loading…
Cancel
Save