summaryrefslogtreecommitdiff
path: root/src/buffer
diff options
context:
space:
mode:
Diffstat (limited to 'src/buffer')
-rw-r--r--src/buffer/audio.c14
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;