@@ -50,33 +50,41 @@ void stream_rx_recv(struct bt_bap_stream *bap_stream, const struct bt_iso_recv_i
50
50
struct stream_rx * stream = CONTAINER_OF (bap_stream , struct stream_rx , stream );
51
51
52
52
#if CONFIG_INFO_REPORTING_INTERVAL > 0
53
- if ((stream -> reporting_info .recv_cnt % CONFIG_INFO_REPORTING_INTERVAL ) == 0U ) {
54
- log_stream_rx (stream , info , buf );
53
+ bool do_log = false;
54
+
55
+ stream -> reporting_info .recv_cnt ++ ;
56
+ if (stream -> reporting_info .recv_cnt == 1U ) {
57
+ /* Log first reception */
58
+ do_log = true;
59
+
60
+ } else if ((stream -> reporting_info .recv_cnt % CONFIG_INFO_REPORTING_INTERVAL ) == 0U ) {
61
+ /* Log once for every CONFIG_INFO_REPORTING_INTERVAL reception */
62
+ do_log = true;
55
63
}
56
64
57
- if (stream -> reporting_info .recv_cnt > 0U && info -> ts == stream -> reporting_info .last_ts ) {
58
- log_stream_rx (stream , info , buf );
59
- LOG_WRN ("Duplicated timestamp received: %u\n" , stream -> reporting_info .last_ts );
65
+ if (stream -> reporting_info .recv_cnt > 1U && info -> ts == stream -> reporting_info .last_ts ) {
60
66
stream -> reporting_info .dup_ts_cnt ++ ;
67
+ do_log = true;
68
+ LOG_WRN ("Duplicated timestamp received: %u" , stream -> reporting_info .last_ts );
61
69
}
62
70
63
- if (stream -> reporting_info .recv_cnt > 0U &&
71
+ if (stream -> reporting_info .recv_cnt > 1U &&
64
72
info -> seq_num == stream -> reporting_info .last_seq_num ) {
65
- log_stream_rx (stream , info , buf );
66
- LOG_WRN ("Duplicated PSN received: %u\n" , stream -> reporting_info .last_seq_num );
67
73
stream -> reporting_info .dup_psn_cnt ++ ;
74
+ do_log = true;
75
+ LOG_WRN ("Duplicated PSN received: %u" , stream -> reporting_info .last_seq_num );
68
76
}
69
77
70
78
if (info -> flags & BT_ISO_FLAGS_ERROR ) {
71
- log_stream_rx (stream , info , buf );
72
- LOG_DBG ("ISO receive error\n" );
73
79
stream -> reporting_info .error_cnt ++ ;
80
+ do_log = true;
81
+ LOG_DBG ("ISO receive error" );
74
82
}
75
83
76
84
if (info -> flags & BT_ISO_FLAGS_LOST ) {
77
- log_stream_rx (stream , info , buf );
78
- LOG_DBG ("ISO receive lost\n" );
79
85
stream -> reporting_info .loss_cnt ++ ;
86
+ do_log = true;
87
+ LOG_DBG ("ISO receive lost" );
80
88
}
81
89
82
90
if (info -> flags & BT_ISO_FLAGS_VALID ) {
@@ -87,9 +95,12 @@ void stream_rx_recv(struct bt_bap_stream *bap_stream, const struct bt_iso_recv_i
87
95
}
88
96
}
89
97
98
+ if (do_log ) {
99
+ log_stream_rx (stream , info , buf );
100
+ }
101
+
90
102
stream -> reporting_info .last_seq_num = info -> seq_num ;
91
103
stream -> reporting_info .last_ts = info -> ts ;
92
- stream -> reporting_info .recv_cnt ++ ;
93
104
#endif /* CONFIG_INFO_REPORTING_INTERVAL > 0 */
94
105
95
106
total_rx_iso_packet_count ++ ;
0 commit comments