hackerman-kl
7262d0f34c
milan-avb: ensure the pw streams match the milan AVB stream format and derives correct strides,
...
also fix crash in entity parser when not available
2026-06-09 12:53:38 +00:00
hackerman-kl
a6ad8b3b62
milan-avb: keep the last-known gPTP grandmaster across transient ptp4l management-query timeouts so the ADP does not flap to advertising self-as-GM
2026-06-05 07:31:43 +00:00
hackerman-kl
024f7201cb
milan-avb: revert own-LeaveAll registrar aging — it tears down active SRP reservations on a spec-compliant bridge (802.1Q-2018 8.8.7 Dynamic Reservation Entry); talker disconnect-reset to be redone via the listener explicit MSRP Leave on UNBIND
2026-06-05 07:31:43 +00:00
hackerman-kl
95f796f08c
milan-avb: age MRP registrations on the node own LeaveAll so a talker resets its STREAM_OUTPUT on ACMP disconnect — fire the shared MSRP/MVRP/MMRP LeaveAll timer periodically (prime + re-arm, RX_LVA no longer resets it) and transition the registrar IN->LV on TX_LVA, so a departed Listener ages LV->MT -> NOTIFY_LEAVE -> listener_observed=false (802.1Q-2018 10.7.5.20)
2026-06-05 07:31:43 +00:00
hackerman-kl
2bcec2f3f0
milan-avb: bit-perfect AAF audio path — avb.sink/avb.source self-driven drivers (drive_timer + trigger_process), 4-quanta ring (no per-quantum overwrite), rate_diff=1.0 coherent talker drive (no pw-cat resample), monotonic PHC-anchored AVTP timestamps, listener sample-lock driven at recovered mc.rate
2026-06-05 07:31:43 +00:00
hackerman-kl
5b8fa0a9b6
milan-avb: UNSUPPORTED_FORMAT per-PDU vs current format from descriptor
2026-06-05 07:31:43 +00:00
hackerman-kl
5fe0a7e575
milan-avb: pace the talker flush timer on the RT data loop
2026-06-05 07:31:43 +00:00
hackerman-kl
895e3a4fa1
milan-avb: ACMP listener self-heal, CBS-exclusive egress, per-iface MVRP, Milan MaxFrameSize + channel-strict RX
2026-06-05 07:31:43 +00:00
hackerman-kl
90114c9839
milan-avb: AAF media-clock recovery estimator + play-loop actuator + io_changed, SET_CLOCK_SOURCE switch, skip CRF audio data plane
2026-06-05 07:31:43 +00:00
hackerman-kl
66959ca678
milan-avb: read gPTP PHC time for talker/listener via NIC PHC mapped onto CLOCK_MONOTONIC_RAW, decoupled from system clock
2026-06-05 07:31:43 +00:00
hackerman-kl
afc7724070
milan-avb: stabilization extras - MRP registrar-before-notify, scoped-fd cleanup, VLAN sub-iface RX, SET_NAME validation, entity/firmware/8ch, MEDIA_UNLOCK 100ms + seq-settle, MRP Leave on teardown, reset STREAM_INPUT counters on bind
2026-06-05 07:31:43 +00:00
hackerman-kl
93e4957959
milan-avb: msrp: scope Domain re-adjust to matching sr_class_id
2026-06-05 07:31:43 +00:00
hackerman-kl
f3071aa549
milan-avb: msrp: set Listener AskingFailed on RX TalkerFailed
2026-06-05 07:31:43 +00:00
hackerman-kl
7c4fc7027b
milan-avb: mrp: do not apply RX_LVA to own attributes when transmitting LeaveAll
2026-06-05 07:31:43 +00:00
hackerman-kl
1f969b51a8
milan-avb: stream: stop bumping STREAM_INTERRUPTED on ringbuffer overrun
2026-06-05 07:31:43 +00:00
hackerman-kl
e9e5bb72a6
milan-avb: acmp: preserve talker entity_id across BIND_RX -> CONNECT_TX round-trip
2026-06-05 07:31:43 +00:00
Wim Taymans
a5c7dd3127
avb: fix compilation
...
This thing was broken.. mismatched brackets and const missing.
2026-06-03 12:43:15 +02:00
sirmbcode
1a1cd8d743
added zero padding and utf8-validation to entity parser for first test
2026-06-03 10:37:53 +00:00
sirmbcode
925cea5822
fixed spacing issues
2026-06-03 10:37:53 +00:00
sirmbcode
4cacdfcdf9
added calls to entity-parser.h for entity struct
2026-06-03 10:37:53 +00:00
sirmbcode
8efbdcc022
added entity-parser.h
2026-06-03 10:37:53 +00:00
hackerman-kl
98ab3d73d4
milan-avb: es-builder: create and flag CRF input streams (fix NULL-server crash on activate)
2026-05-31 18:54:05 +02:00
hackerman-kl
9d08cb87c6
milan-avb: stream: do not wire CRF streams into the PipeWire audio graph
2026-05-31 18:54:05 +02:00
hackerman-kl
fc6245dca3
milan-avb: stream: flag CRF streams and ignore CRF packets by subtype in RX
2026-05-31 18:54:05 +02:00
Nils Tonnaett
c732df412c
module-avb: add documentation to strings.c
2026-05-25 07:55:01 +00:00
Nils Tonnaett
4831ba60af
module-avb: don't encode error as state
2026-05-25 07:55:01 +00:00
Nils Tonnaett
2dd60fdbc6
module-avb: fix types
2026-05-25 07:55:01 +00:00
Nils Tonnaett
c9ba3ced91
module-avb: format strings.c
2026-05-25 07:55:01 +00:00
Nils Tonnaett
ef77d995cd
module-avb: SET_NAME: check that string is valid utf8 and zero padded
2026-05-25 07:55:01 +00:00
Nils Tonnaett
14b1c4d3dd
module-avb: add zero padding check function
2026-05-25 07:55:01 +00:00
Nils Tonnaett
b47c07b9cd
module-avb: add UTF-8 validation function
2026-05-25 07:55:01 +00:00
Wim Taymans
250260e18e
modules: avoid double close when loop_add_io fails
2026-05-15 13:38:32 +02:00
Wim Taymans
894e97aaa5
modules: avoid double fd close
...
Now that loop_add_io, avoid double free on failures. Try to use
spa_autoclose and spa_steal_fd to make the error paths easier.
2026-05-15 13:34:48 +02:00
Wim Taymans
4f975d0071
treewide: add error checking to spa_json_builder_close
...
There could have been a write error or allocation error while building
the json file that we can detect in spa_json_builder_close().
Error out instead of silently using a truncated JSON.
Use spa_autofree for the memory to make cleanup easier.
2026-05-13 18:14:44 +02:00
Wim Taymans
08d4e319cf
avb: fix stack overflow in MRP parsing
...
AVB_MRP_VECTOR_GET_NUM_VALUES can be 13 bits and is stored in a
unit16_t. event_len and param_len are however calculated from this and
then truncated to 8 bits (uint8_t) which causes the bounds check to
silently pass and cause an OOB read.
Change the type to uint16_t to avoid overflows.
2026-05-08 18:13:12 +02:00
Wim Taymans
8907d0860b
modules: loop_add_io with close=true owns the fd
...
We should not close the fd when loop_add_io with close=true fails
because the fd is already closed.
2026-05-06 11:57:51 +02:00
Barnabás Pőcze
ccfb61efa4
treewide: make more file descriptors cloexec
...
Avoid file descriptor leakage into child processes by marking them `O_CLOEXEC`.
2026-05-04 19:48:41 +02:00
Wim Taymans
7dacdc8cc8
avb: bounds check the attribute encoding
...
Add a maxsize to the attribute encode functions and add checks that
they don't overwrite the provided buffer.
2026-05-04 10:47:52 +02:00
Wim Taymans
17723bc00d
avb: fix MAAP packet send
...
Actually send the ehaternet header data as well. The send was skipping
the ehternet header and reading past the packet end.
2026-05-04 10:21:41 +02:00
Wim Taymans
be6bfba8eb
avb: check some allocation errors
2026-05-04 09:56:18 +02:00
Wim Taymans
32bb568225
avb: make sure to no blindly use the type as a command index
2026-05-04 09:55:35 +02:00
Wim Taymans
172f969650
avb: check packet sizes
...
Clamp packet len to the buffer size.
Reject packets with invalid data_len.
2026-05-04 09:53:33 +02:00
hackerman-kl
7a826b1580
milan-avb: gptp: track request timing on CLOCK_MONOTONIC
2026-05-03 10:26:16 +02:00
hackerman-kl
4da6e39281
milan-avb: gptp: handle MANAGEMENT_ERROR_STATUS TLV as stale-data signal
2026-05-03 10:26:16 +02:00
hackerman-kl
09b3f0dc34
milan-avb: gptp: invalidate cached state when ptp4l stops responding
2026-05-03 10:26:16 +02:00
hackerman-kl
97436efe1e
milan-avb: cmd-get-as-path: build [gm,...,local] and emit unsolicited GET_AS_PATH
2026-05-03 10:26:16 +02:00
hackerman-kl
ff3367dc05
milan-avb: aecp-aem: emit unsolicited GET_AVB_INFO when gPTP changes
2026-05-03 10:26:16 +02:00
hackerman-kl
e02a4854de
milan-avb: gptp: query PATH_TRACE_LIST and store Announce path trace
2026-05-03 10:26:16 +02:00
hackerman-kl
55bb0b6a6a
milan-avb: gptp: query CURRENT_DATA_SET for canonical is_grandmaster check
2026-05-03 10:26:16 +02:00
hackerman-kl
c877ea4243
milan-avb: gptp: rate-limit management requests to 375 ms
2026-05-03 10:26:16 +02:00