This patch allows the use of the streamid option when using the SRT
protocol. For example, we can query the URL
srt://localhost:9710?streamid=demo if a stream server is listening on
localhost:9710 that supports multiple streams on the same server. Like
the others already implemented, this parameter can be overwritten in the
settings of the transport.
In a future patch, it may be good to support the full options. The
complete list can be found here:
https://github.com/Haivision/srt/blob/master/docs/APISocketOptions.md#list-of-options
A human-friendly version of this list can be found in the ffmpeg
documentation: https://ffmpeg.org/ffmpeg-all.html#srt
Signed-off-by: Thomas Guillem <thomas@gllm.fr>
(cherry picked from commit a55c95a9cc)
Signed-off-by: Steve Lhomme <robux4@ycbcr.xyz>
The deprecated macro `SRTO_TSBPDDELAY` has been deleted from SRT.
This prevents the compilation with SRT versions >= v1.4.2.
See the corresponding SRT commit 0e2201aff6b379979cec43fee5e8f162717f6346.
```
- SRTO_TSBPDDELAY = 23, // DEPRECATED. ALIAS: SRTO_LATENCY
```
The (unrecommended) `SRTO_LATENCY` should be used instead, which was
already available back then. See notice next to SRTO_LATENCY in the SRT
library source code for details on why it's not recommended.
Signed-off-by: Alexandre Janniaux <ajanni@videolabs.io>
(edited message)
(cherry picked from commit 6e8d774311)
Signed-off-by: Steve Lhomme <robux4@ycbcr.xyz>
for latency, maximum bandwidth, etc.
Signed-off-by: Thomas Guillem <thomas@gllm.fr>
(cherry picked from commit f98585725a) (edited)
edited:
* 4.0 used N_() on removed strings
* 3.0 needs advanced flag for add_password()
Signed-off-by: Steve Lhomme <robux4@ycbcr.xyz>
This is a refactoring code to support SRT connection recovery.
While doing this work, SRT modules support new features comparing
to the previous ones.
- Connection Recovery
When lost a SRT connection, this module can detect and try to re-connect.
- Interruptible by SRT APIs
'srt_epoll_wait' will be interrupted when all socket descriptors
are removed from its montoring list. Fortunately, SRT modules are using
only one socket.
- Platform Independent
Now, SRT modules no longer require to use a pipe. Therfore, from this version,
SRT modules can support Win32 platforms.
Based on code from:
Roman Diouskine <rdiouskine@haivision.com>
Signed-off-by: Justin Kim <justin.kim@collabora.com>
Signed-off-by: Thomas Guillem <thomas@gllm.fr>
(cherry picked from commit 867f005c50)
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
`eventfd` is a linux-specific API. `pipe` can provide similar
mechanisms to be platform-independent.
Signed-off-by: Justin Kim <justin.kim@collabora.com>
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
(cherry picked from commit c8bef6551e)
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
The properties and variables were changed while reviewing,
but I've failed to verify them fully.
Signed-off-by: Justin Kim <justin.kim@collabora.com>
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
The access_output_srt module is a SRT client to send a stream.
Signed-off-by: Justin Kim <justin.kim@collabora.com>
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>