Commit Graph

78383 Commits

Author SHA1 Message Date
Hugo Beauzée-Luyssen aa76328c57 NEWS: Mention libflac update 2022-02-24 11:02:04 +01:00
Hugo Beauzée-Luyssen 00a01eb254 CI: Add Windows release jobs 2022-02-24 08:26:23 +00:00
Steve Lhomme c3e2ac604a contrib: update to flac 1.3.4
(cherry picked from commit a49cca05d3)
Signed-off-by: Hugo Beauzée-Luyssen <hugo@beauzee.fr>
2022-02-24 08:24:42 +01:00
Jean-Baptiste Kempf 758b718347 Update more NEWS for 3.0.17 2022-02-22 19:02:09 +01:00
Hugo Beauzée-Luyssen 66f4251107 Update NEWS 2022-02-22 13:51:55 +00:00
Steve Lhomme ff0e412d42 tools: protoc: fix compilation with recent clang
Similar to 553ed5fa94 found in contribs.

Co-authored-by: Martin Storsjö <martin@martin.st>
2022-02-22 13:04:52 +00:00
Vikram Fugro e4869da270 gstdecode: handle fourcc mismatch between gst vlc
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>
2022-02-22 11:26:25 +00:00
Tristan Matthews 7ecfff9487 gstdecode: add AV1
(cherry picked from commit 5820200442)
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
2022-02-22 11:26:25 +00:00
Vikram Fugro f12b4ed700 gstdecode: Add support for more video codecs
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>
2022-02-22 11:26:25 +00:00
Mitch Capper d3e78c235b croppadd: handle metadata rotated videos
(cherry picked from commit 419ad46d79)
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
2022-02-22 10:49:01 +00:00
Thomas Guillem 4d0cc7a55f fourcc: add more GeoVision FOURCC
Fixes GeoVision video playback via the avi demuxer.

(cherry picked from commit 6372cce4c9)
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
2022-02-21 10:21:47 +01:00
Martin Storsjö 553ed5fa94 contrib: protobuf: Apply a patch to avoid relying on transitive includes
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)
2022-02-19 17:23:58 +02:00
Jean-Baptiste Kempf 8276f2d90f Contribs: update libarchive to 3.6.0
Fixes CVE-2021-31566, CVE-2021-36976

(cherry picked from commit e308b8c851)
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
2022-02-17 19:43:11 +00:00
David Fuhrmann 548ee5da6c macOS build.sh: Blacklist linkat and unlinkat
Those are only available starting macOS 10.10.
2022-02-17 19:43:11 +00:00
Jean-Baptiste Kempf 0d20e689e2 Contribs: update NFS to 5.0.1
(cherry picked from commit 50baf56740)
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
2022-02-17 19:43:11 +00:00
Jean-Baptiste Kempf 329b852d6f Contribs: update mpg123 to 1.29.3
(cherry picked from commit d67176127c)
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
2022-02-17 19:43:11 +00:00
Jean-Baptiste Kempf 1ce898456a Contribs: update Twolame to 0.4.0
(cherry picked from commit fb1dd7706b)
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
2022-02-17 19:43:11 +00:00
Jean-Baptiste Kempf a448c95971 Contribs: update SRT to 1.4.4
(cherry picked from commit 9a289291d0)

Signed-off-by: Steve Lhomme <robux4@ycbcr.xyz>
2022-02-17 13:46:14 +00:00
Hugo Beauzée-Luyssen fe971a8f17 contribs: srt: Fix build with gcc11
(cherry picked from commit a49c449f1d)

Signed-off-by: Steve Lhomme <robux4@ycbcr.xyz>
2022-02-17 13:46:14 +00:00
Zhao Zhili d0b9175040 access_output/srt: send data in payload_size chunks
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>
2022-02-17 13:46:14 +00:00
Zhao Zhili 4c7cf49f5c access_output/srt: simplify always true condition
(cherry picked from commit 853df2675c)

Signed-off-by: Steve Lhomme <robux4@ycbcr.xyz>
2022-02-17 13:46:14 +00:00
Zhao Zhili 29faf90e38 access_output/srt: obsolete SRT_PARAM_CHUNK_SIZE
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>
2022-02-17 13:46:14 +00:00
Zhao Zhili d7146aca48 srt: comment out too verbose log
(cherry picked from commit e6b547ccdc)

Signed-off-by: Steve Lhomme <robux4@ycbcr.xyz>
2022-02-17 13:46:14 +00:00
Zhao Zhili 67faec3332 srt: initialize p_sys->sock to SRT_INVALID_SOCK
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>
2022-02-17 13:46:14 +00:00
Zhao Zhili e010ae8e47 srt: Fix missing srt_cleanup on error path
(cherry picked from commit 52e3f716bc) (rebased)
rebased:
* 3.0 is freeing psz_host

Signed-off-by: Steve Lhomme <robux4@ycbcr.xyz>
2022-02-17 13:46:14 +00:00
Zhao Zhili 2534aa80b5 srt: obsolete SRT_PARAM_CHUNK_SIZE and SRT_PARAM_PAYLOAD_SIZE
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>
2022-02-17 13:46:14 +00:00
Francois Cartegnie 5eae57a0f8 contribs: bump srt to 1.4.2
fixes crashes
removes now unused patches

(cherry picked from commit 0e7afc72a2)

Signed-off-by: Steve Lhomme <robux4@ycbcr.xyz>
2022-02-17 13:46:14 +00:00
Yohann D'ANELLO e19fdb24d2 srt: add stream ID option
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>
2022-02-17 13:46:14 +00:00
Julien Montant 8db1f5e94f srt: fix build issue with recent SRT library
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>
2022-02-17 13:46:14 +00:00
Francois Cartegnie 9b590f6e2e access: srt: use define for variables
(cherry picked from commit 179579703b)

Signed-off-by: Steve Lhomme <robux4@ycbcr.xyz>
2022-02-17 13:46:14 +00:00
Aaron Boxer b397367596 srt: fix bug in setting passphrase
Signed-off-by: Thomas Guillem <thomas@gllm.fr>
(cherry picked from commit ce386056d0)

Signed-off-by: Steve Lhomme <robux4@ycbcr.xyz>
2022-02-17 13:46:14 +00:00
Thomas Guillem 6b7bc6e2ec access_out: srt: fix missing config.h include
(cherry picked from commit e7e608e84e) (rebased)
rebased:
* 3.0 doesn't have struct typedefs

Signed-off-by: Steve Lhomme <robux4@ycbcr.xyz>
2022-02-17 13:46:14 +00:00
David Fuhrmann 2721173c27 configure.ac: Require at least srt 1.3.0
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>
2022-02-17 13:46:14 +00:00
Aaron Boxer d5f59f92e0 srt: parse url and set options
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>
2022-02-17 13:46:14 +00:00
Aaron Boxer 9ef542afc0 srt: move common code to single file
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>
2022-02-17 13:46:14 +00:00
Roman Diouskine d1a26ef553 srt: Read several chunks per blocking read call
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>
2022-02-17 13:46:14 +00:00
Olivier Crête bcd9305655 srt: Remove eof code
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>
2022-02-17 13:46:14 +00:00
Olivier Crête e5f7110383 contribs: srt: Fix pkgconfig file generation
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>
2022-02-17 13:46:14 +00:00
Jean-Baptiste Kempf 85d3a0505c Contribs: srt, don't link to pthreadGC2 on Mingw
(cherry picked from commit e9ed3a579b)

Signed-off-by: Steve Lhomme <robux4@ycbcr.xyz>
2022-02-17 13:46:14 +00:00
Olivier Crête 6b1c2c4527 contrib: Update SRT to 1.3.1
Almost the same as the previous one but squashing two patches which should have been and improving the inet_ntop() removing patch.

Skipping 1.3.0 as it was a bad version. Also removed all
custom patches are they don't seem to be required anymore, but
added new ones to make it build with MingW.

Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
(cherry picked from commit e4e95613cc) (edited)
edited:
- don't force pthreadGC2 but pthread
- removed non-gnu detection

Signed-off-by: Steve Lhomme <robux4@ycbcr.xyz>
2022-02-17 13:46:14 +00:00
Rémi Denis-Courmont 4524690456 srt: remove tautology
(cherry picked from commit 90b7919115)

Signed-off-by: Steve Lhomme <robux4@ycbcr.xyz>
2022-02-17 13:46:14 +00:00
Rémi Denis-Courmont 55dd7e85e3 srt: remove tautology
(cherry picked from commit d36c9ea4d1)

Signed-off-by: Steve Lhomme <robux4@ycbcr.xyz>
2022-02-17 13:46:14 +00:00
Rémi Denis-Courmont a72f1f8d94 srt out: remove redundant code
(cherry picked from commit ae882e1872)

Signed-off-by: Steve Lhomme <robux4@ycbcr.xyz>
2022-02-17 13:46:14 +00:00
Rémi Denis-Courmont aed2108cd1 srt: remove redundant code
(cherry picked from commit 198f754d83)

Signed-off-by: Steve Lhomme <robux4@ycbcr.xyz>
2022-02-17 13:46:14 +00:00
Francois Cartegnie 08b36ec7e3 demux: avformat: fix IORead EOF value
(cherry picked from commit b7c97da03b)
Signed-off-by: Thomas Guillem <thomas@gllm.fr>
2022-02-17 06:55:51 +00:00
Thomas Guillem 58aba0bc59 samba: limit the read size
Fixes #22909

(cherry picked from commit abf527b59d)
Signed-off-by: Thomas Guillem <thomas@gllm.fr>
2022-02-17 06:38:27 +00:00
Ronald S. Bultje b15e4043c6 dav1d: continue decoding on recoverable errors
Fixes #26259 (closed), #26579 and dav1d/#383.

(cherry picked from commit e890cc9233)
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
2022-02-15 20:00:02 +01:00
David Fuhrmann 58729fb1b1 contrib: bluray: Enable bdjava for arm macOS again
OpenJDK builds now exist for arm macOS, and both compilation and execution
of java blurays seem to work fine.

Closes #26023

(cherry picked from commit 25556bcb4e)
2022-02-13 19:19:30 +01:00
Steve Lhomme 1b500a1969 contrib: srt: link directly with pthread on Windows
That's the winpthread we build and depend on.

And apply the pthread patch on all targets like it was before this patchset.
2022-02-11 09:50:22 +01:00
Steve Lhomme b608c5f655 contrib: ffmpeg: add pthread dependency for win32
As for other contribs that rely on the winpthread/pthread-w32.
2022-02-11 09:48:05 +01:00