platform/upstream/gstreamer.git
3 years agortpjitterbuffer: More logging when calculating rfc7273 timestamps
Nirbheek Chauhan [Tue, 6 Apr 2021 11:32:34 +0000 (17:02 +0530)]
rtpjitterbuffer: More logging when calculating rfc7273 timestamps

This code can be fragile, since it is very exacting in the timestamps
that it will accept. Add more logging so it's easier to debug issues
and figure out whether it's a bug in the calculation or something
wrong in the incoming buffers.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/934>

3 years agortp: missing debug init after element splitting
Stéphane Cerveau [Thu, 8 Apr 2021 11:29:10 +0000 (13:29 +0200)]
rtp: missing debug init after element splitting

- h264depay
- h265depay
- sv3vdepay

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/936>

3 years agortp: rename gst_rtp_sbc_pay_flush_buffers()
Michal Dzik [Mon, 30 Mar 2020 07:29:07 +0000 (09:29 +0200)]
rtp: rename gst_rtp_sbc_pay_flush_buffers()

gst_rtp_sbc_pay_flush_buffers() is a misleading name. A better name would
be gst_rtp_sbc_pay_drain_buffers(), because that's what it does, it drains
any leftover queued data and pushes it downstream. "Flushing" in GStreamer
typically means to throw away any queued data and not process/push it
downstream.

Signed-off-by: Michal Dzik <michal.dzik@streamunlimited.com>
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/700>

3 years agortp: fix adapter flushing in sbc payloader
Michal Dzik [Tue, 24 Mar 2020 12:31:00 +0000 (13:31 +0100)]
rtp: fix adapter flushing in sbc payloader

GstAdapter must be flushed in some cases (flush, new segment, state change)
Without it, it may, for example, push some leftover buffer from old
segment in new segment. This, in general, breaks timestamps.
See GstAdapter documentation for more.

Signed-off-by: Michal Dzik <michal.dzik@streamunlimited.com>
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/700>

3 years agovpxenc: add colorspace information into VP9 bitstream
Jakub Adam [Tue, 18 Aug 2020 18:16:06 +0000 (20:16 +0200)]
vpxenc: add colorspace information into VP9 bitstream

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/871>

3 years agov4l2object: Use default colorimetry if that in caps is unknown
Hou Qi [Fri, 26 Mar 2021 08:26:22 +0000 (16:26 +0800)]
v4l2object: Use default colorimetry if that in caps is unknown

Some streams have unknown colorimetry in caps, but v4l2object sets
default values for each primaries. It will cause check colorimetry
fail when do gst_v4l2_video_colorimetry_matches().

To fix this, need to keep the unknown colorimetry in caps same as
the default value set by v4l2object.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/923>

3 years agomatroskademux: Take segment stop into account when need_segment
Vivia Nikolaidou [Wed, 31 Mar 2021 13:37:56 +0000 (16:37 +0300)]
matroskademux: Take segment stop into account when need_segment

Otherwise, in the case of e.g. a deferred seek event, the segment stop
would be replaced with GST_CLOCK_TIME_NONE.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/929>

3 years agogstqtoverlay: Add initialization and finalization to qml-scene prop
Val Doroshchuk [Mon, 29 Mar 2021 14:45:26 +0000 (16:45 +0200)]
gstqtoverlay: Add initialization and finalization to qml-scene prop

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/924>

3 years agoqt: fix build warning with clang and c-linkage of user defined type
Matthew Waters [Tue, 30 Mar 2021 23:21:59 +0000 (10:21 +1100)]
qt: fix build warning with clang and c-linkage of user defined type

In file included from ../subprojects/gst-plugins-good/ext/qt/qtglrenderer.cc:17:
../subprojects/gst-plugins-good/ext/qt/gstqtglutility.h:35:16: error: 'qt_opengl_native_context_from_gst_gl_context' has C-linkage specified, but returns user-defined type 'QVariant' which is incompatible with C [-Werror,-Wreturn-type-c-linkage]
QVariant       qt_opengl_native_context_from_gst_gl_context     (GstGLContext * context);

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/928>

3 years agoqt: hotfix: allow per feature registration
Stéphane Cerveau [Tue, 30 Mar 2021 07:45:45 +0000 (09:45 +0200)]
qt: hotfix: allow per feature registration

Fixes #869

Split plugin into features including
dynamic types which can be indiviually
registered during a static build.

More details here:

https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/925>

3 years agotwolame: allow per feature registration
Stéphane Cerveau [Wed, 17 Feb 2021 07:52:40 +0000 (08:52 +0100)]
twolame: allow per feature registration

Split plugin into features including
dynamic types which can be indiviually
registered during a static build.

More details here:

https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/876>

3 years agoshout2: allow per feature registration
Stéphane Cerveau [Tue, 16 Feb 2021 16:49:03 +0000 (17:49 +0100)]
shout2: allow per feature registration

Split plugin into features including
dynamic types which can be indiviually
registered during a static build.

More details here:

https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/876>

3 years agocairo: allow per feature registration
Stéphane Cerveau [Tue, 16 Feb 2021 16:38:46 +0000 (17:38 +0100)]
cairo: allow per feature registration

Split plugin into features including
dynamic types which can be indiviually
registered during a static build.

More details here:

https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/876>

3 years agoy4m: allow per feature registration
Stéphane Cerveau [Tue, 16 Feb 2021 16:34:34 +0000 (17:34 +0100)]
y4m: allow per feature registration

Split plugin into features including
dynamic types which can be indiviually
registered during a static build.

More details here:

https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/876>

3 years agowavparse: allow per feature registration
Stéphane Cerveau [Tue, 16 Feb 2021 16:32:26 +0000 (17:32 +0100)]
wavparse: allow per feature registration

Split plugin into features including
dynamic types which can be indiviually
registered during a static build.

More details here:

https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/876>

3 years agowavenc: allow per feature registration
Stéphane Cerveau [Tue, 16 Feb 2021 16:29:40 +0000 (17:29 +0100)]
wavenc: allow per feature registration

Split plugin into features including
dynamic types which can be indiviually
registered during a static build.

More details here:

https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/876>

3 years agospectrum: allow per feature registration
Stéphane Cerveau [Tue, 16 Feb 2021 16:27:24 +0000 (17:27 +0100)]
spectrum: allow per feature registration

Split plugin into features including
dynamic types which can be indiviually
registered during a static build.

More details here:

https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/876>

3 years agomonoscope: allow per feature registration
Stéphane Cerveau [Tue, 16 Feb 2021 16:27:12 +0000 (17:27 +0100)]
monoscope: allow per feature registration

Split plugin into features including
dynamic types which can be indiviually
registered during a static build.

More details here:

https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/876>

3 years agoimagefreeze: allow per feature registration
Stéphane Cerveau [Tue, 16 Feb 2021 16:22:47 +0000 (17:22 +0100)]
imagefreeze: allow per feature registration

Split plugin into features including
dynamic types which can be indiviually
registered during a static build.

More details here:

https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/876>

3 years agoid3demux: allow per feature registration
Stéphane Cerveau [Tue, 16 Feb 2021 16:19:52 +0000 (17:19 +0100)]
id3demux: allow per feature registration

Split plugin into features including
dynamic types which can be indiviually
registered during a static build.

More details here:

https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/876>

3 years agoicydemux: allow per feature registration
Stéphane Cerveau [Tue, 16 Feb 2021 16:16:33 +0000 (17:16 +0100)]
icydemux: allow per feature registration

Split plugin into features including
dynamic types which can be indiviually
registered during a static build.

More details here:

https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/876>

3 years agogoom2k1: allow per feature registration
Stéphane Cerveau [Tue, 16 Feb 2021 16:14:26 +0000 (17:14 +0100)]
goom2k1: allow per feature registration

Split plugin into features including
dynamic types which can be indiviually
registered during a static build.

More details here:

https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/876>

3 years agocutter: allow per feature registration
Stéphane Cerveau [Tue, 16 Feb 2021 16:11:26 +0000 (17:11 +0100)]
cutter: allow per feature registration

Split plugin into features including
dynamic types which can be indiviually
registered during a static build.

More details here:

https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/876>

3 years agogoom: allow per feature registration
Stéphane Cerveau [Tue, 16 Feb 2021 16:11:14 +0000 (17:11 +0100)]
goom: allow per feature registration

Split plugin into features including
dynamic types which can be indiviually
registered during a static build.

More details here:

https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/876>

3 years agodeinterlace: allow per feature registration
Stéphane Cerveau [Tue, 16 Feb 2021 16:10:33 +0000 (17:10 +0100)]
deinterlace: allow per feature registration

Split plugin into features including
dynamic types which can be indiviually
registered during a static build.

More details here:

https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/876>

3 years agooss4: allow per feature registration
Stéphane Cerveau [Tue, 16 Feb 2021 15:34:48 +0000 (16:34 +0100)]
oss4: allow per feature registration

Split plugin into features including
dynamic types which can be indiviually
registered during a static build.

More details here:

https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/876>

3 years agooss: allow per feature registration
Stéphane Cerveau [Tue, 16 Feb 2021 15:11:36 +0000 (16:11 +0100)]
oss: allow per feature registration

Split plugin into features including
dynamic types which can be indiviually
registered during a static build.

More details here:

https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/876>

3 years agoauparse: allow per feature registration
Stéphane Cerveau [Tue, 16 Feb 2021 14:56:35 +0000 (15:56 +0100)]
auparse: allow per feature registration

Split plugin into features including
dynamic types which can be indiviually
registered during a static build.

More details here:

https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/876>

3 years agov4l2: allow per feature registration
Stéphane Cerveau [Tue, 16 Feb 2021 14:29:06 +0000 (15:29 +0100)]
v4l2: allow per feature registration

Split plugin into features including
dynamic types which can be indiviually
registered during a static build.

More details here:

https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/876>

3 years agovideofilter: allow per feature registration
Stéphane Cerveau [Tue, 16 Feb 2021 14:05:43 +0000 (15:05 +0100)]
videofilter: allow per feature registration

Split plugin into features including
dynamic types which can be indiviually
registered during a static build.

More details here:

https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/876>

3 years agovideocrop: allow per feature registration
Stéphane Cerveau [Tue, 16 Feb 2021 13:58:57 +0000 (14:58 +0100)]
videocrop: allow per feature registration

Split plugin into features including
dynamic types which can be indiviually
registered during a static build.

More details here:

https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/876>

3 years agovideobox: allow per feature registration
Stéphane Cerveau [Tue, 16 Feb 2021 13:54:15 +0000 (14:54 +0100)]
videobox: allow per feature registration

Split plugin into features including
dynamic types which can be indiviually
registered during a static build.

More details here:

https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/876>

3 years agoudp: allow per feature registration
Stéphane Cerveau [Tue, 16 Feb 2021 13:49:56 +0000 (14:49 +0100)]
udp: allow per feature registration

Split plugin into features including
dynamic types which can be indiviually
registered during a static build.

More details here:

https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/876>

3 years agosmpte: allow per feature registration
Stéphane Cerveau [Tue, 16 Feb 2021 13:43:32 +0000 (14:43 +0100)]
smpte: allow per feature registration

Split plugin into features including
dynamic types which can be indiviually
registered during a static build.

More details here:

https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/876>

3 years agoshapewipe: allow per feature registration
Stéphane Cerveau [Tue, 16 Feb 2021 13:38:37 +0000 (14:38 +0100)]
shapewipe: allow per feature registration

Split plugin into features including
dynamic types which can be indiviually
registered during a static build.

More details here:

https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/876>

3 years agortsp: allow per feature registration
Stéphane Cerveau [Tue, 16 Feb 2021 13:35:51 +0000 (14:35 +0100)]
rtsp: allow per feature registration

Split plugin into features including
dynamic types which can be indiviually
registered during a static build.

More details here:

https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/876>

3 years agortpmanager: allow per feature registration
Stéphane Cerveau [Tue, 16 Feb 2021 13:24:33 +0000 (14:24 +0100)]
rtpmanager: allow per feature registration

Split plugin into features including
dynamic types which can be indiviually
registered during a static build.

More details here:

https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/876>

3 years agoreplaygain: allow per feature registration
Stéphane Cerveau [Tue, 16 Feb 2021 12:49:15 +0000 (13:49 +0100)]
replaygain: allow per feature registration

Split plugin into features including
dynamic types which can be indiviually
registered during a static build.

More details here:

https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/876>

3 years agomultipart: allow per feature registration
Stéphane Cerveau [Tue, 16 Feb 2021 12:43:44 +0000 (13:43 +0100)]
multipart: allow per feature registration

Split plugin into features including
dynamic types which can be indiviually
registered during a static build.

More details here:

https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/876>

3 years agomultifile: allow per feature registration
Stéphane Cerveau [Tue, 16 Feb 2021 11:04:26 +0000 (12:04 +0100)]
multifile: allow per feature registration

Split plugin into features including
dynamic types which can be indiviually
registered during a static build.

More details here:

https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/876>

3 years agomatroska: allow per feature registration
Stéphane Cerveau [Tue, 16 Feb 2021 10:14:17 +0000 (11:14 +0100)]
matroska: allow per feature registration

Split plugin into features including
dynamic types which can be indiviually
registered during a static build.

More details here:

https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/876>

3 years agolevel: allow per feature registration
Stéphane Cerveau [Tue, 16 Feb 2021 09:59:34 +0000 (10:59 +0100)]
level: allow per feature registration

Split plugin into features including
dynamic types which can be indiviually
registered during a static build.

More details here:

https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/876>

3 years agolaw: allow per feature registration
Stéphane Cerveau [Tue, 16 Feb 2021 09:57:58 +0000 (10:57 +0100)]
law: allow per feature registration

Split plugin into features including
dynamic types which can be indiviually
registered during a static build.

More details here:

https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/876>

3 years agoisomp4: allow per feature registration
Stéphane Cerveau [Tue, 16 Feb 2021 09:26:40 +0000 (10:26 +0100)]
isomp4: allow per feature registration

Split plugin into features including
dynamic types which can be indiviually
registered during a static build.

More details here:

https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/876>

3 years agointerleave: allow per feature registration
Stéphane Cerveau [Tue, 16 Feb 2021 08:57:27 +0000 (09:57 +0100)]
interleave: allow per feature registration

Split plugin into features including
dynamic types which can be indiviually
registered during a static build.

More details here:

https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/876>

3 years agoflx: allow per feature registration
Stéphane Cerveau [Tue, 16 Feb 2021 08:51:16 +0000 (09:51 +0100)]
flx: allow per feature registration

Split plugin into features including
dynamic types which can be indiviually
registered during a static build.

More details here:

https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/876>

3 years agoflv: allow per feature registration
Stéphane Cerveau [Mon, 15 Feb 2021 16:37:09 +0000 (17:37 +0100)]
flv: allow per feature registration

Split plugin into features including
dynamic types which can be indiviually
registered during a static build.

More details here:

https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/876>

3 years agoequalizer: allow per feature registration
Stéphane Cerveau [Mon, 15 Feb 2021 16:27:51 +0000 (17:27 +0100)]
equalizer: allow per feature registration

Split plugin into features including
dynamic types which can be indiviually
registered during a static build.

More details here:

https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/876>

3 years agoeffectv: allow per feature registration
Stéphane Cerveau [Mon, 15 Feb 2021 14:37:52 +0000 (15:37 +0100)]
effectv: allow per feature registration

Split plugin into features including
dynamic types which can be indiviually
registered during a static build.

More details here:

https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/876>

3 years agodtmf: allow per feature registration
Stéphane Cerveau [Mon, 15 Feb 2021 14:03:10 +0000 (15:03 +0100)]
dtmf: allow per feature registration

Split plugin into features including
dynamic types which can be indiviually
registered during a static build.

More details here:

https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/876>

3 years agodebugutils: allow per feature registration
Stéphane Cerveau [Mon, 15 Feb 2021 13:55:15 +0000 (14:55 +0100)]
debugutils: allow per feature registration

Split plugin into features including
dynamic types which can be indiviually
registered during a static build.

More details here:

https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/876>

3 years agoavi: allow per feature registration
Stéphane Cerveau [Mon, 15 Feb 2021 12:38:21 +0000 (13:38 +0100)]
avi: allow per feature registration

Split plugin into features including
dynamic types which can be indiviually
registered during a static build.

More details here:

https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/876>

3 years agoautodetect: allow per feature registration
Stéphane Cerveau [Mon, 15 Feb 2021 12:02:59 +0000 (13:02 +0100)]
autodetect: allow per feature registration

Split plugin into features including
dynamic types which can be indiviually
registered during a static build.

More details here:

https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/876>

3 years agoaudioparsers: allow per feature registration
Stéphane Cerveau [Mon, 15 Feb 2021 12:00:38 +0000 (13:00 +0100)]
audioparsers: allow per feature registration

Split plugin into features including
dynamic types which can be indiviually
registered during a static build.

More details here:

https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/876>

3 years agoapetag: allow per feature registration
Stéphane Cerveau [Mon, 15 Feb 2021 11:44:31 +0000 (12:44 +0100)]
apetag: allow per feature registration

Split plugin into features including
dynamic types which can be indiviually
registered during a static build.

More details here:

https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/876>

3 years agovpx: allow per feature registration
Stéphane Cerveau [Mon, 15 Feb 2021 10:00:46 +0000 (11:00 +0100)]
vpx: allow per feature registration

Split plugin into features including
dynamic types which can be indiviually
registered during a static build.

More details here:

https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/876>

3 years agotaglib: allow per feature registration
Stéphane Cerveau [Fri, 12 Feb 2021 16:26:36 +0000 (17:26 +0100)]
taglib: allow per feature registration

Split plugin into features including
dynamic types which can be indiviually
registered during a static build.

More details here:

https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/876>

3 years agoqt: allow per feature registration
Stéphane Cerveau [Fri, 12 Feb 2021 16:09:19 +0000 (17:09 +0100)]
qt: allow per feature registration

Split plugin into features including
dynamic types which can be indiviually
registered during a static build.

More details here:

https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/876>

3 years agospeex: allow per feature registration
Stéphane Cerveau [Fri, 12 Feb 2021 15:09:53 +0000 (16:09 +0100)]
speex: allow per feature registration

Split plugin into features including
dynamic types which can be indiviually
registered during a static build.

More details here:

https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/876>

3 years agosoup: allow per feature registration
Stéphane Cerveau [Fri, 12 Feb 2021 15:04:16 +0000 (16:04 +0100)]
soup: allow per feature registration

Split plugin into features including
dynamic types which can be indiviually
registered during a static build.

More details here:

https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/876>

3 years agoraw1394: allow per feature registration
Stéphane Cerveau [Fri, 12 Feb 2021 14:53:19 +0000 (15:53 +0100)]
raw1394: allow per feature registration

Split plugin into features including
dynamic types which can be indiviually
registered during a static build.

More details here:

https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/876>

3 years agowavpack: allow per feature registration
Stéphane Cerveau [Fri, 12 Feb 2021 14:47:46 +0000 (15:47 +0100)]
wavpack: allow per feature registration

Split plugin into features including
dynamic types which can be indiviually
registered during a static build.

More details here:

https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/876>

3 years agoalpha: allow per feature registration
Stéphane Cerveau [Fri, 12 Feb 2021 14:35:11 +0000 (15:35 +0100)]
alpha: allow per feature registration

Split plugin into features including
dynamic types which can be indiviually
registered during a static build.

More details here:

https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/876>

3 years agoaudiofx: allow per feature registration
Stéphane Cerveau [Fri, 12 Feb 2021 14:27:31 +0000 (15:27 +0100)]
audiofx: allow per feature registration

Split plugin into features including
dynamic types which can be indiviually
registered during a static build.

More details here:

https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/876>

3 years agortp: allow per feature registration
Stéphane Cerveau [Fri, 12 Feb 2021 12:16:28 +0000 (13:16 +0100)]
rtp: allow per feature registration

Split plugin into features including
dynamic types which can be indiviually
registered during a static build.

More details here:

https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/876>

3 years agopulse: allow per feature registration
Stéphane Cerveau [Fri, 12 Feb 2021 10:12:34 +0000 (11:12 +0100)]
pulse: allow per feature registration

Split plugin into features including
dynamic types which can be indiviually
registered during a static build.

More details here:

https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/876>

3 years agompeg123: allow per feature registration
Stéphane Cerveau [Fri, 12 Feb 2021 09:41:29 +0000 (10:41 +0100)]
mpeg123: allow per feature registration

Split plugin into features including
dynamic types which can be indiviually
registered during a static build.

More details here:

https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/876>

3 years agolibpng: allow per feature registration
Stéphane Cerveau [Fri, 12 Feb 2021 09:33:50 +0000 (10:33 +0100)]
libpng: allow per feature registration

Split plugin into features including
dynamic types which can be indiviually
registered during a static build.

More details here:

https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/876>

3 years agolame: allow per feature registration
Stéphane Cerveau [Fri, 12 Feb 2021 09:27:18 +0000 (10:27 +0100)]
lame: allow per feature registration

Split plugin into features including
dynamic types which can be indiviually
registered during a static build.

More details here:

https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/876>

3 years agolibcaca: allow per feature registration
Stéphane Cerveau [Fri, 12 Feb 2021 09:26:26 +0000 (10:26 +0100)]
libcaca: allow per feature registration

Split plugin into features including
dynamic types which can be indiviually
registered during a static build.

More details here:

https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/876>

3 years agojpeg: allow per feature registration
Stéphane Cerveau [Fri, 12 Feb 2021 09:09:46 +0000 (10:09 +0100)]
jpeg: allow per feature registration

Split plugin into features including
dynamic types which can be indiviually
registered during a static build.

More details here:

https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/876>

3 years agojack: allow per feature registration
Stéphane Cerveau [Fri, 12 Feb 2021 08:56:36 +0000 (09:56 +0100)]
jack: allow per feature registration

Split plugin into features including
dynamic types which can be indiviually
registered during a static build.

More details here:

https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/876>

3 years agogdk_pixbuf: allow per feature registration
Stéphane Cerveau [Fri, 12 Feb 2021 07:57:55 +0000 (08:57 +0100)]
gdk_pixbuf: allow per feature registration

Split plugin into features including
dynamic types which can be indiviually
registered during a static build.

More details here:

https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/876>

3 years agogtk: allow per feature registration
Stéphane Cerveau [Fri, 12 Feb 2021 07:48:21 +0000 (08:48 +0100)]
gtk: allow per feature registration

Split plugin into features including
dynamic types which can be indiviually
registered during a static build.

More details here:

https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/876>

3 years agoflac: allow per feature registration
Stéphane Cerveau [Thu, 11 Feb 2021 18:53:30 +0000 (19:53 +0100)]
flac: allow per feature registration

Split plugin into features including
dynamic types which can be indiviually
registered during a static build.

More details here:

https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/876>

3 years agodv: allow per feature registration
Stéphane Cerveau [Thu, 11 Feb 2021 17:57:03 +0000 (18:57 +0100)]
dv: allow per feature registration

Split plugin into features including
dynamic types which can be indiviually
registered during a static build.

More details here:

https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/876>

3 years agoaalib: allow per feature registration
Julian Bouzas [Fri, 14 Aug 2020 19:27:31 +0000 (15:27 -0400)]
aalib: allow per feature registration

Split plugin into features including
dynamic types which can be indiviually
registered during a static build.

More details here:

https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/876>

3 years agovideocrop: handle non raw caps features
Víctor Manuel Jáquez Leal [Fri, 19 Mar 2021 16:19:43 +0000 (17:19 +0100)]
videocrop: handle non raw caps features

Currently, videocrop, only negotiates raw caps (system memory) because
it's the type of memory it can modify. Nonetheless, it's also possible
for the element to handle non-raw caps when only adding the crop meta
is possible, in other words, when downstream buffer pools expose the
crop API.

This patch enable non-raw caps negotiation. If downstream doesn't
expose crop API and negotiated caps are featured, the negotiation
fails.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/915>

3 years agortpbin: Don't special-case G_SIGNAL_RUN_CLEANUP stage in signal accumulators
Sebastian Dröge [Fri, 19 Mar 2021 08:35:09 +0000 (10:35 +0200)]
rtpbin: Don't special-case G_SIGNAL_RUN_CLEANUP stage in signal accumulators

All these signals don't run the class handler in the CLEANUP stage.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/913>

3 years agoshout2: Don't register signal without class handler with G_SIGNAL_RUN_CLEANUP
Sebastian Dröge [Fri, 19 Mar 2021 08:34:33 +0000 (10:34 +0200)]
shout2: Don't register signal without class handler with G_SIGNAL_RUN_CLEANUP

There is no class handler to run during the CLEANUP stage.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/913>

3 years agov4l2object: Avoid colorimetry mismatch for streams with invalid colorimetry
Hou Qi [Tue, 23 Mar 2021 08:59:28 +0000 (16:59 +0800)]
v4l2object: Avoid colorimetry mismatch for streams with invalid colorimetry

video-info sets gst colorimetry to default value when colorimetry in caps
is unparsable or invalid. Then v4l2object uses this gst colorimetry to do
mapping with v4l2 colorimetry. This may cause colorimetry mismatch when
check mapped gst colorimetry with that read from caps directly.

To fix this, need to correct gst colorimetry as that parsed from video-info
when check gst_v4l2_video_colorimetry_matches().

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/917>

3 years agov4l2object: Add support for hdr10 stream playback
Hou Qi [Fri, 19 Mar 2021 02:52:26 +0000 (10:52 +0800)]
v4l2object: Add support for hdr10 stream playback

Colorimetry of hdr10 video is bt2100-pq with transfer as
GST_VIDEO_TRANSFER_SMPTE2084. So map GST_VIDEO_TRANSFER_SMPTE2084
to V4L2_XFER_FUNC_SMPTE2084 to support hdr10 stream playback.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/888>

3 years agoshapewipe: fix broken link in docs
Sid Sethupathi [Sat, 20 Mar 2021 15:41:29 +0000 (10:41 -0500)]
shapewipe: fix broken link in docs

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/916>

3 years agortspsrc: Fix more signals
Alba Mendez [Thu, 18 Mar 2021 17:42:02 +0000 (17:42 +0000)]
rtspsrc: Fix more signals

Behaviour change in GLib causes select-stream signal to discard
the value returned by handlers. See !909 for more info.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/912>

3 years agogst: don't use volatile to mean atomic
Matthew Waters [Thu, 18 Mar 2021 08:52:53 +0000 (19:52 +1100)]
gst: don't use volatile to mean atomic

volatile is not sufficient to provide atomic guarantees and real atomics
should be used instead.  GCC 11 has started warning about using volatile
with atomic operations.

https://gitlab.gnome.org/GNOME/glib/-/merge_requests/1719

Discovered in https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/868

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/911>

3 years agoUpdate docs cache and fix before-send signal doc syntax
Nirbheek Chauhan [Wed, 17 Mar 2021 10:24:59 +0000 (15:54 +0530)]
Update docs cache and fix before-send signal doc syntax

The docs for before-send were missing because of this

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/909>

3 years agortspsrc: Fix accumulation of before-send signal return values
Nirbheek Chauhan [Wed, 17 Mar 2021 07:48:34 +0000 (13:18 +0530)]
rtspsrc: Fix accumulation of before-send signal return values

Since glib 2.62, the accumulated return values in RUN_CLEANUP override the
accumulated return values in RUN_FIRST. Since:

1. We have a default handler that always returns TRUE, and
2. User handlers are only run in RUN_FIRST, and
3. Our accumulator just takes the latest return value

We were discarding the return value from the user handler and always
sending messages even if the user handler said not to. See
https://gitlab.gnome.org/GNOME/glib/-/issues/2352 for more details.

This signal does not need RUN_CLEANUP or RUN_FIRST, so just change it
to RUN_LAST so that it's emitted exactly once and accumulated once.

With this fix, this signal can now be used to intercept PAUSE when
going to GST_STATE_NULL so that the server does a TEARDOWN (if
necessary) and not a PAUSE, which will confuse other RTSP clients when
playing shared media.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/909>

3 years agoRevert unusable workaround for PAUSE being sent when going NULL
Nirbheek Chauhan [Wed, 17 Mar 2021 06:02:08 +0000 (11:32 +0530)]
Revert unusable workaround for PAUSE being sent when going NULL

Directly setting rtspsrc to the NULL state before putting the pipeline
in the NULL state usually works, but it can cause a deadlock in some
cases, so it's not a reliable mechanism to fix this.

This reverts commit f37afdafff1fd0a339966116261f5cd0de53f5d1:
"rtspsrc: Fix state changes from PAUSED to PLAYING"

and commit 76d624b2df5594a82269b94dffe8766a372d059d:
"rtspsrc: Do not send PAUSE command when going to GST_STATE_NULL"

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/908>

3 years agortpjitterbuffer: Fix parsing of the mediaclk:direct= field
Sebastian Dröge [Tue, 16 Mar 2021 17:25:36 +0000 (19:25 +0200)]
rtpjitterbuffer: Fix parsing of the mediaclk:direct= field

Due to an off-by-one when parsing the string, the most significant digit
or the clock offset was skipped when parsing the offset.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/907>

3 years agortspsrc: Fix state changes from PAUSED to PLAYING
Nirbheek Chauhan [Mon, 15 Mar 2021 18:38:43 +0000 (00:08 +0530)]
rtspsrc: Fix state changes from PAUSED to PLAYING

This was accidentally broken in the last commit that touched this
because I missed the fall-through in the case immediately above this.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/906>

3 years agomatroskademux: Fix extraction of multichannel WavPack
Sebastian Dröge [Thu, 4 Mar 2021 11:05:19 +0000 (13:05 +0200)]
matroskademux: Fix extraction of multichannel WavPack

The old code had a couple of issues that all lead to potential memory
safety bugs.

  - Use a constant for the Wavpack4Header size instead of using sizeof.
    It's written out into the data and not from the struct and who knows
    what special alignment/padding requirements some C compilers have.
  - gst_buffer_set_size() does not realloc the buffer when setting a
    bigger size than allocated, it only allows growing up to the maximum
    allocated size. Instead use a GstAdapter to collect all the blocks
    and take out everything at once in the end.
  - Check that enough data is actually available in the input and
    otherwise handle it an error in all cases instead of silently
    ignoring it.

Among other things this fixes out of bounds writes because the code
assumed gst_buffer_set_size() can grow the buffer and simply wrote after
the end of the buffer.

Thanks to Natalie Silvanovich for reporting.

Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/859

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/902>

3 years agomatroskademux: Initialize track context out parameter to NULL before parsing
Sebastian Dröge [Wed, 3 Mar 2021 09:31:52 +0000 (11:31 +0200)]
matroskademux: Initialize track context out parameter to NULL before parsing

Various error return paths don't set it to NULL and callers are only
checking if the pointer is NULL. As it's allocated on the stack this
usually contains random stack memory, and more often than not the memory
of a previously parsed track.

This then causes all kinds of memory corruptions further down the line.

Thanks to Natalie Silvanovich for reporting.

Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/858

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/902>

3 years agortspsrc: Do not send PAUSE command when going to GST_STATE_NULL
Nirbheek Chauhan [Mon, 15 Mar 2021 07:27:19 +0000 (12:57 +0530)]
rtspsrc: Do not send PAUSE command when going to GST_STATE_NULL

This usually doesn't matter, but it is disruptive when streaming from
a shared media since it will pause all other clients when any client
exits.

This new behaviour is opt-in and should be safe because you need to
set the NULL state on rtspsrc directly, instead of just on the
pipeline. See the updated documentation for an explanation.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/901>

3 years agov4l2object: handle GST_VIDEO_TRANSFER_BT601
Philipp Zabel [Mon, 18 Jan 2021 14:54:43 +0000 (15:54 +0100)]
v4l2object: handle GST_VIDEO_TRANSFER_BT601

V4L2 makes no difference between the BT.601 and BT.709 transfer
functions [1], but GStreamer does since 1.18 [2].

Adapt gst_v4l2_object_get_colorspace() and
gst_v4l2_object_set_format_full().

[1] https://linuxtv.org/downloads/v4l-dvb-apis-new/userspace-api/v4l/colorspaces-details.html#colorspace-smpte-170m-v4l2-colorspace-smpte170m
[2] https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/724

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/856>

3 years agortspsrc: fix title of a few properties docstrings
Mathieu Duponchelle [Thu, 11 Mar 2021 21:22:15 +0000 (22:22 +0100)]
rtspsrc: fix title of a few properties docstrings

GstRtspSrc -> GstRTSPSrc

This would have been noticed by the since checker, but those
properties were introduced prior to that.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/899>

3 years agowavpackdec: Add floating point format support
Vladimir Menshakov [Sun, 7 Mar 2021 21:25:01 +0000 (21:25 +0000)]
wavpackdec: Add floating point format support

This commit negotiate F32 audio format if MODE_FLOAT used in wavpack file.
Wavpack float mode is always in 32-bit IEEE format.

The following pipeline plays distorted audio if source file is encoded in float mode:
gst-launch-1.0 filesrc ... ! wavpackparse ! wavpackdec ! pulsesink

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/894>

3 years agomatroska: also support push-mode from seek events sent to the element
Matthew Waters [Thu, 4 Mar 2021 05:40:06 +0000 (16:40 +1100)]
matroska: also support push-mode from seek events sent to the element

Otherwise sending seek events would fail to actually seek.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/891>

3 years agogstrtspsrc: 551 should not result in an unhandled error
Marc Leeman [Fri, 26 Feb 2021 09:49:10 +0000 (10:49 +0100)]
gstrtspsrc: 551 should not result in an unhandled error

Some cameras (e.g. HikVision DS-2CD2732F-IS) return "551 Option
not supported" when a command is sent that is not implemented
(e.g. PAUSE). Instead; it should return "501 Not Implemented".

This is wrong, as previously, the camera did announce support for PAUSE
in the OPTIONS.

In this case, handle the 551 as if it was 501 to avoid throwing errors
to application level. */

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/885>

3 years agov4l2videodec: Do not expose profiles/levels in vp8/vp9 template caps
Hou Qi [Mon, 1 Mar 2021 06:32:40 +0000 (14:32 +0800)]
v4l2videodec: Do not expose profiles/levels in vp8/vp9 template caps

Vp8/vp9 supported profiles/levels are listed in decoder sink caps, but
there is no parser for these two formats and the demuxers also don't have
these information. It causes negotiation fail between demuxers and decoder
when check caps "accept = gst_caps_is_subset (caps, template_caps);".
To fix this, need to remove profiles/levels for vp8/vp9 formats in decoder
sink caps.

Fix #854

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/887>

3 years agortpmanager: Fix an MSVC compile warning
Seungha Yang [Wed, 3 Mar 2021 09:30:39 +0000 (18:30 +0900)]
rtpmanager: Fix an MSVC compile warning

We don't expect this object is a part of public library.

gstrtphdrext-twcc.c(45): warning C4273: 'gst_rtp_header_extension_twcc_get_type': inconsistent dll linkage

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/889>