summaryrefslogtreecommitdiff
path: root/gst
Commit message (Collapse)AuthorAgeFilesLines
* proxysink: event_function needs to handle the event when it is disconnecetd ↵Jose Quaresma2020-08-131-1/+3
| | | | | | | | | | | from proxysrc without this a disconneted proxysink fail when goes to play with error: Internal data stream error. streaming stopped, reason error (-5) Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1508>
* Correct typos in gsth264parse.cFelix Yan2020-08-121-2/+2
| | | | Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1511>
* h264parse: Add new H.264 levelsNicolas Dufresne2020-08-121-0/+4
| | | | | | The spec now list 6, 6.1 and 6.2. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1509>
* gstautoconvert.c: fix clang warningsJordan Petridis2020-08-041-3/+3
| | | | | | | | | | | | | | | | | | 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>
* webrtc, rtmp2: Warn if the user or password aren't escapedNirbheek Chauhan2020-08-031-0/+5
| | | | | | | | 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>
* webrtc, rtmp2: Fix parsing of userinfo in URI stringsNirbheek Chauhan2020-08-031-1/+1
| | | | | | | | | | | | | | 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>
* ristsrc: drop stream-start & eos messages posted from the internal udp sink(s)George Kiagiadakis2020-07-291-0/+19
| | | | | | See #1368 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1472>
* rtpsrc: drop stream-start & eos messages posted from the internal udp sink(s)George Kiagiadakis2020-07-291-0/+18
| | | | | | See #1368 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1472>
* tsmux: Fix PCR calculation for CBR live streamsVivia Nikolaidou2020-07-282-1/+10
| | | | | | Take the first ever timestamp as an offset Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1431>
* tsmux: Refactor get_current_pcrJan Alexander Steffens (heftig)2020-07-281-9/+16
| | | | | | No functional change. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1431>
* rtpsrc: Add domain name supportNicolas Dufresne2020-07-141-5/+33
| | | | | | | | | 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>
* ristsrc: Add support for domain nameNicolas Dufresne2020-07-141-0/+26
| | | | | | | | | 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>
* rtpsrc: Always set rtcp socket addressNicolas Dufresne2020-07-141-9/+1
| | | | | | | | | | | | 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>
* rtpsink: Fix error handling on bad DNSNicolas Dufresne2020-07-141-3/+1
| | | | | | | 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>
* ristsink: Fix error handling on bad DNSNicolas Dufresne2020-07-141-3/+1
| | | | | | | 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>
* basetsmux: make use of gst_aggregator_finish_buffer_listMathieu Duponchelle2020-07-101-25/+3
| | | | | | Fixes #1276 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1429>
* docs: fix element names in section headersTim-Philipp Müller2020-07-1021-21/+21
| | | | | | 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>
* mpegtsmux: Don't assume English for ISO-639 language descriptorAndreas Frisch2020-07-081-1/+1
| | | | | | | | | 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>
* mpegtsmux: Fix handling of MPEG-2 AACJan Schmidt2020-07-084-34/+175
| | | | | | | | | 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.
* rtmp, transcodebin: fix i18n header includesTim-Philipp Müller2020-07-072-3/+3
| | | | | | Fixes #1351 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1416>
* rist: Use g_signal_connect_object()Nicolas Dufresne2020-07-072-21/+22
| | | | | | | | | | | | 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>
* scenechange: use orc to compute scoreJosep Torra2020-07-075-13/+392
| | | | | | Add an orc implementation for SAD operation. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1024>
* rtpsrc/sink: Use g_signal_connect_object()Sebastian Dröge2020-07-072-16/+16
| | | | | | | | | | 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>
* mpegtsmux: Avoid crash releasing pad with NULL progJan Alexander Steffens (heftig)2020-07-071-6/+8
| | | | | | | | 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>
* meson: add update-orc-dist targetTim-Philipp Müller2020-07-043-0/+3
| | | | | | Add target to update backup orc -dist.[ch] files. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1408>
* videoparseutils: Only add a single closed caption metaVivia Nikolaidou2020-07-031-3/+8
| | | | | | | 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>
* videoparsers: Fix parsing ATSC bar dataJan Alexander Steffens (heftig)2020-07-011-3/+4
| | | | | | It rejected the case of all bars being disabled. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1394>
* videoparsers: Fix parsing of ATSC AFD dataJan Alexander Steffens (heftig)2020-07-011-1/+0
| | | | | | | | 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>
* videoparsers: Give gstvideoparseutils.c a debug categoryJan Alexander Steffens (heftig)2020-07-012-0/+8
| | | | Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1394>
* rtmp2: Set connect args like libavformat doesJan Alexander Steffens (heftig)2020-07-013-2/+108
| | | | | | | 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>
* rtmp2: Add support for AGGREGATE messagesJan Alexander Steffens (heftig)2020-07-011-0/+83
| | | | | | 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>
* rtmp2: Move FLV tag header parsing into rtmputils.cJan Alexander Steffens (heftig)2020-07-013-15/+61
| | | | | | To be shared with the AGGREGATE handling. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1384>
* rtmp2: Mark our memory singleton as leakableJan Alexander Steffens (heftig)2020-07-011-0/+3
| | | | | | So it doesn't appear in the leaks tracer. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1384>
* rtmp2: Remove GST_ERROR from rtmputils.cJan Alexander Steffens (heftig)2020-07-011-1/+0
| | | | | | This file does not have debug logging set up. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1384>
* mpegtsmux: Correctly set ISO-639 language descriptorAndreas Frisch2020-06-301-4/+6
| | | | | | | | | 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>
* interlace: Make caps writable before modifying themVivia Nikolaidou2020-06-251-0/+1
| | | | Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1373>
* mxfvanc: document new sink pad templateMathieu Duponchelle2020-06-251-0/+6
| | | | Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1368>
* mxfdemux/mux: Add support for CEA-708 CDP from S436 essence tracksSebastian Dröge2020-06-254-0/+454
| | | | Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1368>
* interlace: Switch field-pattern on the flyVivia Nikolaidou2020-06-241-32/+79
| | | | | | | 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>
* interlace: Re-indentationVivia Nikolaidou2020-06-241-10/+9
| | | | Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1349>
* interlace: Don't change field-pattern on PAUSED or PLAYING stateVivia Nikolaidou2020-06-241-1/+2
| | | | | | | 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>
* interlace: Don't fail negotiation if capsfilters decide framerateVivia Nikolaidou2020-06-241-3/+31
| | | | | | | | | | | | | | | | 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>
* interlace: Restrict passthrough conditionsVivia Nikolaidou2020-06-241-1/+3
| | | | | | | 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>
* interlace: Add field switching mode for 2:2 field patternVivia Nikolaidou2020-06-241-15/+85
| | | | | | | 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>
* interlace: Only half the framerate for 1:1 field patternVivia Nikolaidou2020-06-241-5/+25
| | | | | | | | 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>
* interlace: Add FIXME comment about false passthrough bugVivia Nikolaidou2020-06-241-0/+7
| | | | | | | 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>
* docs: Document basecamerabinsrcThibault Saunier2020-06-231-2/+1
|
* docs: mark more types as plugin APIMathieu Duponchelle2020-06-236-0/+10
|
* audiobuffersplit: Specify in the template caps that only interleaved audio ↵Sebastian Dröge2020-06-231-2/+4
| | | | | | | | | | | 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>
* Revert "h264parse: Include `interlace-mode` in caps"Vivia Nikolaidou2020-06-221-12/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit b75a61342f4ea039d922a966f36b02cd9d9c3ad8. 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>