From 080d4b6f0957b4b551e5376343a20771d2195f56 Mon Sep 17 00:00:00 2001 From: hackerman-kl Date: Sat, 25 Apr 2026 06:45:26 +0200 Subject: [PATCH] milan-avb: msrp: capture listener rx param --- src/modules/module-avb/msrp.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/modules/module-avb/msrp.c b/src/modules/module-avb/msrp.c index 00a79a46c..c27f490d2 100644 --- a/src/modules/module-avb/msrp.c +++ b/src/modules/module-avb/msrp.c @@ -164,6 +164,7 @@ static void notify_listener(struct msrp *msrp, uint64_t now, struct attr *attr, } } +/* IEEE 802.1Q Section 35.2.2.4.4: capture the rx 4-pack Listener Declaration Type. */ static int process_listener(struct msrp *msrp, uint64_t now, uint8_t attr_type, const void *m, uint8_t event, uint8_t param, int num) { @@ -171,8 +172,11 @@ static int process_listener(struct msrp *msrp, uint64_t now, uint8_t attr_type, struct attr *a; spa_list_for_each(a, &msrp->attributes, link) if (a->attr->type == attr_type && - a->attr->attr.listener.stream_id == l->stream_id) + a->attr->attr.listener.stream_id == l->stream_id) { + a->attr->attr.listener = *l; + a->attr->param = param; avb_mrp_attribute_rx_event(a->attr->mrp, now, event); + } return 0; } static int encode_listener(struct msrp *msrp, struct attr *a, void *m)