Wim Taymans
8495bffee5
modules: use safer pod parsing for control sequence
2025-07-31 11:50:11 +02:00
Pauli Virtanen
dc618d37c6
modules: fix missing free/close and length checks
...
Fix some missing free and close.
Fix not checking length of received netjack data.
2025-06-14 15:24:05 +03:00
Wim Taymans
664359a020
netjack2: use strncpy to copy the header
...
It pads the remaining bytes in the header with 0 bytes so that the
memory doesn't contain uninitialized data.
2025-04-30 11:02:58 +02:00
Wim Taymans
6e8db1cd4a
netjack2: handle connection errors in more cases
2025-04-29 18:09:02 +02:00
Wim Taymans
18a5f884be
netjack2: make function to clear events
...
Make a separate function to clear events instead of passing NULL as the
midi buffer and segfaulting.
2025-04-29 16:26:30 +02:00
Wim Taymans
a460842769
netjack2: fix the large midi events offset
...
The midi events have their large data offsets relative to the start of
the buffer and the large data is at the end of the buffer. Because we
copied it down, right after the events, but we didn't adjust the
offsets, calculate a correction offset when unpacking the events.
2025-03-19 17:53:05 +01:00
Wim Taymans
e3a068de7d
netjack2: set correct max midi buffer size
...
It depends on the negotiated period size, not the graph quantum.
2025-03-19 17:53:05 +01:00
Wim Taymans
3be88eacb8
netjack2: copy large midi events to the end of the buffer
...
There is no need to keep an extra free byte at the end and it will cause
us to lose a byte when we copy the large midi events down.
2025-03-19 17:53:05 +01:00
Wim Taymans
91806ff747
netjack: handle overflow in midi buffer append
2025-03-19 17:53:05 +01:00
Wim Taymans
33584dae1d
ump: handle sysex from UMP to MIDI1 better
...
SysEx in UMP can span multiple packets. In MIDI1 we can't split them up
into multiple events so we need to collect the complete sysex and then
write out the event.
Fixes SysEx writes to ALSA seq by running the event encoder until a
valid packet is completed.
Also fixes split MIDI1 packets in the JACK API when going through the
tunnel or via netjack.
2025-03-19 17:53:05 +01:00
Wim Taymans
d9e7a10b0d
modules: accept and produce UMP only
2024-07-30 09:38:40 +02:00
David Coles
5d7624001d
Add spa/utils/endian.h
...
This provides access to GNU C library-style endian and byteswap functions.
Windows doesn't provide pre-processor defines for endianness, but
all current Windows architectures (X32, X64, ARM) are little-endian.
2024-07-01 15:28:58 +00:00
Wim Taymans
d0a2e6316b
spa: small cleanups
...
Initialize result variable.
Use strncpy to avoid warnings about using non-NULL terminaded strings.
2024-01-10 15:51:01 +01:00
Wim Taymans
4bb3e292c5
netjack2: remove hardcoded buffer size
2023-10-13 13:40:22 +02:00
Niklāvs Koļesņikovs
3be07c7de2
src/modules/meson: make Opus custom modes optional for NetJack2
...
Signed-off-by: Niklāvs Koļesņikovs <89q1r14hd@relay.firefox.com>
2023-06-14 13:54:08 +03:00
Wim Taymans
deba261a1b
module-netjack2: fix compilation without OPUS
2023-06-12 18:25:53 +02:00
Wim Taymans
19f3e422e1
module-netjack2: add int support
2023-06-12 17:01:13 +02:00
Wim Taymans
8dfb22d12b
module-netjack2: add opus support
2023-06-12 11:44:50 +02:00
Wim Taymans
f0e8b95d76
module-netjack2: do some more checks
...
Check packet size and avoid overflows when receiving data.
2023-06-09 13:37:39 +02:00
Wim Taymans
d35e514549
module-netjack2: samples are transmitted in little endian
...
So swap them on big endian.
2023-06-09 12:26:39 +02:00
Wim Taymans
9dd5bab535
module-netjack2: add MIDI send and receive
2023-06-08 16:38:53 +02:00
Wim Taymans
cc82715325
module-netjack2: refactor
...
Move common code to a separate file.
2023-06-05 10:20:43 +02:00