From b0e0e4c9f4722ece1aa4e474fec40c89be548812 Mon Sep 17 00:00:00 2001 From: Sanchayan Maity Date: Fri, 14 Mar 2025 16:07:28 +0530 Subject: [PATCH] gst: Do not use video only info for SPA_PARAM_BUFFERS_blocks We mistakenly used video only info for setting SPA_PARAM_BUFFERS_blocks, which would be completely incorrect for audio. Fixes 6c9ada270. --- src/gst/gstpipewiresink.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/gst/gstpipewiresink.c b/src/gst/gstpipewiresink.c index 4cfc8bb87..54cc6f6ca 100644 --- a/src/gst/gstpipewiresink.c +++ b/src/gst/gstpipewiresink.c @@ -315,10 +315,12 @@ gst_pipewire_sink_update_params (GstPipeWireSink *sink) spa_pod_builder_add (&b, SPA_PARAM_BUFFERS_size, SPA_POD_CHOICE_RANGE_Int(size, size, INT32_MAX), 0); - /* MUST have n_datas == n_planes */ - spa_pod_builder_add (&b, - SPA_PARAM_BUFFERS_blocks, - SPA_POD_Int(GST_VIDEO_INFO_N_PLANES (&pool->video_info))); + if (sink->is_video) { + /* MUST have n_datas == n_planes */ + spa_pod_builder_add (&b, + SPA_PARAM_BUFFERS_blocks, + SPA_POD_Int(GST_VIDEO_INFO_N_PLANES (&pool->video_info)), 0); + } spa_pod_builder_add (&b, SPA_PARAM_BUFFERS_stride, SPA_POD_CHOICE_RANGE_Int(0, 0, INT32_MAX),