From 066e13f9cada4b8e9cb88013a7ccb72636bdae74 Mon Sep 17 00:00:00 2001 From: hackerman-kl Date: Thu, 28 May 2026 11:55:00 +0000 Subject: [PATCH] milan-avb: es-builder: create and flag CRF input streams (fix NULL-server crash on activate) --- src/modules/module-avb/es-builder.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/modules/module-avb/es-builder.c b/src/modules/module-avb/es-builder.c index b56c37e74..4eb7222dd 100644 --- a/src/modules/module-avb/es-builder.c +++ b/src/modules/module-avb/es-builder.c @@ -34,6 +34,7 @@ static struct descriptor *es_buidler_desc_stream_general_prepare(struct server * if (type == AVB_AEM_DESC_STREAM_INPUT) { struct aecp_aem_stream_input_state_milan_v12 *w; const struct avb_aem_desc_stream *body = ptr; + struct avb_aem_stream_format_info fi; desc = server_add_descriptor(server, type, index, sizeof(*w), size, ptr); @@ -46,13 +47,13 @@ static struct descriptor *es_buidler_desc_stream_general_prepare(struct server * /* Milan v1.2 Section 5.3.8.7: started/stopped state defaults to started. */ w->stream_in_sta.started = true; - struct avb_aem_stream_format_info fi; avb_aem_stream_format_decode(body->current_format, &fi); - if (fi.kind == AVB_AEM_STREAM_FORMAT_KIND_CRF) - return desc; stream = &w->stream_in_sta.common.stream; direction = SPA_DIRECTION_INPUT; + stream->is_crf = (fi.kind == AVB_AEM_STREAM_FORMAT_KIND_CRF); + if (stream->is_crf) + pw_log_info("stream %u: CRF clock-reference, no audio data plane", index); } else if (type == AVB_AEM_DESC_STREAM_OUTPUT) { struct aecp_aem_stream_output_state_milan_v12 *w;