mirror of
https://gitlab.freedesktop.org/pipewire/pipewire.git
synced 2026-05-01 06:46:47 -04:00
milan-avb: cmd-get-set-stream-info: treat LV registrar as still registering
This commit is contained in:
parent
9f81c82100
commit
76e7806251
1 changed files with 9 additions and 10 deletions
|
|
@ -120,18 +120,17 @@ static void populate_input_response(struct aecp *aecp,
|
||||||
settled = (si->acmp_sta.probing_status == 3);
|
settled = (si->acmp_sta.probing_status == 3);
|
||||||
(void)settled;
|
(void)settled;
|
||||||
|
|
||||||
/* Milan Section 5.3.8.8 / Table 5.10 REGISTERING bit: Talker Advertise OR
|
/* Milan Section 5.3.8.8 / Table 5.10 REGISTERING bit: Talker Advertise/Failed
|
||||||
* Talker Failed matching the saved SRP params is currently registered.
|
* matching the saved SRP params is currently registered. Treat IN and
|
||||||
* tastream_attr / tfstream_attr are the foreign declarations we observe;
|
* LV alike — LV is the 1-s leave-timer transient and recovers on the
|
||||||
* registrar IN means we've heard them on the wire.
|
* next JoinIn (matches the talker-side listener_observed semantics
|
||||||
*
|
* which stay true until LV→MT). */
|
||||||
* For listeners, only lstream_attr and tfstream_attr are created in
|
|
||||||
* server_create_stream — tastream_attr.mrp is NULL until/unless we
|
|
||||||
* later wire in talker-advertise observation. Guard the deref. */
|
|
||||||
ta_observed = (taattr->mrp != NULL) &&
|
ta_observed = (taattr->mrp != NULL) &&
|
||||||
(avb_mrp_attribute_get_registrar_state(taattr->mrp) == AVB_MRP_IN);
|
(avb_mrp_attribute_get_registrar_state(taattr->mrp) == AVB_MRP_IN ||
|
||||||
|
avb_mrp_attribute_get_registrar_state(taattr->mrp) == AVB_MRP_LV);
|
||||||
tf_observed = (tfattr->mrp != NULL) &&
|
tf_observed = (tfattr->mrp != NULL) &&
|
||||||
(avb_mrp_attribute_get_registrar_state(tfattr->mrp) == AVB_MRP_IN);
|
(avb_mrp_attribute_get_registrar_state(tfattr->mrp) == AVB_MRP_IN ||
|
||||||
|
avb_mrp_attribute_get_registrar_state(tfattr->mrp) == AVB_MRP_LV);
|
||||||
registering = ta_observed || tf_observed;
|
registering = ta_observed || tf_observed;
|
||||||
|
|
||||||
/* Stream Input — expose the identity fields unconditionally so a
|
/* Stream Input — expose the identity fields unconditionally so a
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue