diff options
| author | 2026-08-26 17:56:52 -0400 | |
|---|---|---|
| committer | 2026-08-26 17:56:52 -0400 | |
| commit | 197d41a3e23cab35848f623c6133baccc62aacbe (patch) | |
| tree | 04943c1de9653de53615e10ced1eab07c2562325 /src/libsink/desktop.c | |
| parent | 6094c907b26e21f13373bae6bf3306dbae40af3c (diff) | |
| download | camu-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/libsink/desktop.c')
| -rw-r--r-- | src/libsink/desktop.c | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/src/libsink/desktop.c b/src/libsink/desktop.c index e9ccedb..2707f34 100644 --- a/src/libsink/desktop.c +++ b/src/libsink/desktop.c @@ -127,12 +127,11 @@ static void log_sink_status(struct camu_desktop *c) u64 pts = camu_clock_get_last_pts(¤t->clock) * 1000000u; u64 duration = current->client.duration; - pts = MIN(duration, pts); bool paused = current->paused; camu_sink_return_current(sink); - u64 remaining = duration - pts; + u64 remaining = duration - MIN(pts, duration); if (remaining == 0) { goto notplaying; } @@ -162,14 +161,17 @@ static void screen_callback(void *userdata, u8 op, void *opaque) volume = (c->mixer.volume == 0.f) ? 1.f : 0.f; } camu_mixer_set_volume(&c->mixer, volume); - log_info("Volume: %f.", volume); + *(f32 *)opaque = volume; break; } case CAMU_SCREEN_OFFSET_VOLUME: { f32 volume = camu_mixer_offset_volume(&c->mixer, *(f32 *)opaque); - log_info("Volume: %f.", volume); + *(f32 *)opaque = volume; break; } + case CAMU_SCREEN_ADD: + camu_sink_add(&c->sink, (str *)opaque); + break; case CAMU_SCREEN_SKIP: camu_sink_skip(&c->sink, *(s32 *)opaque); break; @@ -189,6 +191,9 @@ static void screen_callback(void *userdata, u8 op, void *opaque) camu_sink_shuffle(&c->sink); break; case CAMU_SCREEN_STATUS: + camu_sink_status(&c->sink, (struct camu_osd *)opaque); + break; + case CAMU_SCREEN_PRINT: log_sink_status(c); break; #ifdef CAMU_SCREEN_DEBUG_KEY |