Nicolas Dufresne
76b4de79ca
h264parse: Add new H.264 levels
...
The spec now list 6, 6.1 and 6.2.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1509 >
2020-08-12 08:30:14 -04:00
Jordan Petridis
26bbcae973
gstautoconvert.c: fix clang warnings
...
clang 10 is complaining about incompatible types due to the
glib typesystem.
```
gst-plugins-bad/gst/autoconvert/b5c3019@@gstautoconvert@sha/gstautoconvert.c.o' -c ../subprojects/gst-plugins-bad/gst/autoconvert/gstautoconvert.c
../subprojects/gst-plugins-bad/gst/autoconvert/gstautoconvert.c:898:8: error: incompatible pointer types passing 'typeof ((((void *)0))) *' (aka 'void **') to parameter of type 'GList **' (aka 'struct _GList **') [-Werror,-Wincompatible-pointer-types]
if (!g_atomic_pointer_compare_and_exchange (&autoconvert->factories, NULL,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/glib-2.0/glib/gatomic.h:192:44: note: expanded from macro 'g_atomic_pointer_compare_and_exchange'
__atomic_compare_exchange_n ((atomic), &gapcae_oldval, (newval), FALSE, __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST) ? TRUE : FALSE; \
^~~~~~~~~~~~~~
1 error generated.
```
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1487 >
2020-08-04 11:37:52 +00:00
Nirbheek Chauhan
d4ca8820e7
webrtc, rtmp2: Warn if the user or password aren't escaped
...
If the user/pass aren't escaped, the userinfo will be ambiguous and we
won't know where to split. We will accidentally get it right if the :
belongs in the password.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1481 >
2020-08-03 18:12:50 +00:00
Nirbheek Chauhan
827afa206d
webrtc, rtmp2: Fix parsing of userinfo in URI strings
...
While parsing the string, `gst_uri_from_string()` also unescapes the
userinfo. This is bad if your username contains a `:` character, since
we will then split the userinfo at the wrong location when parsing it.
To fix this, we can use the new `gst_uri_from_string_escaped()` API
that was added in
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/583
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/831
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1481 >
2020-08-03 18:12:50 +00:00
George Kiagiadakis
fc9a612e2c
ristsrc: drop stream-start & eos messages posted from the internal udp sink(s)
...
See #1368
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1472 >
2020-07-29 13:20:28 +00:00
George Kiagiadakis
914161f902
rtpsrc: drop stream-start & eos messages posted from the internal udp sink(s)
...
See #1368
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1472 >
2020-07-29 13:20:28 +00:00
Vivia Nikolaidou
d8b37973d2
tsmux: Fix PCR calculation for CBR live streams
...
Take the first ever timestamp as an offset
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1431 >
2020-07-28 16:18:45 +00:00
Jan Alexander Steffens (heftig)
5a358b7687
tsmux: Refactor get_current_pcr
...
No functional change.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1431 >
2020-07-28 16:18:45 +00:00
Nicolas Dufresne
782dc857e0
rtpsrc: Add domain name support
...
This add domain name resolution (similar to udpsrc does) to the rtpsrc
element.
Fixes 1352
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1433 >
2020-07-14 20:48:04 +00:00
Nicolas Dufresne
19c632f4e8
ristsrc: Add support for domain name
...
This add domain name resolution (similar to udpsrc does) to the ristsrc
element.
Fixes 1352
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1433 >
2020-07-14 20:48:04 +00:00
Nicolas Dufresne
f6ac2e44bb
rtpsrc: Always set rtcp socket address
...
Regardless if it's multicast or not, set the address property to match
the element address. This is the address of the interface to listen to,
which is expected to be ANY in most cases, but should be honnored even
for RTCP non-multicast case.
This also fixes an assertion if the address is not a parsable IPv4 or
IPv6 string.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1433 >
2020-07-14 20:48:04 +00:00
Nicolas Dufresne
82fe23f212
rtpsink: Fix error handling on bad DNS
...
This will properly print the DNS being attempted to resolved and avoid
trying to unref a NULL pointer.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1433 >
2020-07-14 20:48:04 +00:00
Nicolas Dufresne
89fbcc71d9
ristsink: Fix error handling on bad DNS
...
This will properly print the DNS being attempted to resolved and avoid
trying to unref a NULL pointer.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1433 >
2020-07-14 20:48:04 +00:00
Mathieu Duponchelle
13376f88fe
basetsmux: make use of gst_aggregator_finish_buffer_list
...
Fixes #1276
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1429 >
2020-07-10 20:12:11 +00:00
Tim-Philipp Müller
510e8ef8cb
docs: fix element names in section headers
...
Hopefully that'll make hotdoc pick up the docs for these elements.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1428 >
2020-07-10 19:22:29 +00:00
Andreas Frisch
0e075b4dbf
mpegtsmux: Don't assume English for ISO-639 language descriptor
...
Previously, "en" (should have actually been "eng") was assumed
for the ISO-639 language descriptor if no language was explicitely given.
Neither ETSI EN 300 468 nor ATSC A/52 mandate for a language descriptor,
so we should simply not set it, if it's unknown.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1386 >
2020-07-08 13:37:12 +00:00
Jan Schmidt
46cc64e09f
mpegtsmux: Fix handling of MPEG-2 AAC
...
The audio/mpeg,mpegversion=2 caps in GStreamer refer to
MPEG-2 AAC (ISO 13818-7), not to the extended MP3 (ISO 13818-3),
which is audio/mpeg,mpegversion=1,mpegaudioversion=2/3
Fix the caps, and add handling for MPEG-2 AAC in both ADTS and raw
form, adding ADTS headers for the latter.
2020-07-08 12:24:13 +00:00
Tim-Philipp Müller
f3fdd76683
rtmp, transcodebin: fix i18n header includes
...
Fixes #1351
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1416 >
2020-07-07 19:55:00 +01:00
Nicolas Dufresne
af741f0723
rist: Use g_signal_connect_object()
...
rtpbin can still emit signals when it is being disposed, and while
rtpbin is inside ristsrc/ristsink it can still live longer.
So we either have disconnect all signals at some point, or let GObject
take care of that automatically.
Related to !1412
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1413 >
2020-07-07 15:37:57 +00:00
Josep Torra
7346e7c1e2
scenechange: use orc to compute score
...
Add an orc implementation for SAD operation.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1024 >
2020-07-07 15:06:55 +01:00
Sebastian Dröge
b812d1c743
rtpsrc/sink: Use g_signal_connect_object()
...
rtpbin can still emit signals when it is being disposed, and while
rtpbin is inside rtpsrc/rtpsink it can still live longer.
So we either have disconnect all signals at some point, or let GObject
take care of that automatically.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1412 >
2020-07-07 12:42:36 +00:00
Jan Alexander Steffens (heftig)
cba9ba9b38
mpegtsmux: Avoid crash releasing pad with NULL prog
...
If we release a pad while the muxer is running which has never been used
for aggregation (thus it does not have an assigned program), `prog` is
NULL.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1411 >
2020-07-07 14:05:04 +02:00
Tim-Philipp Müller
7b2c3a984c
meson: add update-orc-dist target
...
Add target to update backup orc -dist.[ch] files.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1408 >
2020-07-04 15:05:23 +01:00
Vivia Nikolaidou
31d5d04bb1
videoparseutils: Only add a single closed caption meta
...
Otherwise, having a stream go through a parser multiple times would
result in duplicate closed caption meta.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1396 >
2020-07-03 08:25:54 +00:00
Jan Alexander Steffens (heftig)
afdde9fa40
videoparsers: Fix parsing ATSC bar data
...
It rejected the case of all bars being disabled.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1394 >
2020-07-01 20:02:35 +00:00
Jan Alexander Steffens (heftig)
01896c11d2
videoparsers: Fix parsing of ATSC AFD data
...
The test for 0x40 being set is repeated by
gst_video_parse_utils_parse_afd, which also extracts the low nibble
again, so we must not clear it here.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1394 >
2020-07-01 20:02:35 +00:00
Jan Alexander Steffens (heftig)
cedb07fe46
videoparsers: Give gstvideoparseutils.c a debug category
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1394 >
2020-07-01 20:02:35 +00:00
Jan Alexander Steffens (heftig)
1e29c5d52a
rtmp2: Set connect args like libavformat does
...
To improve our compatibility. Critically, a server might elide data for
codecs we don't advertise.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1384 >
2020-07-01 18:33:42 +00:00
Jan Alexander Steffens (heftig)
2ad3aab1d4
rtmp2: Add support for AGGREGATE messages
...
They're multiple frames (tags) of FLV data wrapped into a message.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1384 >
2020-07-01 18:33:42 +00:00
Jan Alexander Steffens (heftig)
30b1187108
rtmp2: Move FLV tag header parsing into rtmputils.c
...
To be shared with the AGGREGATE handling.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1384 >
2020-07-01 18:33:42 +00:00
Jan Alexander Steffens (heftig)
368c038ef0
rtmp2: Mark our memory singleton as leakable
...
So it doesn't appear in the leaks tracer.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1384 >
2020-07-01 18:33:42 +00:00
Jan Alexander Steffens (heftig)
edd3c4fadf
rtmp2: Remove GST_ERROR from rtmputils.c
...
This file does not have debug logging set up.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1384 >
2020-07-01 18:33:42 +00:00
Andreas Frisch
297e5022ca
mpegtsmux: Correctly set ISO-639 language descriptor
...
fixes #1340
Only 2 of the necessary 3 letters were copied because the teminating '\0'
needs to be counted, too - cf.
https://developer.gnome.org/glib/stable/glib-String-Utility-Functions.html#g-strlcat
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1375 >
2020-06-30 11:41:27 +00:00
Vivia Nikolaidou
290d0432c3
interlace: Make caps writable before modifying them
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1373 >
2020-06-25 16:05:39 +03:00
Mathieu Duponchelle
e2f28c3d08
mxfvanc: document new sink pad template
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1368 >
2020-06-25 06:59:18 +00:00
Sebastian Dröge
e54107db02
mxfdemux/mux: Add support for CEA-708 CDP from S436 essence tracks
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1368 >
2020-06-25 06:59:18 +00:00
Vivia Nikolaidou
482d2c9459
interlace: Switch field-pattern on the fly
...
The frame rate interlace uses changes when we change field-pattern, so
we need to issue a reconfigure event.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1364 >
2020-06-24 17:44:46 +00:00
Vivia Nikolaidou
1eeaee24d4
interlace: Re-indentation
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1349 >
2020-06-24 11:31:15 +03:00
Vivia Nikolaidou
b53c1363f2
interlace: Don't change field-pattern on PAUSED or PLAYING state
...
It would otherwise change the caps the element produces and cause the
element to misbehave
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1349 >
2020-06-24 11:31:15 +03:00
Vivia Nikolaidou
7c7ac7a0dc
interlace: Don't fail negotiation if capsfilters decide framerate
...
Try to negotiate if the framerates on either sides of the interlace are
decided using capsfilters and the framerates are correct. Otherwise the
following pipelines would fail to negotiate:
gst-launch-1.0 videotestsrc !
video/x-raw,framerate=24/1,interlace-mode=progressive ! interlace
field-pattern=2 ! video/x-raw,framerate =30/1 ! fakesink
gst-launch-1.0 videotestsrc !
video/x-raw,framerate=60/1,interlace-mode=progressive ! interlace
field-pattern=0 ! video/x-raw,framerate=30/1 ! fakesink
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1349 >
2020-06-24 11:15:48 +03:00
Vivia Nikolaidou
581d76b41a
interlace: Restrict passthrough conditions
...
Don't do passthrough if interleave-mode=mixed or if we have one of the
telecine modes
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1349 >
2020-06-24 11:15:48 +03:00
Vivia Nikolaidou
76ce67e70b
interlace: Add field switching mode for 2:2 field pattern
...
In the 2:2 field pattern, interlace can switch from bottom-field-first
to top-field-first.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1349 >
2020-06-24 11:15:48 +03:00
Vivia Nikolaidou
ba500b816a
interlace: Only half the framerate for 1:1 field pattern
...
Keep the framerate for 2:2 field pattern, and completely remove it from
the caps for all others. Otherwise, negotiation will fail if caps on
both sides of the element specify a framerate.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1349 >
2020-06-24 11:15:48 +03:00
Vivia Nikolaidou
0c63c8d1f5
interlace: Add FIXME comment about false passthrough bug
...
If interlace-mode is missing from upstream caps, we can falsely do
passthrough when in fact we'd have to switch fields.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1349 >
2020-06-24 11:15:48 +03:00
Thibault Saunier
059e8ff44a
docs: Document basecamerabinsrc
2020-06-23 13:02:57 -04:00
Mathieu Duponchelle
6baffc2931
docs: mark more types as plugin API
2020-06-23 12:10:17 -04:00
Sebastian Dröge
ea5f38440d
audiobuffersplit: Specify in the template caps that only interleaved audio is supported
...
Needs special support for non-interleaved audio and e.g. use the
GstPlanarAudioAdapter.
See https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/779
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1363 >
2020-06-23 10:03:53 +03:00
Vivia Nikolaidou
652773de36
Revert "h264parse: Include interlace-mode
in caps"
...
This reverts commit b75a61342f
.
The parser would only set the mode to progressive or mixed, missing the
cases where it should have been interleaved. Interleaved is more
difficult to detect because in h264 it happens per frame. On the other
hand, h264 decoders detect the interlacing information per-frame and set
the caps correctly. By giving potentially incorrect interlacing
information in the parser already, it's being enforced downstream even
after decoding, breaking some use cases (e.g. an encoder can't properly
mark the stream as TFF or BFF). On the other hand, there's no valid use
case for having interlacing information on the caps at the parsing
stage, so after a lot of discussion, it was decided to revert this.
Initial commit message:
=========================
Those are the rules:
In the SPS:
* if frame_mbs_only_flag=1 => all frame progressive
* if frame_mbs_only_flag=0 => field_pic_flag defines if each frame is
progressive or interlaced, thus the mode is 'mixed' in GStreamer
terms.
https://bugzilla.gnome.org/show_bug.cgi?id=779309
=========================
Fixes #1313
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1335 >
2020-06-22 16:08:41 +00:00
Jan Alexander Steffens (heftig)
434d685564
Revert "errorignore: Added convert-error signal"
...
The introduced API has [some problems][1] and [a better solution][2] was
found that made the feature obsolete.
This reverts commit f7626c1f2a
.
[1]: https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/merge_requests/736#note_357702
[2]: https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/merge_requests/736#note_238830
https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/merge_requests/916
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/916 >
2020-06-20 19:11:57 +01:00
Jan Schmidt
1cf3cae5e1
dvbsubenc: Add DVB Subtitle encoder
...
Add an element that converts AYUV video frames to a DVB
subpicture stream.
It's fairly simple for now. Later it would be good to support
input via a stream that contains only GstVideoOverlayComposition
meta.
The element searches each input video frame for the largest
sub-region containing non-transparent pixels and encodes that
as a single DVB subpicture region. It can also do palette
reduction of the input frames using code taken from
libimagequant.
There are various FIXME for potential improvements for now, but
it works.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1227 >
2020-06-17 12:50:13 +10:00