Wim Taymans
7a76e55c36
module-looback: improve data copy between streams
...
First go over all the input and collect pointers and the size that we
need to copy. Then go over all destinations and copy the source or
clear the buffer memory.
This fixes the problem where extra planes in the destination would get
a 0 size, which would make the converter produce 0 output. It also
ensure that the output size is consistent.
2022-07-13 16:21:25 +02:00
Wim Taymans
35082e4f4b
pulse-server: add the delay
...
Actually add the delay to the buffered amount of time instead of
overwriting.
2022-07-13 10:49:26 +02:00
Wim Taymans
855d17ac1b
pulse-server: add some debugging
2022-07-13 10:42:00 +02:00
Wim Taymans
00d18217a6
avb: remove unused line
...
Probably a leftover from earlier merge..
2022-07-12 15:53:51 +02:00
Wim Taymans
4304a147e9
avb: properties are owned by avb object
2022-07-12 12:37:58 +02:00
Wim Taymans
10e54dc0ee
avb: fill in some more values
2022-07-12 12:27:22 +02:00
Wim Taymans
9bfb23f3f8
avb: don't include ethernet header in in packets
...
Move vlan_id and prio to the stream.
2022-07-12 12:27:22 +02:00
Wim Taymans
dec2bdf241
avb: reply with advertise to discover
2022-07-12 12:27:22 +02:00
Wim Taymans
a34417eed0
avb: handle command errors better
...
Ignore unknown commands.
Set the right reply message type for unsupported methods.
2022-07-12 12:27:22 +02:00
Wim Taymans
fa9fcbe964
avb: save and load maap state
2022-07-12 12:27:22 +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
e0d6b2bb4f
avb: implement streams
...
Add in input/output stream, setup the talker/listeners.
Implement IEC61883 audio packets, send and receive data.
Implement talker encoding.
With this, audio can be sent and received from MOTU M64.
2022-07-12 12:27:22 +02:00
Wim Taymans
460cedbc86
avb: 0 was used for no-event
2022-07-12 12:27:22 +02:00
Wim Taymans
2344ad7869
avb: fix compilation
2022-07-12 12:27:22 +02:00
Wim Taymans
c07e16c728
avb: use separate sockets per mac/type
2022-07-12 12:27:22 +02:00
Wim Taymans
42a4108c08
avb: add packet filter
2022-07-12 12:27:22 +02:00
Wim Taymans
ba98a2743c
avb: add missing file
2022-07-12 12:27:22 +02:00
Wim Taymans
9a26df3478
avb: improve state machine
...
Emit per attribute callbacks.
Notify events immediately.
2022-07-12 12:27:22 +02:00
Wim Taymans
773bd610aa
avb: avbtp -> avb
2022-07-12 12:27:22 +02:00
Wim Taymans
d5b4c12684
avb: improve MRP state handling
2022-07-12 12:27:22 +02:00
Wim Taymans
0868f0c7b0
avb: implement more MRP
...
Join a READY listener MRP attribute when we recveive the transmit
response.
Also listen for talker attributes.
Remove attribute callbacks, we don't need them because we moved the
packet construction in the MRP users.
Implement notify for listener attributes.
A connect will now make my MOTU send samples to PipeWire.
2022-07-12 12:27:22 +02:00
Wim Taymans
f64f8cdd4d
avb: more work
...
Implement generic MRP parsing.
Implement more MRP messages.
Implement MRP timeouts.
Implement MRP join/leave.
Prepare for generating and sending MRP packets.
2022-07-12 12:27:22 +02:00
Wim Taymans
0efc02cea6
avb: add more state machine
2022-07-12 12:27:22 +02:00
Wim Taymans
893251c8eb
avb: add beginnings of MRP/MMRP/MSRP/MVRP/SRP
2022-07-12 12:27:22 +02:00
Wim Taymans
911378651b
avb: implement some more methods
...
Only reply to messages for us.
2022-07-12 12:27:22 +02:00
Wim Taymans
3cc21c6f5b
avb: implement acmp connect/disconnect commands
2022-07-12 12:27:22 +02:00
Wim Taymans
50199c9824
avb: use descriptors for ADP
...
Remove some of the json parsing for now, work with descriptors.
Remove some parsing code.
Implement GET_AVB_INFO.
Keep descriptors in a list.
Add some utils.
2022-07-12 12:27:22 +02:00
Wim Taymans
b6b8471540
avb: add some more descriptors
...
PipeWire Streams now show up in Hive.
2022-07-12 12:27:22 +02:00
Wim Taymans
4613c7822f
avb: implement some descriptors
...
Work on raw ethernet frames.
2022-07-12 12:27:22 +02:00
Wim Taymans
da14e9f59d
avb: implement some more AEM
2022-07-12 12:27:22 +02:00
Wim Taymans
287e8cfe51
avb: clean up some packets
...
Listen to all messages. We don't seem to receive TSN messages from our
local host it seems.
Reply with not-implemented for an AEM_COMMANDS.
Implement some mode ADP messages.
2022-07-12 12:27:22 +02:00
Wim Taymans
07a4c5032e
avb: add aecp stubs
2022-07-12 12:27:22 +02:00
Wim Taymans
dc44a61ef3
avbtp: add some more fields
...
Add ADP entries timeout
2022-07-12 12:27:22 +02:00
Wim Taymans
f470354e67
avbtp: add beginnings of AVB manager module
2022-07-12 12:27:22 +02:00
Wim Taymans
de65fd442f
modules: use TARGET_OBJECT instead of NODE_TARGET
2022-07-11 13:52:35 +02:00
Wim Taymans
ea3a81dc29
raop-sink: fix some compilation errors
2022-07-07 19:56:55 +02:00
Wim Taymans
4da583a44b
raop-sink: reuse timing packet send
...
Use send() instead of write(), use sendto() for the packets so that we
can specify a destination.
2022-07-07 14:00:38 +02:00
Christian Glombek
2c8d25b4dc
module-raop-sink: Reply on timing socket earlier
...
Some AirPlay 2 devices require responding on the UDP timing port
right after sending the SETUP request.
2022-07-07 11:20:39 +00:00
Davis Davalos-DeLosh
eb3c2f3e95
module-raop: Add support for auth_setup
...
This step is required by some devices.
Co-authored-by: Christian Glombek <lorbus@fedoraproject.org>
2022-07-07 11:20:39 +00:00
Pauli Virtanen
167537dffc
pulse-server: fix warning
...
The rest of the fields are zeroed later in reply_create_record_stream,
but static analysis doesn't know that.
2022-07-06 14:36:22 +00:00
Pauli Virtanen
a46d4aedd7
pulse-server: work around race condition in SET_DEFAULT/MOVE_*
...
The default metadata update may be delayed for some time after
SET_DEFAULT, since the session manager has to work on it.
MOVE_* commands need to know what the client thinks is the current
default sink, so that they can decide between "move to default" and
"move to specific device".
To avoid race condition here, stash the default value set by the client
and use it in the MOVE_* commands, until the metadata update arrives.
2022-07-04 15:57:31 +00:00
Adolfo Rodrigues
6188e4d074
pulse-server: tweak maxlength some more
...
Make the buffer size at least 4 times as large as the fragment size to avoid
xruns.
2022-07-04 15:56:16 +00:00
Wim Taymans
8b649c4510
pulse-server: optimize property allocations
...
Only allocate a new properties object when we actually need to
change something.
2022-07-02 11:27:54 +02:00
Davide Beatrici
a31989b46d
pulse-server: add card properties to sinks and sources
...
To match the original PulseAudio server's behavior.
2022-07-01 19:54:44 +00:00
Davide Beatrici
e0731f0ffa
pulse-server: map "device.sysfs.path" to "sysfs.path"
2022-06-30 08:41:30 +02:00
Wim Taymans
67db81729e
modules-raop: handle uninitialized vars
2022-06-27 18:51:28 +02:00
Wim Taymans
532fc29c85
docs: improve docs a little
2022-06-23 18:55:02 +02:00
Wim Taymans
df457e99b2
roc: use native float samples
2022-06-23 12:48:59 +02:00
Wim Taymans
60cbc44526
modules: improve docs
2022-06-23 12:48:45 +02:00
Wim Taymans
c8b8b24a9c
modules: fix format parsing
...
Use the same logic for parsing the format.
2022-06-23 12:39:51 +02:00