summaryrefslogtreecommitdiff
path: root/src/buffer/clock.c
diff options
context:
space:
mode:
authorAndrew Opalach <andrew@akon.city> 2026-08-26 17:56:52 -0400
committerAndrew Opalach <andrew@akon.city> 2026-08-26 17:56:52 -0400
commit197d41a3e23cab35848f623c6133baccc62aacbe (patch)
tree04943c1de9653de53615e10ced1eab07c2562325 /src/buffer/clock.c
parent6094c907b26e21f13373bae6bf3306dbae40af3c (diff)
downloadcamu-197d41a3e23cab35848f623c6133baccc62aacbe.tar.gz
camu-197d41a3e23cab35848f623c6133baccc62aacbe.tar.bz2
camu-197d41a3e23cab35848f623c6133baccc62aacbe.zip
OSD stuff and Android fixes
Signed-off-by: Andrew Opalach <andrew@akon.city>
Diffstat (limited to 'src/buffer/clock.c')
-rw-r--r--src/buffer/clock.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/buffer/clock.c b/src/buffer/clock.c
index fbe7ec5..19f721c 100644
--- a/src/buffer/clock.c
+++ b/src/buffer/clock.c
@@ -86,7 +86,8 @@ bool camu_clock_pause(struct camu_clock *clock, u64 target)
f64 tick = atomic_load(f64)(&clock->tick, AL_ATOMIC_RELAXED);
- f64 current = nn_get_tick(), pause = current;
+ f64 current = nn_get_tick();
+ f64 pause = current;
if (target > 0) {
pause = calc_tick_offset(pause, nn_get_timestamp(), target);
}
@@ -144,6 +145,14 @@ void camu_clock_resume(struct camu_clock *clock, u64 target)
atomic_store(f64)(&clock->pause, RUNNING, AL_ATOMIC_RELEASE);
}
+// @TODO: This only works for local sink.
+bool camu_clock_is_user_paused(struct camu_clock *clock)
+{
+ f64 tick = atomic_load(f64)(&clock->tick, AL_ATOMIC_RELAXED);
+ f64 pause = atomic_load(f64)(&clock->pause, AL_ATOMIC_RELAXED);
+ return tick != SET && pause <= 0.0;
+}
+
f64 camu_clock_get_base_pts(struct camu_clock *clock)
{
return clock->base;