diff options
| author | 2023-11-11 17:51:49 -0500 | |
|---|---|---|
| committer | 2023-11-11 17:51:49 -0500 | |
| commit | 7e5043a2505efa383ae372662fa4849051cd9799 (patch) | |
| tree | e7736218b7ab323579a440f24d899ed00beb9f73 /src/buffer | |
| parent | 113eb3b481417364f84350e90be252355d807f06 (diff) | |
| download | camu-7e5043a2505efa383ae372662fa4849051cd9799.tar.gz camu-7e5043a2505efa383ae372662fa4849051cd9799.tar.bz2 camu-7e5043a2505efa383ae372662fa4849051cd9799.zip | |
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 <andrew@akon.city>
Diffstat (limited to 'src/buffer')
| -rw-r--r-- | src/buffer/audio.c | 14 |
1 files changed, 8 insertions, 6 deletions
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; |