Sebastian Dröge
3044b0992f
Revert "splitmuxsink: Avoid assertion when WAITING_GOP_COLLECT on reference context"
...
This reverts commit f29c19be58
. If this is
called for the reference context then we would run into an infinite
loop, which is not really better than an assertion.
By fixing up DTS to never be ahead of the PTS in the previous commit
this situation should be impossible to hit now.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4498 >
2023-04-28 11:00:19 +00:00
Sebastian Dröge
de907c225b
splitmuxsink: Catch invalid DTS to avoid running into problems later
...
DTS > PTS makes no sense, so we clamp DTS to the PTS. Also if there's a
PTS but no DTS, then assume that PTS=DTS to make sure we're not working
with a much older DTS.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4498 >
2023-04-28 11:00:19 +00:00
Nirbheek Chauhan
479f0175b5
meson: Add feature options for optional va deps libdrm and gudev
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4428 >
2023-04-28 15:22:31 +05:30
Nirbheek Chauhan
55ee0635d3
meson: Fix libdrm and vaapi configure checks
...
We do not need fallback: for libdrm checks because the wrap file
already has a [provide] section.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4428 >
2023-04-28 15:21:10 +05:30
Nirbheek Chauhan
beb21f9254
meson: Add a new option to control the source for build-tools
...
Similar to orc, allow distros to force bison, flex, nasm, etc, to be
provided by the system.
Needed by the Homebrew folks:
https://github.com/Homebrew/homebrew-core/pull/125996#discussion_r1166410216
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4428 >
2023-04-28 15:21:10 +05:30
Víctor Manuel Jáquez Leal
3a09e700e6
vkswapper: missing image barrier after vkCmdClearColorImage
...
After clear color image command the swapper image needs to add a barrier before
copying the buffer to display on it. Otherwise a potential synchronization
problem might occur.
Fixes #2403
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4501 >
2023-04-28 00:59:57 +00:00
Víctor Manuel Jáquez Leal
f12e052e54
vulkan: use VK_QUEUE_FAMILY_IGNORED in barriers
...
Instead of using the valid queue family 0 (zero) if there aren't queue transfers
there's no need to specify a not validated queue family, but just
VK_QUEUE_FAMILY_IGNORED.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4501 >
2023-04-28 00:59:57 +00:00
Seungha Yang
4ed3c46de7
cudamemory: Fix for semi planar YUV memory size decision
...
UV plan of the semi planar format requires only half of Y plane size
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4502 >
2023-04-27 20:55:53 +00:00
Seungha Yang
fafecf9cb3
sample: Add gst_clear_sample() method
...
Similar to other GstMiniObject clear helper methods like
gst_clear_buffer().
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4473 >
2023-04-28 04:38:30 +09:00
Seungha Yang
b7083ad242
sample: Fix typo around gst_sample_copy() method
...
It's sample, not buffer
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4473 >
2023-04-27 18:35:41 +00:00
Sebastian Dröge
ef89bac181
rtspsrc: Fix handling of *
control path
...
Regression introduced by 7f9d689572
.
Thanks to Tristan Matthews for reporting this.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4497 >
2023-04-27 13:47:56 +00:00
Edward Hervey
0db6149880
decodebin3: Handle streams without CAPS or TIME segment
...
decodebin3 will do its best to figure out whether a parsebin is required to
process the incoming stream.
The problem is that for push-based stream it could happen that the stream would
not provide any caps, resulting in nothing being linked internally.
Furthermore, there is the possibility that a stream *with* caps would not be
using a TIME segment, which is required for multiqueue to properly work.
In order to fix those two issues, we force the usage of parsebin on push-based
streams:
* When the pad is linked, if upstream can't provide any caps
* When we get a non-TIME segment
Fixes #2521
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4492 >
2023-04-27 12:50:21 +00:00
Stéphane Cerveau
61416bc532
pbutils: add video/x-ivf to descriptions
...
Add missing description for video/x-ivf spotted
with gst-discoverer-1.0
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4248 >
2023-04-27 06:45:27 +00:00
Stéphane Cerveau
f0d61ac8b0
libav: set the frame rate values in ffmpeg stream context
...
To avoid a default value to be used in mux.c+304, give the
frame rate detected from the caps.
Fix IVF header.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4248 >
2023-04-27 06:45:26 +00:00
Stéphane Cerveau
6f21ef9d3a
libav: add av1 to gst_ffmpeg_caps_to_codecid
...
Restrict the stream-format to obu-stream
and the alignment to "tu" and "frame" as "obu"
is not properly supported by libav.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4248 >
2023-04-27 06:45:26 +00:00
Daniel Moberg
4c1de25e9d
webrtc: do not tear down data channel before data is flushed
...
Current implementation can in some cases detect
that all data is sent but in reality it is not,
leading to a push to an unlinked pad.
This is a race between the probe used to track data sent and a
call to close.
This patch sends an EOS before starting the close procedure
and then waits for the EOS event to come through to the
src pad before commencing with tear down.
This ensures that any queued data before EOS is flushed.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4462 >
2023-04-27 00:40:18 +00:00
Matthew Waters
262be30b6f
ccutils: generate valid padding in field 1 when needing to generate field 2
...
Fixes CC in Field 2 but not in Field 1 errors.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4490 >
2023-04-26 20:43:13 +00:00
Seungha Yang
4710f45e65
d3d11videosink: Fix for ignored initial render rectangle
...
Application can set target render rect before internal HWND
configuration
Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2518
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4480 >
2023-04-26 19:39:09 +00:00
Sebastian Szczepaniak
277a9f0cef
qtdemux: Add support for cenc sample grouping
...
Co-authored-by: Xabier Rodriguez Calvar <calvaris@igalia.com>
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3551 >
2023-04-26 18:51:56 +00:00
Guillaume Desmottes
0d254f59b8
core: pad: fully log event being pushed
...
It's useful when debugging to check the details of the event being sent,
like the segment for example.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4493 >
2023-04-26 18:00:14 +00:00
Mathieu Duponchelle
781a228d3a
docs: update hotdoc theme to 0.15
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4488 >
2023-04-26 13:50:42 +02:00
Mathieu Duponchelle
d08d9bacb2
ci: bump hotdoc dependency
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4488 >
2023-04-26 13:50:40 +02:00
Mathieu Duponchelle
3868771191
docs-index: de-hardcode toned row color
...
Instead use a bootstrap panel and let styling occur based on that,
making the index page work well with the dark theme.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4488 >
2023-04-26 13:50:21 +02:00
Jordan Petridis
8e9db20a3b
windows/Dockerfile: Pin python to 3.11.2
...
Version 3.11.3+ and 3.12 change the way subprocess with shell=True
works to no longer use the PATH but instead rely on %ComSpec% or
%SystemRoot% which are currently not present in the cerbero env.
51b079a2d6
Pin to 3.11.2 until we fix cerbero.
https://gitlab.freedesktop.org/gstreamer/cerbero/-/issues/427
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4468 >
2023-04-26 01:38:19 +00:00
Sebastian Dröge
dd78aa053b
ci: Update to Rust 1.69
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4468 >
2023-04-26 01:38:19 +00:00
Thibault Saunier
9dda8050f2
validate: Add a way to avoid checking property value after setting it
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4485 >
2023-04-26 00:03:06 +00:00
Hou Qi
aed4d31e67
decodebin3: fix segment fault when print decoder log
...
Segment fault happens when cannot find decoder but try to print
decoder name. Need to check the decoder.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4461 >
2023-04-25 21:42:15 +08:00
Stéphane Cerveau
40bd8468af
bad: disable dtls test if openssl is not present
...
On MacOS with homebrew, the openssl library is not
properly detected with pkg-config.
So disable the test compilation if openssl
is not properly detected along with libcrypto.
libcrypto is detected but it uses the system one
which leads to the error:
your binary is not an allowed client of /usr/lib/libcrypto.dylib for
architecture x86_64
See more details from Apple:
https://developer.apple.com/forums/thread/124782
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4481 >
2023-04-25 10:01:57 +00:00
Yinhang Liu
35177b81b3
msdk: Fix segfault for OneVPL dispatcher + legacy MSDK runtime path
...
From the spec, the OneVPL dispatcher should be able to work with
legacy MSDK runtime:
https://www.intel.com/content/www/us/en/docs/onevpl/upgrade-from-msdk/2023-1/onevpl-hardware-support-details.html
Currently supported capabilities:
OneVPL dispatcher + OneVPL runtime: dynamic capability
MSDK dispatcher + MSDK runtime: static capability
MSDK dispatcher + OneVPL runtime: static capability
OneVPL dispatcher + legacy MSDK runtime: static capability
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2506
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4466 >
2023-04-25 08:09:29 +00:00
Yinhang Liu
e97b5ad355
msdk: Add NumFilters check for VPP description
...
When NumFilters is equal to 0, the function should return
immediately.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4466 >
2023-04-25 08:09:29 +00:00
Yinhang Liu
ca125bd304
msdk: Add return when creating caps fails for VPP
...
When creating caps fails, the function should return immediately
and should not continue to register the plugin.
This patch fixes the issue of "gst_mini_object_ref: assertion
'mini_object != NULL' failed" in
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2506
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4466 >
2023-04-25 08:09:29 +00:00
Eva Pace
692d4a3a16
webrtcbin: Fix trace log 'from' value
...
`webrtc->signaling_state` (from) and `new_signaling_state` (to) had the
same value when printed in a trace log. This commit adds a
`old_signaling_state` variable to hold the previous value, so that the
print statement works as intented.
Spotted by: Mustafa Asım REYHAN
Fixes #1802
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4362 >
2023-04-25 04:27:02 +00:00
Thibault Saunier
7aaf2b48ef
doc: Avoid shelling out to hotdoc to generate plugins config files
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4479 >
2023-04-25 02:57:55 +00:00
Thibault Saunier
6e305a471f
meson: Add CameraBin and Va girs
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4479 >
2023-04-25 02:57:55 +00:00
Stéphane Cerveau
cc81e961a0
applemedia: fix missing definition
...
Fix missing kCVPixelFormatType_64RGBALE definition
on Catalina for example
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4478 >
2023-04-24 17:05:03 +00:00
Jordan Petridis
791a068c58
build: appease clang warning
...
Clang complains about these variables being (possibly) unitialized, even
when they are assigned to NULL or proper value inside the macro.
Might as well initialize them to avoid the warning.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4281 >
2023-04-24 12:37:07 +00:00
Jordan Petridis
578680a530
ci: Move MESON_GST_WERROR string into a meson machine file
...
It's both easier to use that way and we can also reuse it when
building locally.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4281 >
2023-04-24 12:37:07 +00:00
Jordan Petridis
68d042742a
ci: Replace yaml anchor of simple build with a variable
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4281 >
2023-04-24 12:37:07 +00:00
Jordan Petridis
20f9e67ac6
citemplate: port fedora build jobs to a parallel matrix
...
This is a new feature which makes it so we can generate
jobs based on the possible matrix of the environment variables
we pass into it.
In this commit we refactored the gstbuild template to a matrix of
Buildtype, debugbuild (and could have also set werror, but we
always have it on in fedora gstbuilds).
Then create 2 jobs, one for each compiler set. We could have
put them in the matrix, but CC and CXX are kinda coupled
and doesn't make sense to tests the matrix between them.
https://docs.gitlab.com/ce/ci/yaml/README.html#parallel-matrix-jobs
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4281 >
2023-04-24 12:37:07 +00:00
Jordan Petridis
d6cd43a2ef
citemplate: move debugbuild option to variable
...
Instead of appending it to the meson args string, have the
gstbuild template construct the meson args accordingly.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4281 >
2023-04-24 12:37:07 +00:00
Jordan Petridis
187420a21b
citemplate: move the buildtype from the meson args to a variable
...
Instead of appending to the existing variable, have the gstbuild
template construct the meson args accordingly.
Also avoid using the buildtype to extend hackily jos to pass
extra args to them
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4281 >
2023-04-24 12:37:07 +00:00
Jordan Petridis
50de7adf1a
citemplate: replace werror var with a boolean
...
Instead of appending the string of the meson args we pass
to the gstbuild template, make a boolean variable and contruct
the meson args in the template accordingly.
This is prep in order to use the new matrix feature.
https://docs.gitlab.com/ce/ci/yaml/README.html#parallel-matrix-jobs
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4281 >
2023-04-24 12:37:07 +00:00
Martin Nordholts
2fed3bf6c4
webrtc: Plug leaks of resolved ICE addresses
...
The addresses we get from `resolve_host_finish()` (via
`resolve_host_async()`, `resolve_host_main_cb()`, `on_resolve_host()`,
`g_resolver_lookup_by_name_finish()`) must be freed. Otherwise we leak
memory.
Leak found and confirmed fixed with GCC AddressSanitizer.
Change-Id: If32d24452d626234f01b253b77a7d6d16eac1cee
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4469 >
2023-04-24 06:23:30 +00:00
Thibault Saunier
b14e675a27
gir: Checkout all .gir files and check that they are updated on the CI
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3010 >
2023-04-22 09:32:32 -04:00
Guillaume Desmottes
d4a9106499
videoflip: check that stream actually changed when resetting
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4377 >
2023-04-22 14:03:16 +02:00
Guillaume Desmottes
7c4e36acfd
videoflip: reset orientation if not present in a tag update
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4377 >
2023-04-22 14:02:13 +02:00
Guillaume Desmottes
c0fa04fcaf
videoflip: handle tag list scopes
...
STREAM taglist can now overrides the orientation from the GLOBAL
taglist, but not the other way around.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4377 >
2023-04-22 14:02:13 +02:00
Guillaume Desmottes
96afec6253
videoflip: reset orientation on new stream
...
Fix the following use:
- upstream sends a video with a rotation tag, say 90°
- upstream switches to another video without rotation
- the second video was still rotated by videoflip
Fix this by resetting the orientation when receiving STREAM_START.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4377 >
2023-04-22 14:02:13 +02:00
Guillaume Desmottes
61a5da1014
videoflip: add test rotating from tags
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4377 >
2023-04-22 14:02:13 +02:00
Sebastian Dröge
6c429a5891
audiotestsrc: Initialize all samples in wave=ticks mode
...
Previously samples were only initialized in 2 out of 3 cases.
Probably fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/337
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4475 >
2023-04-22 08:44:02 +00:00