1
mirror of https://code.videolan.org/videolan/vlc synced 2024-09-16 16:02:54 +02:00
Commit Graph

269 Commits

Author SHA1 Message Date
Francois Cartegnie
ecf1571e19 access: rtp: fix null deref on missing codec parameters 2022-12-16 16:38:49 +00:00
Francois Cartegnie
fa7e785876 demux: es: store frame size in header struct 2022-10-11 07:29:22 +00:00
Francois Cartegnie
e95d07a745 demux: es: rework reading frame header 2022-10-11 07:29:22 +00:00
Benjamin King
e41e3ea060 modules: fix some inconsistent #includes. 2022-09-29 04:55:14 +00:00
Alexandre Janniaux
138b46764c rtp: raw: fix use-after-free 2022-06-21 14:32:21 +00:00
Francois Cartegnie
1e9613f8ea access: rtp: add opus 2022-06-02 13:57:05 +00:00
Steve Lhomme
36017f9c3a modules: add a fancy name to internal threads 2022-05-18 07:52:09 +02:00
Romain Vimont
d651ee5bc1 rtp: fix initialization
The pointer pt->opaque was initialized only under some conditions in
rtp_h264_open(), but its value was used unconditionnaly in
rtp_h264_init().

Reported by ASAN.
2022-05-04 22:20:28 +00:00
Steve Lhomme
b469857dec vlc_threads: remove the thread priority when creating a thread
It is not used in POSIX systems. On other system it probably don't make a
difference anymore, only Windows has actual useful values for
VLC_THREAD_PRIORITY_XXX. The synchronization is more important than having some
threads called more often than others.
2022-04-27 08:16:28 +00:00
Marvin Scholz
bc298c2999 rtp/xiph: doc: fix file name 2022-04-13 02:51:32 +00:00
Rémi Denis-Courmont
ba8e70e2b6 rtp: raw video payload format parser 2022-03-16 07:46:28 +00:00
Rémi Denis-Courmont
2ba4b4e5e2 rtp: helpers to parse a=fmtp lines 2022-03-16 07:46:28 +00:00
Francois Cartegnie
a1a4763d50 access: rtp: add h264 payload parser module 2022-01-28 15:14:25 +01:00
Alexandre Janniaux
6b7a57f984 modules: fix typos
Typos found and reworked from codespell.
2022-01-08 15:19:32 +00:00
Rémi Denis-Courmont
c0ecf026b1 rtp: fix error return 2021-12-21 08:58:36 +00:00
Lyndon Brown
6f68f89498 plugins: purge use of set_category()
see e967f81f6a.

note, this does **not** affect cat-based module selection items
(of which there are just three in use by the core), since that
mechanism uses subcats not cats.
2021-12-20 09:45:01 +00:00
Rémi Denis-Courmont
a461aab158 rtp/pcm: add audio/32kadpcm
This is really big-endian G.726.
2021-12-06 23:30:28 +00:00
Rémi Denis-Courmont
267113c912 Add little-endian variant of G.726
Due to some ITU-T brain damage, this ADPCM codec is used in different
endianess depending on the scenario...
2021-12-06 23:30:28 +00:00
Rémi Denis-Courmont
a6a673d645 rtp/pcm: fix typo
The fourCC value is not really used for anything in this particular
case, so this does not fix any functional bug.
2021-12-06 23:30:28 +00:00
Rémi Denis-Courmont
fcb3359d5e rtp/ac3: add support for E-AC-3 (audio/eac3) 2021-12-03 07:43:07 +00:00
Rémi Denis-Courmont
a368e7c6a9 rtp/ac3: add a private structure 2021-12-03 07:43:07 +00:00
Rémi Denis-Courmont
091c8500ed rtp: add audio/ac3 payload parser 2021-12-03 07:43:07 +00:00
Rémi Denis-Courmont
76b3ad36d3 rtp/mpeg12: limit queue size
To avoid resource exhaustion DoS, make sure that the queue size cannot
grow infinitely with accumulated fragments of a singke packet.
2021-11-30 22:00:37 +02:00
Rémi Denis-Courmont
ded65db455 rtp/mpeg12: add video/MP1S and video/MP2P formats 2021-11-30 22:00:37 +02:00
Rémi Denis-Courmont
8dd5c1f252 rtp: remove hard-coded video/MP2T parser 2021-11-30 22:00:37 +02:00
Rémi Denis-Courmont
250b296c0d rtp/mpeg12: add video/MP2T format 2021-11-30 22:00:37 +02:00
Rémi Denis-Courmont
2db75e088d rtp: remove hard-coded video/MPV parser 2021-11-30 22:00:37 +02:00
Rémi Denis-Courmont
30d50a4eb0 rtp/mpeg12: add basic support for video/MPV 2021-11-30 22:00:37 +02:00
Rémi Denis-Courmont
fabe46b170 rtp: improve PT documentation 2021-11-30 22:00:37 +02:00
Rémi Denis-Courmont
aa12089ea8 rtp: treat M bit as audio discontinuity
PCM and MPEG Audio have the M bit set at the start of a "talk spurt".
That is IETF AVT speak for audio after a gap of silence, so flag a
discontinuity.
2021-11-30 22:00:37 +02:00
Rémi Denis-Courmont
49d67910bb rtp: add pktinfo to convey the M bit
The M bit is part of the common RTP header, but handling is entirely
dependent on the payload format, so we have to pass it somehow.

The pktinfo structure will probably need to be extended to also convey
data from extension headers, e.g. picture orientation or (AV-1) decoding
dependency data.
2021-11-30 22:00:34 +02:00
Rémi Denis-Courmont
b18db61355 rtp/mpa: packetize properly
RTP audio/MPA format is mostly but not quite packetised.
Do the strictly needful in the payload format handler.
2021-11-30 19:01:24 +00:00
Rémi Denis-Courmont
b39b392e8d rtp: do not assume all packets have a PTS 2021-11-30 19:01:24 +00:00
Rémi Denis-Courmont
841c152223 rtp: do not overflow PTS (fixes #26258)
VLC does not handle negative timestamps so far. So the initial NTP
reference timestamp should be positive enough that the extrapolated
PTS will not end up negative when the RTP packet timestamp is lower
than the reference RTP timestamp. In that case the PTS is lower than
the NTP reference.

While 2^62 was a very safe value in that respect, it lead to integer
overflows in the clock and in time base conversion code. To avoid this,
we pick a default NTP reference value equal to the closest power of two
of the NTP time of this changeset: 2^52 is in 2042 CE, 2^51 in 1971 CE.
2021-11-30 19:01:24 +00:00
Rémi Denis-Courmont
7c4c14d340 rtp/pcm: add audio/G727 ADPCM format 2021-11-29 15:05:58 +00:00
Rémi Denis-Courmont
10576415a5 rtp/pcm: add audio/G726-{16,24,32,40} ADPCM formats 2021-11-29 15:05:58 +00:00
Rémi Denis-Courmont
8a56f80c59 rtp/xiph: convert and resurrect as module
This adds standard support for RTP Vorbis
and draft support for RTP Theora.
2021-11-28 11:09:14 +00:00
Rémi Denis-Courmont
a38f2a139e rtp: remove hard-coded MPA parser 2021-11-26 15:57:05 +00:00
Rémi Denis-Courmont
f67701feb0 rtp/mpeg12: add audio/MPA MPEG 1/2 Audio payload format 2021-11-26 15:57:05 +00:00
Rémi Denis-Courmont
2edb2785d4 rtp: remove static PCMA, PCMU and L16 parsers 2021-11-23 18:40:13 +00:00
Rémi Denis-Courmont
66023648a5 rtp/pcm: add parser for PCM, G.711 and DAT12
Refs #26296.
2021-11-23 18:40:13 +00:00
Rémi Denis-Courmont
aaff6519b2 rtp: add test cases for rtpmap parsing 2021-11-23 08:57:09 +00:00
Rémi Denis-Courmont
471350e8b5 rtp: move test code to dedicated subdirectory 2021-11-23 08:57:09 +00:00
Rémi Denis-Courmont
cafec9d0ce rtp: add module capabilities for RTP payload type parsers 2021-11-19 21:48:03 +02:00
Rémi Denis-Courmont
504d5aa691 rtp: add PT owner callbacks 2021-11-19 21:48:03 +02:00
Rémi Denis-Courmont
5046b7a427 rtp: remove unused demux parameter 2021-11-19 21:48:03 +02:00
Rémi Denis-Courmont
52f2e336d6 rtp: remove unused Xiph parser (again) 2021-11-19 21:48:03 +02:00
Rémi Denis-Courmont
cdf3b2f1c2 rtp: add owner structure to payload types 2021-11-19 21:48:03 +02:00
Rémi Denis-Courmont
422142d342 rtp: fix typo 2021-11-19 21:48:03 +02:00
Rémi Denis-Courmont
ca57d66028 rtp: fix assigned dynamic payload types 2021-11-19 21:48:02 +02:00