From 7e5043a2505efa383ae372662fa4849051cd9799 Mon Sep 17 00:00:00 2001 From: Andrew Opalach Date: Sat, 11 Nov 2023 17:51:49 -0500 Subject: Improve basic cmv usage - Make cap more robust - Disable ECHO in the TUI - Improve youtube playback url selection - Some cleanup Signed-off-by: Andrew Opalach --- src/buffer/audio.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) (limited to 'src/buffer') diff --git a/src/buffer/audio.c b/src/buffer/audio.c index 34d3c65..939b98a 100644 --- a/src/buffer/audio.c +++ b/src/buffer/audio.c @@ -73,8 +73,8 @@ bool camu_audio_buffer_init(struct camu_audio_buffer *buf, struct camu_clock *cl buf->clock = clock; buf->pts = camu_mixer_get_latency(buf->mixer); buf->buffered = false; - buf->pause = PAUSE_PRE; - //buf->pause = PAUSE_IGNORE_DESYNC; + //buf->pause = PAUSE_PRE; + buf->pause = PAUSE_IGNORE_DESYNC; #ifdef CAMU_AUDIO_BUFFER_FADE buf->fade_period = 0; buf->fade_offset = 0; @@ -248,6 +248,8 @@ static void handle_fade(struct camu_audio_buffer *buf, u8 *data, size_t size, bo } #endif +#define NOT_UNPAUSED(pause) (pause != PAUSE_UNPAUSED && pause != PAUSE_PRE && pause != PAUSE_IGNORE_DESYNC) + size_t camu_audio_buffer_read(struct camu_audio_buffer *buf, u8 *data, size_t req) { f64 pts = camu_clock_get_pts(buf->clock); @@ -260,7 +262,7 @@ size_t camu_audio_buffer_read(struct camu_audio_buffer *buf, u8 *data, size_t re buf->pause = PAUSE_FADING; } else if (buf->fade_period == 0) { al_memset(data, 0, req); - if (buf->pause != PAUSE_UNPAUSED && buf->pause != PAUSE_PRE) { + if (NOT_UNPAUSED(buf->pause)) { buf->pause = PAUSE_UNPAUSED; buf->callback(buf->userdata, CAMU_BUFFER_PAUSED); } @@ -273,7 +275,7 @@ size_t camu_audio_buffer_read(struct camu_audio_buffer *buf, u8 *data, size_t re buf->pause = PAUSE_PLAYING; #else al_memset(data, 0, req); - if (buf->pause != PAUSE_UNPAUSED && buf->pause != PAUSE_PRE) { + if (NOT_UNPAUSED(buf->pause)) { buf->pause = PAUSE_UNPAUSED; buf->callback(buf->userdata, CAMU_BUFFER_PAUSED); } @@ -315,12 +317,12 @@ size_t camu_audio_buffer_read(struct camu_audio_buffer *buf, u8 *data, size_t re if (flow == FLUSHED) { signal = size; al_atomic_u8_store(&buf->flow, SIGNALED, AL_ATOMIC_RELAXED); - al_log_debug("audio_buffer", "Flushed (signal: %li).", signal); + al_log_debug("audio_buffer", "Flushed (signal: %zu).", signal); buf->callback(buf->userdata, CAMU_BUFFER_EOF); } else { al_memset(data + size, 0, req - size); if (flow == FLOWING) { - al_log_warn("audio_buffer", "Underrun (req: %i, have: %i).", req, size); + al_log_warn("audio_buffer", "Underrun (req: %zu, have: %zu).", req, size); } } req = size; -- cgit v1.2.3-101-g0448