Matthew Waters
b6d03432b4
vulkan/fullscreenquad: add check for unset video info
...
So we don't crash when set_info() is not called.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7000 >
2024-06-07 01:44:32 +00:00
Matthew Waters
e925f22f33
vulkan/fullscreenquad: allow setting NULL input/output buffer to unset
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7000 >
2024-06-07 01:44:32 +00:00
Nirbheek Chauhan
a1463637e0
pango: Add a property to compensate for display response time
...
When measuring video latency, one mechanism involves taking a photo
with a camera of two screens showing the test video overlayed with
timeoverlay or clockoverlay. In these cases, if the display's pixel
response time is crappy, you will see ghosting due to which it can be
quite difficult to discern what the current timestamp being shown is.
This commit adds a property that *also* shows the timestamp in
a different (sequentially predictable) location every frame, which
makes it easy to tell what the latest rendered timestamp is.
For bonus points, you can also use the fade-time of the previous frame
to measure with sub-framerate accuracy when the photo was taken, not
just clamped to the framerate, giving you a higher precision latency
value.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6935 >
2024-06-06 14:03:04 +00:00
Seungha Yang
afb62e98c7
cuda: Enable x86 NVMM support again
...
It was broken since memory copy helper function was moved to gst-libs.
Also, adding "cuda-nvmm" and "cuda-nvmm-include-path" build options
to en/disable NVMM support in gstcuda library
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6978 >
2024-06-06 12:16:50 +00:00
Seungha Yang
6fb0c7b928
examples: cuda: Add CUDA memory synchronization example
...
Add an example code for external CUDA context sharing and
gst_cuda_memory_sync()
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6864 >
2024-06-06 11:27:26 +00:00
Stéphane Cerveau
a17957a7c8
vulkan: remove remaining GST_VULKAN_HAVE_VIDEO_ENCODERS
...
Some define use have been forgotten in
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6992
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7001 >
2024-06-06 10:32:51 +00:00
Sebastian Dröge
441e71d1ff
flvmux: Use GDateTime instead of gmtime()
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6872 >
2024-06-06 08:33:51 +00:00
Sebastian Dröge
a6a1fd03cc
rtspconnection: Use GDateTime instead of gmtime()
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6872 >
2024-06-06 08:33:51 +00:00
Sebastian Dröge
400c379c3d
mxf: Use GDateTime instead of gmtime()
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6872 >
2024-06-06 08:33:51 +00:00
Sebastian Dröge
542fa9be89
examples: rust: Update various dependencies
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6999 >
2024-06-06 09:44:59 +03:00
Edward Hervey
4f94749665
gstpromise: Don't use g_return_* for internal checks
...
If assertion/checks are disabled bad things will happen and the function won't
return as expected
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6993 >
2024-06-05 18:47:05 +00:00
Stéphane Cerveau
df33ae2da6
gst-plugins-bad: tests: rename vkvideoencode tests
...
Rename vulkan encode tests to be able to use the namespace
libs_vkvideoencode*.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6992 >
2024-06-05 17:50:27 +00:00
Stéphane Cerveau
21ee264d65
vulkan: remove GST_VULKAN_HAVE_VIDEO_ENCODERS
...
Use 2.3.275 as first supported SDK version
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6992 >
2024-06-05 17:50:27 +00:00
Stéphane Cerveau
b9633cb766
vkqueue: remove useless decoder include
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6992 >
2024-06-05 17:50:26 +00:00
Corentin Damman
bdeabcc4a6
gstqsg6material: fix RGB format support
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6991 >
2024-06-05 16:49:06 +00:00
Thibault Saunier
11f96ce4dd
autoconvert: Fix race condition when creating sub elements
...
There was a case where the element would get destroyed while being
added to the hash table of elements
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6989 >
2024-06-05 12:53:45 +00:00
Sebastian Dröge
c14a2d7d6d
video: Document UL_LR / UR_LL video orientation methods correctly
...
They're not flipping along the diagonal axis but a flip and rotation.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6936 >
2024-06-05 11:37:13 +00:00
Chun-wei Fan
d024ee4303
GTK plugin: Support OpenGL/WGL on Windows
...
This attempts to implement the gtkglsink element on Windows using WGL,
as there were some more gotchas that are along the way, since we need to
juggle with libepoxy along the way, meaning that we need a recent
GTK+-3.24.x for this to work properly, i.e. the upcoming GTK+-3.24.43.
Since we are essentially using an overlay compositor only during
rendering, move its initialization and destruction into the
gtk_gst_gl_widget_render() function, so that things are safer as we are
doing things across threads between gstreamer (gst-gl) and GTK, as GL
operations, as above, have more gotchas on Windows.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4289 >
2024-06-05 08:53:19 +00:00
Sebastian Dröge
cfb59df83e
dtlssrtpenc: Don't crash if no pad name is provided when requesting a new pad
...
It is mandatory to provide a valid pad name for dtlssrtpenc.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6984 >
2024-06-05 07:30:36 +00:00
Edward Hervey
6c4f52ea20
decodebin3: Avoid usage of parsebin even more
...
When dealing with push-based inputs, we are now delaying the creation of
parsebin/identity until we get all pre-buffer events.
We therefore can simplify the handling of new pads being linked and only have to
check if upstream can handle pull-based or not.
Avoids creating parsebin for parsed upstream data altogether
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6953 >
2024-06-04 14:44:14 +00:00
Matthew Waters
013026b06a
vulkan/videofilter: add getters for queue/device/instance
...
Allows bindings to not pke at structs for this information.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6987 >
2024-06-03 00:06:18 +10:00
Matthew Waters
a7a70ca7b6
vulkan/fullscreenquad: add get_queue()
...
Allows bindings to not poke at the instance struct.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6987 >
2024-06-03 00:06:18 +10:00
Matthew Waters
5e182c911c
vulkan/fullscreenquad: mark set_info GstVideoInfo as const
...
It's not modified by the function.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6987 >
2024-06-03 00:06:18 +10:00
Piotr Brzeziński
9ca8f16a3b
macos: Listen for audio devices being added/removed
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6981 >
2024-06-01 13:21:59 +00:00
Matthew Waters
5b471311c5
vulkan: also support glslang as a shader compiler
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6980 >
2024-06-01 12:41:49 +00:00
Matthew Waters
346df4cb3f
vulkan: support not having glslc available for building vulkan plugin
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6980 >
2024-06-01 12:41:49 +00:00
Sebastian Dröge
9b60b32cf8
rtspsrc: Only update from the Content-Base header in the initial OPTION / DESCRIBE response
...
Some servers send a new content base in the SETUP response, which is
just the non-aggregate control URL of the individual streams.
See https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3563
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6926 >
2024-06-01 11:30:44 +00:00
Sebastian Dröge
e65344afac
rtspsrc: Handle the case of *
as session-wide control URL from the SDP
...
Just like the comment above says this is supposed to indicate that the
same URL should be used as for the connection so far. If encountering
this case simply do nothing.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6926 >
2024-06-01 11:30:44 +00:00
Sebastian Dröge
e73e34fd6f
rtspsrc: Also handle rtsps://
and similar URLs as absolute in other places
...
Previously a direct comparison with `rtsp://` was performed, which
didn't catch cases like `rtsps://`.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3563
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6926 >
2024-06-01 11:30:44 +00:00
Sebastian Dröge
966c39b92e
rtspsrc: Don't try the SETUP workaround for broken servers with absolute control URIs
...
Previously only control URIs that started with "rtsp://" were ignored
but it makes more sense to ignore all absolute URIs.
gst_uri_is_valid() conveniently checks for exactly that.
See https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3563
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6926 >
2024-06-01 11:30:43 +00:00
Jakub Adam
c56a87b73d
gldownload: use gst_gl_sync_meta_wait_cpu()
...
Simple gst_gl_sync_meta_wait() is not sufficient to ensure GL commands
are executed before dma-buf devices get to see the buffer.
This is the first step that should make the code behave correctly for
everybody, although there may be performance penalty. In the future we
should introduce a more general sync meta that would allow to move the
waiting from gldownload (the producer) to the sink elements (the
consumers).
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6968 >
2024-06-01 08:09:34 +00:00
Martin Nordholts
5d2421b8c8
gst_debug: Add missing gst_debug_log_id_literal() dummy with gst_debug=false
...
E.g. gst_debug_log_literal() already has a dummy variant.
gst_debug_log_id_literal() is simply missing, which can
cause link errors for project using gstreamer with
gst_debug=false.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6972 >
2024-06-01 07:30:34 +00:00
Stéphane Cerveau
7bbf5fd801
vkutils: do not forget to clear context in case of error
...
The context is leaking in case of a failing instance open.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6975 >
2024-05-31 14:44:09 +00:00
Stéphane Cerveau
c3f3fd7351
vkerror: free the error string after usage
...
g_set_error already used the var string, can clear it now.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6975 >
2024-05-31 14:44:09 +00:00
Edward Hervey
cb95ba72cf
decodebin3: Include the stream-id in ERROR/WARNING/INFO messages
...
Allows application and other users to know to which stream the
error/warning/info message originated from.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6964 >
2024-05-31 11:58:21 +00:00
Seungha Yang
fd21d97060
qtdemux: Handle keyunit trick mode in case of push mode too
...
Skip non-keyframe video frames if trickmode-keyunit flag is set
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5900 >
2024-05-31 11:21:55 +00:00
Samuel Thibault
31047b878f
ptp-helper: Add GNU/Hurd support
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6970 >
2024-05-30 16:14:29 +00:00
Seungha Yang
e9cefde479
d3d12memory: Fix staging buffer alignment
...
Not all GPUs can support arbitrary offset of
D3D12_PLACED_SUBRESOURCE_FOOTPRINT when copying GPU memory between
texture and buffer. Instead of calculating size/offset per plane,
calculate the entire size and offsets at once.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6967 >
2024-05-30 10:40:44 +00:00
Edward Hervey
686d980955
uridecodebin3: Specify URI for INFO/WARNING/ERROR messages
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6929 >
2024-05-29 22:24:07 +00:00
Edward Hervey
1f4c1c18ca
gstmessage: Allow retrieving and setting details on messages
...
This was only available on warning/error/info messages creator/parsers. These
new functions make it more generic and also add a writable variant for users who
want to add/extend the details
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6929 >
2024-05-29 22:24:07 +00:00
Nirbheek Chauhan
fe1a7edda2
gl: Fix libdrm dependency detection and usage
...
drm_fourcc.h should be picked up via the pkgconfig dep, not the system
includedir directly. All this allows it to be picked up consistently
(via the subproject, for example).
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6932 >
2024-05-29 15:49:45 +00:00
Nirbheek Chauhan
907aca399f
msdk: Fix libdrm dependency detection and usage
...
drm_fourcc.h should be picked up via the pkgconfig include, not the
system includedir directly.
Also consolidate the libdrm usage in va and msdk.
All this allows it to be picked up consistently (via the subproject,
for example).
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6932 >
2024-05-29 15:49:45 +00:00
Nirbheek Chauhan
82b7850c2f
libdrm.wrap: Bump to latest 2.4.120
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6932 >
2024-05-29 15:49:45 +00:00
Nirbheek Chauhan
73cb87de4e
libva.wrap: Bump to latest release 2.21.0, move to wrap-file
...
Since we no longer require a pre-release git commit, we an use
a tarball which is faster and easier to update/cache.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6932 >
2024-05-29 15:49:45 +00:00
Nirbheek Chauhan
e3f086c648
meson: Don't use fallback: kwarg for libva deps
...
This will cause a fallback even when the `va` option is `auto`, not
giving the user a chance to provide the dependency via the system, and
likely building this feature unnecessarily.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6932 >
2024-05-29 15:49:45 +00:00
Nirbheek Chauhan
deaa0aef79
va: Fix libdrm include
...
The libdrm/ prefix should not be used, it will be provided by the
pkgconfig file. Also HAVE_LIBDRM is necessary.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6932 >
2024-05-29 15:49:45 +00:00
Víctor Manuel Jáquez Leal
236d6714ec
msdkcaps: fix ill-format string
...
This patch fixes this critical warning when registering MSDK:
_dma_fmt_to_dma_drm_fmts: assertion 'fmt != GST_VIDEO_FORMAT_UNKNOWN' failed
It was because the HEVC string with possible output formats has an extra space
that could not be parsed correctly.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6853 >
2024-05-29 13:08:55 +00:00
Edward Hervey
94646c642d
decodebin3: Specify stream-id for missing decoder
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6886 >
2024-05-29 11:44:06 +00:00
Edward Hervey
c987eaa427
pbutils: Missing plugin messages can contain the stream-id
...
In order to help users and applications, allow setting the stream-id for which
there is a missing plugin.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6886 >
2024-05-29 11:44:05 +00:00
Seungha Yang
96cf3d7063
d3d12encoder: Do not print error log for not-supported feature
...
gst_d3d12_result() will print message with ERROR level if failed.
Use FAILED/SUCCEEDED macros instead, since not-supported feature
is not a critical error
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6955 >
2024-05-29 10:45:13 +00:00