Seungha Yang
9a6b9e274a
meson: gst-plugins-bad: Disable spammy MSVC warning
...
warning C5051: attribute 'noinline' requires at least '/std:c++20';
ignored
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3705 >
2023-01-11 03:23:57 +09:00
Tim-Philipp Müller
d2ef7819d3
tests: interactive: test-effect-switch: use autovideosink
...
Also works on Windows.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3703 >
2023-01-10 13:28:30 +00:00
Sebastian Dröge
bd91768692
mxfmux: Add all local tags to the primer
...
No matter if they're allocated via GSlice or malloc(). The allocator is
completely irrelevant, all local tags need to be in the primer so they
can be handled.
This didn't have any effect in practice because all local tags that
appear in the muxer are allocated via GSlice. Only from the demuxer they
might be allocated via malloc().
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3699 >
2023-01-10 11:10:10 +00:00
Marek Vasut
d43ee08f13
jpegdec: Disable libjpeg-turbo SIMD acceleration support for now
...
The libjpeg-turbo SIMD acceleration support suffers from multiple
unresolved cornercases. Disable the libjpeg-turbo for now until
those cornercases are resolved.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3694 >
2023-01-10 00:32:38 +00:00
Mathieu Duponchelle
f33f728b82
ci/README: basic instructions for running locally
...
These should be extended upon by someone more knowledgeable with the
topic, but that's the basic information I would want to find there
in order to start debugging CI issues locally.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3681 >
2023-01-09 22:26:52 +00:00
Guillaume Desmottes
f7e1505a5e
libav: avaudec: display flow return name instead of value
...
More convenient to read in logs. gstavviddec already does it.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3700 >
2023-01-09 13:25:05 +01:00
Tim-Philipp Müller
1b7c95ec01
gst-play: fix command line option string formatting
...
Add missing space to translated string.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3696 >
2023-01-09 01:24:57 +00:00
Philippe Normand
f532ea6627
av1enc: Add property for controlling max distance between 2 keyframes
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2743 >
2023-01-08 18:51:55 +00:00
Yatin Mann
59529ae918
aom: av1enc: Expose more properties
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2743 >
2023-01-08 18:51:54 +00:00
yatinmaan
5cb04de96a
aom: av1enc: Remove redundant enum variants from header
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2743 >
2023-01-08 18:51:54 +00:00
Yatin Mann
cbc7334d93
aom: av1enc: Ensure that input pts is strictly increasing
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2743 >
2023-01-08 18:51:54 +00:00
Yatin Mann
cfcd2aac67
aom: av1enc: Fix pts unit
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2743 >
2023-01-08 18:51:54 +00:00
ekwange
beccaf31ef
dfbvideosink: Fix compile error
...
Fix some compile errors
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3670 >
2023-01-08 03:49:03 +00:00
Olivier Crête
af315967da
webrtc nice: Let libnice handle STUN/TURN DNS resolution
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3676 >
2023-01-07 16:03:23 +00:00
Olivier Crête
069eeeb5c3
webrtc: Change requirement to libnice 0.1.20
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3676 >
2023-01-07 16:03:23 +00:00
Sebastian Dröge
5f2989d5a1
rtspclientsink: Add publish-clock-mode
property
...
This allows modifying the behaviour how/if the pipeline clock is
published according to RFC7273, similar to the same API on
`GstRTSPMedia`.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3581 >
2023-01-07 00:40:44 +00:00
Sebastian Dröge
ce50e13e28
rtspclientsink: Fix docs for various properties
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3581 >
2023-01-07 00:40:44 +00:00
Mathieu Duponchelle
2f020013e6
docs: explicitly declare gir build dependencies
...
As the path to the gir file is passed to hotdoc.generate_doc() and
not the build target itself, meson doesn't know about the dependency.
In turn, as the CI doesn't build everything before building the
documentation target, some gir files might not exist, for instance
in the case of gst-rtsp-server, causing the output documentation to
be empty.
The error occurred silently because hotdoc accepts wildcards for
*-sources arguments, thus it won't warn about a missing gir file as
it is legitimate for glob matching to resolve to nothing.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3686 >
2023-01-06 22:50:57 +00:00
Sebastian Dröge
fa2b98f957
typefindfunctions: Add missing length check to XML typefinder
...
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=54811
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3690 >
2023-01-06 18:10:20 +02:00
Sebastian Dröge
54ff9b2b5f
typefindfunctions: Reduce XML typefinder minimum data size from 64 to 32 bytes
...
64 bytes makes the typefinder fail on very small XML documents on which
it succeeded previously.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3690 >
2023-01-06 14:37:31 +02:00
Sebastian Dröge
37f219bd57
opusdec: Try harder to negotiate the upstream channels/rate preferences
...
It might be possible to fulfill those but not with the first caps
structure. Instead of just fixating the first caps structure, check if
the preference can be fulfilled by any of the structures as the first
step.
Without this the following pipeline negotiates to mono after the
decoder because opusenc only has a single channel in its first caps
structure.
gst-launch-1.0 audiotestsrc ! audio/x-raw,channels=2 ! opusenc \
! queue ! opusdec ! queue ! opusenc ! fakesink
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3689 >
2023-01-05 17:59:41 +02:00
Sebastian Dröge
516fe4ca58
Revert "opusenc: Reverse channel order in template caps"
...
This reverts commit cdf411e82d
. It causes
pipelines to unnecessarily negotiate to 8 channels.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1688
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3689 >
2023-01-05 17:57:19 +02:00
Rodrigo Bernardes
28f7a0ed2e
dvbbasebin: don't rely on g_key_file_get_(integer|uint64) return
...
instead check if an error was returned, and fail if any
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3688 >
2023-01-05 12:51:28 +00:00
Jan Schmidt
023c67e166
hlsdemux: Consider starting stream time in presentation offset
...
When calculating the presentation offset for CMAF input in live
playback, subtract the stream_time of the fragment from the
calculated presentation offset, so that the first fragment
is played at running time zero.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3680 >
2023-01-05 07:08:16 +00:00
Olivier Crête
b7c0e8bc84
webrtc examples: Force regular non-MULTIOPUS
...
Using MULTIOPUS breaks with most browsers
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3675 >
2023-01-04 12:02:25 +00:00
Olivier Crête
c7bc6bc064
webrtc-unidirectional: Avoid critical
...
Don't unref the parameter passed to a signal, it's always owned by
the caller. Fixes a GLib critical.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3675 >
2023-01-04 12:02:25 +00:00
Olivier Crête
f97ff39358
audioenc/dec: Avoid adding temporary structure
...
As a minor optimisation
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3673 >
2023-01-04 11:09:31 +00:00
Olivier Crête
e03a10a0f2
audioenc/dec: Preserve downstream caps preference in get caps
...
This should fix pipelines such as this one to work as expected
... ! opusenc ! capsfilter caps='audio/x-opus,
channels=1; audio/x-opus, channels=2' ! ...
The expectation is that the encoder will propose the first structure
before the second one to the source.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3673 >
2023-01-04 11:09:31 +00:00
Sebastian Dröge
bd534af999
ges: gst_bin_add() is transfer floating
so wrappers around it are too
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3678 >
2023-01-04 10:22:45 +00:00
Olivier Crête
f45cfe0d53
srt: Avoid crash on unknown option
...
Use the correct field that is null instead of the struct value which
never is.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3672 >
2023-01-04 02:45:51 +00:00
Sebastian Dröge
401ea9f683
typefindfunctions: Check for the SVG namespace URL in addition to <svg
and the doctype
...
Finding the SVG namespace URL gives a clear indication that this is
actually an SVG file while the `<svg>` tag only gives a likely
indication as it's rather short.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1540
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3631 >
2023-01-04 00:49:47 +00:00
Xavier Claessens
5ff5f9fd5b
qroverlay: Add qrcode-case-sensitive property
...
This allows to encode case sensitive strings, like wifi SSID/password.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3662 >
2023-01-03 19:40:20 +00:00
Sebastian Dröge
50db59449e
avvidenc: Set timebase in the ffmpeg context to nanoseconds and set framerate
...
As we now actually use the timestamps from ffmpeg for timestamping the
output we would lose a lot of accuracy if the framerate is used.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1544
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3634 >
2023-01-03 16:46:14 +00:00
Sebastian Dröge
11520403a5
typefindfunctions: Make XML typefinder more strict
...
If a XMLDec is found, check also for its end. Similarly, check for the
end of the XML tag we're looking for and make sure that the following
characters are valid.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1536
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3632 >
2023-01-03 12:07:43 +00:00
He Junyan
1eeea942de
h265decoder: Fix a memory leak because of slice header.
...
The gst_h265_slice_hdr_free() should free the slice header just
parsed, not the priv->current_slice. Or, the memory leak will
happen because we do not free the slices in priv->nalu list.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3671 >
2023-01-03 17:28:18 +08:00
Tim-Philipp Müller
4d335eb667
subprojects: libffi: pin to meson-3.2.9999.4 tag
...
In case we want to change the 'meson' branch over
to the re-done meson port based on upstream libffi
in future.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3666 >
2022-12-31 13:49:17 +00:00
مهدي شينون (Mehdi Chinoune)
8d5ac30955
meson: Accept latest version of opencv 4.x
...
We've been bumping along the maximum opencv 4.x version for years,
just accept all opencv versions till someone reports breakage.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1680
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3664 >
2022-12-30 17:10:12 +00:00
Edward Hervey
6beca9f055
urisourcebin: Fix parsebin handling
...
The goal of !3601 was to make sure we don't end up with non-streams-aware
adaptive demuxers. Since we know that parsebin is streams-aware, just remember
that and handle them that way.
Fixes issues with some scenarios where parsebin might add pads *before* the
collection is posted on the bus
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1675
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3658 >
2022-12-30 08:46:14 +01:00
Edward Hervey
66b96baf23
uridecodebin3: Fix handling of "expected" pads
...
The number of expected pads was:
* Defaulting to 1
* Or being overriden by GST_MESSAGE_STREAMS_SELECTED
This fails if upstream isn't a selectable source and has multiple streams, and
would therefore cause failures with multi-stream gapless playback
Fixes #1672
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3658 >
2022-12-30 08:46:14 +01:00
Edward Hervey
80e7c31514
uridecodebin3: Avoid repeatedly calling the blocking probe
...
When skipping an event, we want to unref it and say we handled it. This avoids
being repeatedly called for the same (sticky) events.
The events will be properly propagated once the pad is linked.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3658 >
2022-12-30 08:46:13 +01:00
Edward Hervey
a0655d5131
uridecodebin3: Handle multiple pending pad block probes
...
It is quite possible to have the blocking probe called from different streaming
threads when all expected pads are present.
* Notify all waiters by using g_cond_broadcast instead of g_cond_signal
* Properly remove the probe after waiting
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3658 >
2022-12-30 08:46:13 +01:00
Philippe Normand
8ec82f9363
event: Fix gst_event_parse_stream_collection annotation
...
The output parameter ownership is passed to the caller.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3659 >
2022-12-29 18:16:31 +00:00
Nirbheek Chauhan
92b9c604c4
meson: Add an option to select the method for finding Qt
...
This is needed by Cerbero, since we want to force the use of qmake to
find Qt on non-Linux platforms.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3628 >
2022-12-29 09:53:17 +00:00
Sebastian Dröge
19603248c2
gl: Mark gst_gl_context_new_wrapped()
return value as nullable
...
If a GL context is requested for which no API support is compiled in
then `NULL` is returned.
Also remove a useless `NULL` check: `g_object_new()` can't possibly
return `NULL`, ever.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3656 >
2022-12-29 09:03:53 +00:00
F. Duncanh
b713c141e0
plugins-base/tests/check/meson.build: add omitted Wayland dependence
...
SUSE places Wayland include files in /usr/include/wayland, and needs
a Cflag added to wayland_client_deps by pkg-config, which is added to
gl_winsys_deps: add this as a dependency in gstgl_dep to fix issue.
Fixes #1607
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3638 >
2022-12-28 20:04:49 -05:00
Nirbheek Chauhan
36a619ba60
meson: Add gstreamer-gl-1.0 pkgconfig vars to internal dependency
...
So we can fetch gl_winsys, gl_platforms, etc directly using
gst_gl_dep.get_variable() when building gstreamer as a subproject, or
when building gst-plugins-rs's gtk4 plugin.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3654 >
2022-12-29 03:52:42 +05:30
Philippe Normand
3f3bd70687
tests: gstelement: Fix test_add_pad_while_paused flakiness
...
`gst_element_remove_pad()` doesn't automatically deactivate the pad, it has to
be done explicitly beforehand, otherwise the pad task might be left dangling,
exposed to undefined behaviour.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3653 >
2022-12-28 17:42:31 +00:00
Jan Schmidt
794ffe6ec6
validate: Place regex flags at the start of the regex
...
In Python 3.11 it is an error to have regex flags in the middle
of an expression, so make sure they appear at the start.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1630
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3643 >
2022-12-28 10:04:41 +00:00
Seungha Yang
ce2c294117
gtkbasesink: Fix widget leak
...
gst_gtk_base_sink_get_widget() will increase refcount and it should
be released after use
Fixing regression introduced by the commit
941c0e81dd
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3644 >
2022-12-28 09:14:59 +00:00
Alicia Boya García
15caeb4ac9
gstelement: fix deadlock in gst_element_add_pad() when >=PAUSED
...
gst_element_add_pad() is supposed to activate the pad if the element
state is >= PAUSED and the pad is not already active.
Unfortunately, before this patch, the activation was performed while the
element lock was still taken, which ended causing a deadlock in
gst_pad_start_task() as it attempted to post `stream-status` message in
the element, which also requires the element lock.
Elements could work around this bug by activating the pad manually
before adding it to the element.
This patch fixes the problem by performing pad activation only after the
element lock has been released.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3635 >
2022-12-27 20:31:10 +00:00