Stéphane Cerveau
58779e7538
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 >
2021-03-29 12:45:22 +02:00
Stéphane Cerveau
d661515829
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 >
2021-03-29 12:45:22 +02:00
Stéphane Cerveau
98fa1618f8
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 >
2021-03-29 12:45:22 +02:00
Stéphane Cerveau
aaa5a140d7
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 >
2021-03-29 12:45:22 +02:00
Stéphane Cerveau
d8fa279161
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 >
2021-03-29 12:45:22 +02:00
Stéphane Cerveau
80f8780e92
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 >
2021-03-29 12:45:22 +02:00
Stéphane Cerveau
8c4c4b5cff
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 >
2021-03-29 12:45:22 +02:00
Stéphane Cerveau
65e0bc21a5
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 >
2021-03-29 12:45:21 +02:00
Stéphane Cerveau
fb29c4b07f
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 >
2021-03-29 12:45:21 +02:00
Stéphane Cerveau
abd5c40691
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 >
2021-03-29 12:45:21 +02:00
Stéphane Cerveau
dd3496c830
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 >
2021-03-29 12:45:21 +02:00
Stéphane Cerveau
13a4c15b99
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 >
2021-03-29 12:45:21 +02:00
Stéphane Cerveau
a633f4b12e
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 >
2021-03-29 12:45:21 +02:00
Stéphane Cerveau
f86147cb6d
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 >
2021-03-29 12:45:21 +02:00
Stéphane Cerveau
e4d26e69d3
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 >
2021-03-29 12:45:21 +02:00
Stéphane Cerveau
762e3c31b5
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 >
2021-03-29 12:45:21 +02:00
Stéphane Cerveau
0b257dd1d5
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 >
2021-03-29 12:45:21 +02:00
Julian Bouzas
c428f0080b
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 >
2021-03-29 12:45:13 +02:00
Víctor Manuel Jáquez Leal
db382cbc3d
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 >
2021-03-26 10:19:03 +00:00
Sebastian Dröge
516988bfad
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 >
2021-03-26 09:31:11 +00:00
Sebastian Dröge
860b74d6e2
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 >
2021-03-26 09:31:11 +00:00
Hou Qi
e037391364
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 >
2021-03-24 08:40:52 +08:00
Hou Qi
4c6ff9fb58
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 >
2021-03-22 09:15:54 +08:00
Sid Sethupathi
0a0333d9e4
shapewipe: fix broken link in docs
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/916 >
2021-03-20 12:33:55 -05:00
Alba Mendez
20e80f1473
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 >
2021-03-19 07:23:42 +00:00
Matthew Waters
612102fdbc
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 >
2021-03-18 19:52:53 +11:00
Nirbheek Chauhan
95ef0a1df8
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 >
2021-03-17 15:55:30 +05:30
Nirbheek Chauhan
73fb107a85
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 >
2021-03-17 14:05:44 +05:30
Nirbheek Chauhan
55edd59f48
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 f37afdafff
:
"rtspsrc: Fix state changes from PAUSED to PLAYING"
and commit 76d624b2df
:
"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 >
2021-03-17 14:04:16 +05:30
Sebastian Dröge
00e73e1657
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 >
2021-03-16 18:02:48 +00:00
Nirbheek Chauhan
f37afdafff
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 >
2021-03-16 00:10:24 +05:30
Sebastian Dröge
242f3cae6d
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 >
2021-03-15 12:34:49 +00:00
Sebastian Dröge
6c461e90bc
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 >
2021-03-15 12:34:04 +00:00
Nirbheek Chauhan
76d624b2df
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 >
2021-03-15 12:59:09 +05:30
Philipp Zabel
78dec1e403
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 >
2021-03-12 16:57:50 +00:00
Mathieu Duponchelle
f2d909eb4e
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 >
2021-03-11 22:22:15 +01:00
Vladimir Menshakov
4de3ddad15
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 >
2021-03-08 15:19:57 +02:00
Matthew Waters
e73559f815
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 >
2021-03-04 13:28:55 +00:00
Marc Leeman
c7356c70ee
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 >
2021-03-04 13:07:49 +01:00
Hou Qi
fc5a1e468b
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 >
2021-03-03 15:17:58 +00:00
Seungha Yang
614f4ec5b5
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 >
2021-03-03 18:30:39 +09:00
Philipp Zabel
e885e0e1d7
v4l2videodec: fix src side frame rate negotiation
...
Negotiating v4l2h264dec ! v4l2h264enc transcoding pipelines fails in
case the encoder does not accept framerate=(fraction)0/1.
The acquired caps used for downstream negotiation are determined from
gst_v4l2_object_acquire_format(), which sets the GstVideoInfo::fps_n
and ::fps_d fields to 0.
To fix this, copy the frame rate from the sink side.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/882 >
2021-02-24 17:15:49 +01:00
Jordan Petridis
1257e50d49
rpicamsrc: depend on posix threads and vchiq_arm
...
Could only test on rpi 3b+
Close #839
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/875 >
2021-02-21 00:18:34 +00:00
Nicolas Dufresne
bb29b8f8d2
v4l2bufferpool: Silence traces around unsupported source change
...
Don't be too spamy about unsupported source change flags as these will be
commonly extended in the future.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/870 >
2021-02-19 16:02:02 -05:00
Nicolas Dufresne
409ea3ac84
v4l2src: Move preferred resolution query before the probe
...
As we lock the DV_TIMINGS (and standards in the future), we need to probe the
caps after, otherwise, we may endup fixating to an unsupported resolution,
which would lead to a not-negotiated error.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/870 >
2021-02-19 16:02:02 -05:00
Nicolas Dufresne
b530c0ef4e
v4l2src: Calculate framerate from DV timings
...
And use this framerate in our preference. Note that we also flush
the probed caps as it seems that the format enumeration may change
when a new source change event get triggered.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/870 >
2021-02-19 16:02:02 -05:00
Nicolas Dufresne
25696203c3
v4l2rc: Add DV_TIMINGS query and locking
...
This adds support to DV_TIMINGS query and locking. The timing width and
height is then used as a preference.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/870 >
2021-02-19 16:02:02 -05:00
Nicolas Dufresne
b750fb2d5b
v4l2src: Force renegotiation on resolution change
...
As mandated by the specification, make sure to cycle through streamoff
/ streamon regardless if the caps have changed or not.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/870 >
2021-02-19 16:02:02 -05:00
Nicolas Dufresne
7b8fe18d06
v4l2object: Remove unused streaming member
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/870 >
2021-02-19 16:02:02 -05:00
Nicolas Dufresne
afb412b75d
v4l2src: Refactor to use PreferredCapsInfo structure
...
Avoid passing around a bare structure for the preference, this removes
the need to copy and free that structure and simplify the code. Also
fix a type in the structure name, Prefered -> Preferred.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/870 >
2021-02-19 16:02:02 -05:00