Wim Taymans
ec825086f1
module-rtp: use helpers to convert between samples and msec
...
And make sure we don't do any useless float to double conversions.
2024-01-25 15:30:04 +01:00
Wim Taymans
9458367a50
module-rtp: Fix framecount vs ptime check
...
We should use framecount instead of impl->psamples.
2024-01-25 15:12:25 +01:00
Wim Taymans
9a5609de2b
modules: move some spa_debug_mem to the log
...
Instead of dumping to stderr, write it to the log file.
2024-01-11 17:49:50 +01:00
Dmitry Sharshakov
065e819f18
TODO: module-rtp: buffering for sender
...
This should be done to match packet size requirements (e.g. 1 ms) while allowing user's software to run at higher buffer size to not stutter.
This will require scheduling multiple rtp_audio_flush_packets calls per one rtp_audio_process_capture call
2023-12-20 09:35:22 +00:00
Dmitry Sharshakov
873e6119b8
module-rtp: handle framecount attribute
2023-12-20 09:35:22 +00:00
Dmitry Sharshakov
533161a766
module-rtp: add framecount to the SDP
...
Required for RAVENNA hardware.
Co-authored-by: Dewi Seignard <dewiweb@gmail.com>
2023-12-20 09:35:22 +00:00
Wim Taymans
5e750f6fb8
modules: place floats in properties in JSON format
...
Using %f will result in a locale dependent format and might not parse
with JSON parsers or even our own spa_atof() function.
2023-12-14 11:50:30 +01:00
Arun Raghavan
63bb128948
rtp-stream: Set rtp.ptime on senders not receivers
...
The pw_stream direction is inverted from what we want (input => sender).
2023-11-23 01:28:20 -05:00
Christian Glombek
cbac8c9040
module-rtp/stream: Add support for RAOP
2023-10-09 10:52:25 +02:00
Christian Glombek
8704aaa044
module-rtp/stream: Add getter for pw_stream state
2023-10-09 10:52:25 +02:00
Christian Glombek
89d935c9f6
module-rtp/stream: Add setter for property
2023-10-09 10:52:25 +02:00
Christian Glombek
1200bd7d20
module-rtp/stream: Add getter for property
2023-10-09 10:52:25 +02:00
Christian Glombek
35330cf461
module-rtp/stream: Add param_changed method
...
This method can be used to access the param_changed method of the
underlying pw_stream.
Also adds new public functions rtp_stream_set_param and
rtp_stream_update_params which plum things through to pw_stream_set_param
and pw_stream_update_params respectively.
2023-10-09 10:52:25 +02:00
Christian Glombek
9eba60a635
module-rtp/stream: Add ability to set marker on first packet
2023-10-09 10:52:25 +02:00
Wim Taymans
126e03ec73
rtp: add option to ignore SSRC
...
This is useful when there is a fixed receiver and the sender can be
restarted.
2023-07-06 12:55:28 +02:00
Dmitry Sharshakov
991e3928d4
rtp-stream: do not set false ptime values
2023-06-20 06:51:30 +00:00
Sebastian Jaeckel
d08439316b
rtp/stream: calculate and format the ptime property as float
2023-05-24 08:32:42 +00:00
Wim Taymans
6230154677
module-rtp: include config.h to get HAVE_OPUS
2023-03-13 12:50:32 +01:00
Wim Taymans
59d5d93878
module-rtp: fix compilation without opus
2023-03-12 19:04:14 +01:00
Wim Taymans
345582dd15
module-rtp: add opus encoding
2023-03-12 18:40:36 +01:00
Wim Taymans
bcc052f5f1
module-rtp: move stream init to specific media types
...
Move the stream function setup to a stream specific method.
Keep a separate stream format, that can be different later from the
rtp format once we add encoding.
Rename some methods to make them more unique.
2023-03-12 18:40:36 +01:00
Wim Taymans
f3230ca2e6
module-rtp: fix sender latency
...
The sender should ask for a latency that matches the packet size, not
the playout latency, that is for the receiver only.
2023-03-10 17:29:43 +01:00
Wim Taymans
f841a0d3f1
module-rtp: send journal feedback
...
Parse the journal and send feedback.
Handle the NO and RS commands.
2023-03-10 10:47:03 +01:00
Wim Taymans
c5effbd979
module-rtp: add timer for ck requests
...
Scale RTP timestamps against the clock, allow some jitter.
Make method to query current RTP timestamps.
2023-03-09 13:14:23 +01:00
Wim Taymans
8e5b9da177
module-rtp: fix direct timestamps
...
fix some other properties.
2023-03-09 13:14:23 +01:00
Wim Taymans
933743581b
module-rtp: fix rtp.media property
...
Use sess.media for the media type (audio/midi) because rtp.media is used
in the SDP to describe the media (midi and audio are both are audio).
2023-03-09 13:14:22 +01:00
Wim Taymans
be09198249
module-rtp: port source and sink to new stream
2023-03-09 13:14:22 +01:00
Wim Taymans
7a31278511
module-rtp: improve properties and some cleanups
2023-03-09 13:14:22 +01:00
Wim Taymans
c46e021734
module-rtp: improve properties
...
Improve refclk and ts-offset handling.
Add some more properties to avahi
2023-03-09 13:14:22 +01:00
Wim Taymans
2c28047370
module-rtp: make the streams sink/source
2023-03-09 13:14:22 +01:00
Wim Taymans
bf9236ec8d
module-rtp: improve node name and description
...
Don't auto connect audio either. There are more meant as source/sink
pairs.
2023-03-09 13:14:21 +01:00
Wim Taymans
7c04b42e38
module-rtp: improve properties
2023-03-09 13:14:21 +01:00
Wim Taymans
7da031c969
module-rtp: add new rtp-session module
...
The module uses the apple session setup for managing peer connections.
Make a generic rtp stream object, make midi and audio implementations.
2023-03-09 13:14:21 +01:00