hackerman-kl
25949ca6e7
Merge branch '5248-avb-ptp-management' into 'master'
...
Introduce proper g(PTP) management into the module-avb
See merge request pipewire/pipewire!2811
2026-05-03 10:49:55 +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
hackerman-kl
fc08d2444a
milan-avb: gptp: send PTP management with majorSdoId=1 for gPTP profile
2026-05-03 10:26:16 +02:00
hackerman-kl
1b81dbab85
milan-avb: adding the ptp4l command line information
2026-05-03 10:26:16 +02:00
hackerman-kl
4b44c15768
milan-avb; introducing gptp/as_path interface specific dirty flags
2026-05-03 10:26:16 +02:00
hackerman-kl
21dd14618c
milan-avb: update banner
2026-05-03 10:26:16 +02:00
hackerman-kl
46f9c5130e
milan-avb: cmd-get-as-path: build path from gptp data
2026-05-03 10:26:16 +02:00
hackerman-kl
9f019a061d
milan-avb: aecp-aem: source GET_AVB_INFO grandmaster from gptp
2026-05-03 10:26:16 +02:00
hackerman-kl
e9a1e50996
milan-avb: adp: refresh grandmaster_id from gptp on each advertise
2026-05-03 10:26:16 +02:00
hackerman-kl
231b0950c5
milan-avb: descriptors: derive AVB_INTERFACE clock_identity from entity_id
2026-05-03 10:26:16 +02:00
hackerman-kl
3f63b51fcc
milan-avb: gptp: rework management I/O as non-blocking with sequence-id matching
2026-05-03 10:26:16 +02:00
hackerman-kl
0da747fd44
milan-avb: gptp: do not fail server creation on missing PTP socket
2026-05-03 10:26:16 +02:00
hackerman-kl
0b09fb2b1e
milan-avb: gptp: initialise ret in the drain loop
2026-05-03 10:26:16 +02:00
hackerman-kl
21c4c59587
milan-avb: gptp: use entity_id for management source port id
2026-05-03 10:26:16 +02:00
hackerman-kl
1e9f89b638
milan-avb: gptp: emit gm_changed only when the GM actually changes
2026-05-03 10:26:16 +02:00
hackerman-kl
f5389a4225
milan-avb: gptp: drop unused avb_gptp_destroy wrapper
2026-05-03 10:26:16 +02:00
hackerman-kl
8c9e5f1974
milan-avb: gptp: use PTP_DEFAULT_LOG_MESSAGE_INTERVAL macro
2026-05-03 10:26:16 +02:00
hackerman-kl
e83bbfacf1
milan-avb: gptp: drop %m from incomplete request/response warnings
2026-05-03 10:26:16 +02:00
hackerman-kl
d5e4f11be7
milan-avb: gptp: fix log message for SO_PASSCRED setsockopt failure
2026-05-03 10:26:16 +02:00
hackerman-kl
51a997294e
milan-avb: gptp: drop unused struct fields
2026-05-03 10:26:16 +02:00
hackerman-kl
7f687cae77
milan-avb: gptp: drop unused includes
2026-05-03 10:26:16 +02:00
hackerman-kl
b197ae79c5
milan-avb: gptp: align code style with the rest of module-avb
2026-05-03 10:26:16 +02:00
Nils Tonnaett
0345623e97
module-avb: remove redundant init_descriptors() call
2026-05-03 10:26:16 +02:00
Nils Tonnaett
37efd5c5f9
module-avb: emit gm_changed event
2026-05-03 10:26:16 +02:00
Nils Tonnaett
5fd9c1eaff
module-avb: fail if ptp management socket can't be created
2026-05-03 10:26:16 +02:00
Nils Tonnaett
bf6fae7df9
module-avb: fail if ptp.management-socket not set
2026-05-03 10:26:16 +02:00
Nils Tonnaett
f4c26cd3ed
module-avb: check that ptp management request is complete
2026-05-03 10:26:16 +02:00
Nils Tonnaett
f360af0889
module-avb: check return value of read when clearing ptp_fd input buffer
2026-05-03 09:49:22 +02:00
Nils Tonnaett
c8f2edd94e
module-avb: check ioctl for success
2026-05-03 09:49:22 +02:00
Nils Tonnaett
07533eb590
module-avb: check that PTP management response is complete
2026-05-03 09:49:22 +02:00
Nils Tonnaett
6c43bdfa85
module-avb: htobe16/be16toh to htons/ntohs
2026-05-03 09:49:22 +02:00
Nils Tonnaett
16189ae167
module-avb: add specs comments for PTP management message format
2026-05-03 09:49:22 +02:00
Nils Tonnaett
fc6f2e33e2
module-avb: close ptp_fd when destroyed
2026-05-03 09:49:22 +02:00
Nils Tonnaett
f752653814
module-avb: free gptp->ptp_mgmt_socket_path
2026-05-03 09:49:22 +02:00
Nils Tonnaett
54a9495715
module-avb: check ptp management socket periodically
2026-05-03 09:49:22 +02:00
Nils Tonnaett
4bc365cbb5
module-avb: add avb interface descriptor defines
2026-05-03 09:49:22 +02:00
Wim Taymans
f29d7875cf
connection: reject too large messages
...
Instead of silently truncating the message size in the header, simply
reject the complete message.
2026-05-01 13:04:02 +02:00
Wim Taymans
ceb80723a9
modules: unset buffer and size after alloc failure
...
Set the buffer_data to NULL and the size to 0 after we free the
buffer in realloc failure to avoid problems later.
2026-05-01 13:02:00 +02:00
Wim Taymans
a4fb06073c
modules: protect against invalid input and 0 division
...
Don't crash when the AEC reported latency is invalid.
Check that the parsed values make sense and avoid division by 0.
2026-05-01 12:42:53 +02:00
Wim Taymans
6f6b58785e
modules: handle allocation errors
2026-05-01 12:29:54 +02:00
Wim Taymans
a55546c9df
filter-chain: limit the number of graph in/out
...
There is no limit on the number of inputs/outputs of a graph but the
filter-chain assumes it is at most 128 and also that there are at most
128 buffer datas.
Increase the limit (1024) and clamp and log an error when the
filter-graph has more channels. Also clamp the buffer datas so that we
don't overflow the stack allocated buffers.
2026-05-01 12:29:12 +02:00
Wim Taymans
6cc92c0e2b
security: add missing NULL checks and fix error handling in modules
...
module-access: add NULL check after pw_properties_new for
socket_access.
module-pulse-tunnel: add NULL check after 4MB calloc for ring
buffer.
module-rt: add NULL check after calloc in thread create.
module-rtp-session: add goto error after failed
pw_net_parse_address instead of falling through.
module-snapcast-discover: fix missing null-termination on
network-received data before logging it as a string.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-30 18:38:32 +02:00
Wim Taymans
47ca937905
fix capture rate assignment using logical NOT instead of copy
...
Three modules had "impl->capture_info.rate = !impl->playback_info.rate"
which evaluates to 0 (logical NOT of a non-zero rate) instead of
copying the playback rate. This is a copy-paste typo from the line
above which correctly uses "= impl->capture_info.rate".
Affects module-filter-chain, module-loopback, module-example-filter.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-30 18:38:26 +02:00