@@ -72,10 +72,10 @@ typedef struct {
7272
7373 unsigned int program ;
7474 unsigned int audio_ready ;
75+ unsigned int audio_packets_valid ;
7576 unsigned int audio_packets ;
7677 unsigned int audio_bytes ;
7778 unsigned int audio_errors ;
78- unsigned int audio_errors_valid ;
7979 int done ;
8080} state_t ;
8181
@@ -347,20 +347,20 @@ static void callback(const nrsc5_event_t *evt, void *opaque)
347347 st -> audio_packets ++ ;
348348 st -> audio_bytes += evt -> hdc .count * sizeof (evt -> hdc .data [0 ]);
349349 if (evt -> hdc .flags & NRSC5_PKT_FLAGS_CRC_ERROR )
350- st -> audio_errors_valid ++ ;
351- else
352350 st -> audio_errors ++ ;
351+ else
352+ st -> audio_packets_valid ;
353353
354- if (st -> audio_packets >= 32 ) {
355- log_info ("Audio bit rate: %.1f kbps" , (float )st -> audio_bytes * 8 * NRSC5_SAMPLE_RATE_AUDIO / NRSC5_AUDIO_FRAME_SAMPLES / st -> audio_packets / 1000 );
356- st -> audio_packets = 0 ;
354+ if (st -> audio_packets_valid >= 32 ) {
355+ log_info ("Audio bit rate: %.1f kbps" , (float )st -> audio_bytes * 8 * NRSC5_SAMPLE_RATE_AUDIO / NRSC5_AUDIO_FRAME_SAMPLES / st -> audio_packets_valid / 1000 );
356+ st -> audio_packets_valid = 0 ;
357357 st -> audio_bytes = 0 ;
358- st -> audio_errors_valid = 0 ;
359358 }
360- if (st -> audio_errors >= 32 )
359+ if (st -> audio_packets >= 32 )
361360 {
362- if (st -> audio_errors_valid > 0 )
363- log_warn ("Audio packet CRC mismatches: %d" , st -> audio_errors_valid );
361+ if (st -> audio_errors > 0 )
362+ log_warn ("Audio packet CRC mismatches: %d" , st -> audio_errors );
363+ st -> audio_packets = 0 ;
364364 st -> audio_errors = 0 ;
365365 }
366366 }
0 commit comments