fixes playback/stuttering with wrong mux/monotonically
increasing pts on frames that must be reordered.
no change for regular pts.
(cherry picked from commit 0834d39352)
The descrambling function is now called through an intermediate array
variable. This change has also added two extra ways to recover the
function name. Add support to parse and resolve any of them.
Fixes#26574
(cherry picked from commit 3df28fc51e)
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
0 should be returned in case of EOS or error, -1 means EAGAIN.
/me blames me for not reading the documentation.
(cherry picked from commit 249a76b921)
Signed-off-by: Thomas Guillem <thomas@gllm.fr>
0 should be returned in case of EOS or error, -1 means EAGAIN.
/me blames me for not reading the documentation.
(cherry picked from commit 59a3d85dd2)
Signed-off-by: Thomas Guillem <thomas@gllm.fr>
DRM modifiers communicate a description of the data layout in the buffers
exported/imported through various API.
On Intel HW this exports tiling information as well as potential compression.
Signed-off-by: Thomas Guillem <thomas@gllm.fr>
(cherry picked from commit 3633417edb)
Signed-off-by: Shuicheng Lin <shuicheng.lin@intel.com>
This will help automatically cancel outdated pipelines instead of having
to do so manually
(cherry picked from commit 64ff40e2d6)
Signed-off-by: Hugo Beauzée-Luyssen <hugo@beauzee.fr>
Add raw video fourcc conversion support to convert
from gstreamer representation (for strings that are
not equal to length 4) to vlc representation.
Signed-off-by: Thomas Guillem <thomas@gllm.fr>
(cherry picked from commit a6c52d8943)
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
Add support for vp9 and hevc
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
(cherry picked from commit 9894f84b12)
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
This fixes build breakage with latest nightly libc++. Since
2e2f3158c6,
fewer libc++ headers transitively include <algorithm>.
This protobuf header uses std::fill unconditionally, which is a
function provided by <algorithm>. (The surrounding code comment was
wrong/outdated - <algorithm> was needed on all platforms.)
The same seems to have been fixed in upstream protobuf as part
of a larger code sync:
ab4585a695 (diff-5cc9e8e347380b7bbc8fac8c06dc98100f3b5c076fcffa177e8ce11e753d4f7c)
(cherry picked from commit 5f6776416e)
Fix#26048
To avoid sending a lot of small UDP packets.
(cherry picked from commit 84bc80de23) (rebased)
rebased:
* 3.0 doesn't have struct typedefs
Signed-off-by: Steve Lhomme <robux4@ycbcr.xyz>
It's the same thing as SRT_PARAM_PAYLOAD_SIZE.
(cherry picked from commit c90ef66a55) (edited)
edited:
* 3.0 doesn't have struct typedefs
* 3.0 has advanced parameter in some settings
Signed-off-by: Steve Lhomme <robux4@ycbcr.xyz>
Otherwise the zero initialized p_sys->sock will be closed in
srt_schedule_reconnect().
(cherry picked from commit e452063d6e) (rebased)
rebased:
* 3.0 has vlc_mutex_destroy()
Signed-off-by: Steve Lhomme <robux4@ycbcr.xyz>
Firstly, SRTO_PAYLOADSIZE has no effect for receiver. Secondly,
since there is no negotiation of payload size between sender and
receiver, the receiver should use a buffer at least
SRT_LIVE_MAX_PLSIZE bytes, otherwise the data can be truncated.
So the default value of option SRT_PARAM_CHUNK_SIZE is
inappropriate. User may know exactly the sender's payload size
to set the value for SRT_PARAM_CHUNK_SIZE, but there is no much
gain for doing that.
(cherry picked from commit 0b0cc7ff60) (edited)
edited:
* 3.0 had the advanced flag in obsolete parameters
Signed-off-by: Steve Lhomme <robux4@ycbcr.xyz>
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>
Recent commits use defines like SRT_LIVE_DEF_PLSIZE, which are
only available starting with that srt version.
(cherry picked from commit 80b149ddf9) (edited)
edited:
* 3.0 was restricting to < 1.3.0
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>
1. code can be shared between access/srt.c and access_output/srt.c
2. created a URL parser for SRT parameters stored in URL
Signed-off-by: Thomas Guillem <thomas@gllm.fr>
(cherry picked from commit 15dea8ecb8) (edited)
edited:
* access out was missing dummy.cpp on 3.0
Signed-off-by: Steve Lhomme <robux4@ycbcr.xyz>
libsrt input is asynchonously buffered internally and it makes sense to empty
those receive buffers as much as possible on every signaled receive event from
epoll. Doing so reduces context switching/re-scheduling and improves
performance.
Signed-off-by: Thomas Guillem <thomas@gllm.fr>
(cherry picked from commit ca7b0fcc33) (rebased)
rebased:
* master has direct stream_sys_t typedef
Signed-off-by: Steve Lhomme <robux4@ycbcr.xyz>
It is possible to get an empty read from libsrt and it should not be treated as
EOF.
Signed-off-by: Thomas Guillem <thomas@gllm.fr>
(cherry picked from commit 34048bef8e)
Signed-off-by: Steve Lhomme <robux4@ycbcr.xyz>
VLC doesn't use pkg-config --static but hacks the .pc files, so do
the same here. Also fix srt to produce valid pc files.
Signed-off-by: Konstantin Pavlov <thresh@videolan.org>
(cherry picked from commit dd597699c3)
Signed-off-by: Steve Lhomme <robux4@ycbcr.xyz>