From 0638a91ff4dfbec2b3e1db0375af068ef2e7b855 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20Wei=C3=9Fschuh?= Date: Wed, 17 Aug 2022 13:14:22 +0200 Subject: ao_pipewire: report all available info about chunk This allows the audio server better to make sense of the data instead of having to use heuristics. --- audio/out/ao_pipewire.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'audio') diff --git a/audio/out/ao_pipewire.c b/audio/out/ao_pipewire.c index a59750355a..a54a4c828c 100644 --- a/audio/out/ao_pipewire.c +++ b/audio/out/ao_pipewire.c @@ -134,8 +134,8 @@ static void on_process(void *userdata) for (int i = 0; i < buf->n_datas; i++) { data[i] = buf->datas[i].data; - buf->datas[i].chunk->size = bytes_per_channel; buf->datas[i].chunk->offset = 0; + buf->datas[i].chunk->stride = ao->sstride; } pw_stream_get_time_n(p->stream, &time, sizeof(time)); @@ -152,6 +152,10 @@ static void on_process(void *userdata) int samples = ao_read_data(ao, data, nframes, end_time); b->size = samples; + for (int i = 0; i < buf->n_datas; i++) { + buf->datas[i].chunk->size = samples * ao->sstride; + } + pw_stream_queue_buffer(p->stream, b); } -- cgit v1.2.3