RIST for Reliable Internet Stream Transport (RIST) Protocol.
The implementation follows the Video Services Forum (VSF) Technical
Recommendation TR-06 which defines an ARQ based UDP transmission protocol
for real-time streaming over lossy networks (internet, wifi, etc).
Signed-off-by: Thomas Guillem <thomas@gllm.fr>
Do not declare *_sys_t typedefs globally in vlc_common.h. Instead,
declare them locally in each module that provides a definition.
This paves the way to move C++ definitions into anonymous namespaces in
order to respect C++ ODR.
The picture_resource_t and sout_stream_id_sys_t typedefs will be handled
separately, since they require specific additional changes.
See #18033
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
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>
For encrypted transmitting, `passphrase` and `key-length`
properties are added.
Signed-off-by: Justin Kim <justin.kim@collabora.com>
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>
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>