|
@@ -25,26 +25,10 @@
|
|
|
#include <signal.h>
|
|
|
#include "time.h"
|
|
|
|
|
|
+#define LOCK mutex_lock(outputbuf->mutex)
|
|
|
+#define UNLOCK mutex_unlock(outputbuf->mutex)
|
|
|
|
|
|
-#define DECLARE_ALL_MIN_MAX \
|
|
|
- DECLARE_MIN_MAX(o); \
|
|
|
- DECLARE_MIN_MAX(s); \
|
|
|
- DECLARE_MIN_MAX(req); \
|
|
|
- DECLARE_MIN_MAX(rec); \
|
|
|
- DECLARE_MIN_MAX(over); \
|
|
|
- DECLARE_MIN_MAX(i2s_time); \
|
|
|
- DECLARE_MIN_MAX(buffering);
|
|
|
-
|
|
|
-#define RESET_ALL_MIN_MAX \
|
|
|
- RESET_MIN_MAX(o); \
|
|
|
- RESET_MIN_MAX(s); \
|
|
|
- RESET_MIN_MAX(req); \
|
|
|
- RESET_MIN_MAX(rec); \
|
|
|
- RESET_MIN_MAX(over); \
|
|
|
- RESET_MIN_MAX(i2s_time); \
|
|
|
- RESET_MIN_MAX(buffering);
|
|
|
-
|
|
|
-#define STATS_PERIOD_MS 5000
|
|
|
+#define FRAME_BLOCK MAX_SILENCE_FRAMES
|
|
|
|
|
|
// Prevent compile errors if dac output is
|
|
|
// included in the build and not actually activated in menuconfig
|
|
@@ -61,10 +45,21 @@
|
|
|
#define CONFIG_I2S_NUM -1
|
|
|
#endif
|
|
|
|
|
|
-#define LOCK mutex_lock(outputbuf->mutex)
|
|
|
-#define UNLOCK mutex_unlock(outputbuf->mutex)
|
|
|
+#define DECLARE_ALL_MIN_MAX \
|
|
|
+ DECLARE_MIN_MAX(o); \
|
|
|
+ DECLARE_MIN_MAX(s); \
|
|
|
+ DECLARE_MIN_MAX(rec); \
|
|
|
+ DECLARE_MIN_MAX(i2s_time); \
|
|
|
+ DECLARE_MIN_MAX(buffering);
|
|
|
|
|
|
-#define FRAME_BLOCK MAX_SILENCE_FRAMES
|
|
|
+#define RESET_ALL_MIN_MAX \
|
|
|
+ RESET_MIN_MAX(o); \
|
|
|
+ RESET_MIN_MAX(s); \
|
|
|
+ RESET_MIN_MAX(rec); \
|
|
|
+ RESET_MIN_MAX(i2s_time); \
|
|
|
+ RESET_MIN_MAX(buffering);
|
|
|
+
|
|
|
+#define STATS_PERIOD_MS 5000
|
|
|
|
|
|
extern struct outputstate output;
|
|
|
extern struct buffer *streambuf;
|
|
@@ -253,7 +248,7 @@ static void *output_thread_i2s() {
|
|
|
|
|
|
frames = _output_frames( FRAME_BLOCK );
|
|
|
|
|
|
- SET_MIN_MAX(frames,rec);
|
|
|
+ SET_MIN_MAX_SIZED(frames,rec,FRAME_BLOCK);
|
|
|
SET_MIN_MAX_SIZED(_buf_used(outputbuf),o,outputbuf->size);
|
|
|
SET_MIN_MAX_SIZED(_buf_used(streambuf),s,streambuf->size);
|
|
|
SET_MIN_MAX( TIME_MEASUREMENT_GET(timer_start),buffering);
|
|
@@ -309,9 +304,7 @@ static void *output_thread_i2s_stats() {
|
|
|
LOG_INFO(LINE_MIN_MAX_FORMAT_STREAM, LINE_MIN_MAX_STREAM("stream",s));
|
|
|
LOG_INFO(LINE_MIN_MAX_FORMAT,LINE_MIN_MAX("output",o));
|
|
|
LOG_INFO(LINE_MIN_MAX_FORMAT_FOOTER);
|
|
|
- LOG_INFO(LINE_MIN_MAX_FORMAT,LINE_MIN_MAX("requested",req));
|
|
|
LOG_INFO(LINE_MIN_MAX_FORMAT,LINE_MIN_MAX("received",rec));
|
|
|
- LOG_INFO(LINE_MIN_MAX_FORMAT,LINE_MIN_MAX("overflow",over));
|
|
|
LOG_INFO(LINE_MIN_MAX_FORMAT_FOOTER);
|
|
|
LOG_INFO("");
|
|
|
LOG_INFO(" ----------+----------+-----------+-----------+ ");
|