Wim Taymans
b094057b0b
handle NULL latency param
...
Fixes #3504
2023-09-13 11:13:48 +02:00
Wim Taymans
3698593481
spa: reuse code to clear the timers
...
We have set_timeout and enable_flush_timer functions to disable the
timers so use those.
2023-03-24 17:55:15 +01:00
Wim Taymans
7b6680ba57
plugins: simplify target_ handling
...
Drivers should only read the target_ values in the timeout, update the
timeout with the new duration and then update the position.
For the position we simply need to add the previous duration to the
position and then set the new duration + rate.
Otherwise, everything else should read the duration/rate and not use
the target_ values.
2023-03-24 11:36:15 +01:00
Wim Taymans
6e8625cf96
node: update the duration/rate from the target
...
Before scheduling the graph from the driver, update the duration and
rate with the new targets.
2023-03-23 18:39:27 +01:00
Barnabás Pőcze
934ab3036e
treewide: use SPDX tags to specify copyright information
...
SPDX tags make the licensing information easy to understand and clear,
and they are machine parseable.
See https://spdx.dev for more information.
2023-02-16 10:54:48 +00:00
Wim Taymans
f472fd736d
fix includes
...
Only include debug we need. We usually only need the debug types.
2023-01-18 13:12:16 +01:00
Wim Taymans
97aafe2234
fix use_buffers checks
...
We can set 0 buffers even if there is no format.
Return -ENOSPC when too many buffers are set.
2023-01-10 12:30:25 +01:00
Wim Taymans
f44d55f6c2
handle read from timerfd correctly
...
When reading the timerfd gives an error, we should return right away
because the timeout did not happen.
If we change the timerfd timeout before reading it, we can get -EAGAIN.
Don't log an error in that case but wait for the new timeout.
2022-12-09 17:30:31 +01:00
Wim Taymans
74447acedb
Add some more format checks
...
The format parse functions don't really check if the parsed values
make any sense so we need to to this ourselves.
2022-11-03 13:10:32 +01:00
Demi Marie Obenour
c1920163d5
Fix calls to sendmsg()
...
Align cmsg buffers properly and use MSG_NOSIGNAL.
2022-09-23 16:33:36 +00:00
Wim Taymans
9123710971
spa: clean up some port io checks
...
We should not generate a warning.
2022-09-01 15:39:34 +02:00
Wim Taymans
2fa1b4384b
spa: don't warn for NULL io
...
The io is set to NULL when the port becomes unnegotiated.
2022-09-01 15:31:14 +02:00
Wim Taymans
aaa015d0c0
avb: fix compilation on big endian
2022-07-19 13:06:52 +02:00
Wim Taymans
4062077472
avb: remove wrong cargs
...
Fix a typo
2022-07-13 13:14:07 +02:00
Wim Taymans
f043922b24
avb: implement maap
...
Implement the maap state machine.
Use maap for the destination address of talker streams.
2022-07-12 12:27:22 +02:00
Wim Taymans
9f25adc0f6
avb: use spa dll
2022-07-12 12:27:22 +02:00
Wim Taymans
af4875eb47
avb: remove libavtp dependency
2022-07-12 12:27:21 +02:00
Wim Taymans
c79fddf007
avb: handle xruns better
...
Don't stop early, fill gaps with silence.
2022-07-12 12:27:21 +02:00
Wim Taymans
87053365ea
avb: handle sink follower
...
We need to flush out the packets when we are a follower and when we get
data because our timer is not running as a sink.
2022-07-12 12:27:21 +02:00
Wim Taymans
4d6c71bf12
avb: use iovec to read from ringbuffer
2022-07-12 12:27:21 +02:00
Wim Taymans
5c3629a165
avb: add follower mode
...
As a follower we disable our own timer and produce a buffer from what we
have when _process is called.
2022-07-12 12:27:21 +02:00
Wim Taymans
ff5201ef3d
avb: check seq
...
Avoid infinite loops.
Check sequence number and warn
Use 32 frames per pdu in example.
2022-07-12 12:27:21 +02:00
Wim Taymans
200f591a3d
avb: add source
2022-07-12 12:27:21 +02:00
Wim Taymans
552a0056b5
avb: more work
...
Handle properties.
Fix format negotiation.
Wait in underrun.
2022-07-12 12:27:21 +02:00
Wim Taymans
537a38355a
avb: more work
2022-07-12 12:27:21 +02:00
Wim Taymans
f95b8263e6
avb: more improvements
2022-07-12 12:27:21 +02:00
Wim Taymans
1adc94df11
start of AVB support
2022-07-12 12:27:21 +02:00