Matthew Waters
fc85b63c2b
glmixer: remove set_caps() vfunc
...
All of its implementors can be moved to gl_start/stop() from
GstGLBaseMixer instead.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4608 >
2023-05-18 19:34:14 +00:00
Matthew Waters
331b1af468
glmixer: remove reset vfunc
...
This functionality is covered by GstGLBaseMixer's gl_stop() vfunc.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4608 >
2023-05-18 19:34:14 +00:00
Matthew Waters
14e7e991d3
gl/mixer: make fbo instance field private and provide accessor function
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4608 >
2023-05-18 19:34:14 +00:00
Matthew Waters
007a602726
gl: move gl(base)mixer to library
...
For use by applications/libraries outside of the opengl plugin.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4608 >
2023-05-18 19:34:14 +00:00
Nirbheek Chauhan
681f042f27
meson: Install viv-fb GL headers, needed by i.MX
...
Needed by qmlglsink at build time to allocate a viv-fb display.
Without this, the GL fastpath doesn't work, and performance is really
bad.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4613 >
2023-05-12 15:05:56 +05:30
Yinhang Liu
f04a1eee71
video: video-info-dma: Fix return value
...
The return value of gst_video_info_dma_drm_new_from_caps is a pointer type,
and should not return a boolean type. Fix this issue.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4612 >
2023-05-12 15:38:08 +08:00
Piotr Brzeziński
5e45a1b1bd
macos: Set activation policy in osxvideosink and glimagesink
...
Upon creating a window, glimagesink and osxvideosink now set the policy to
NSApplicationActivationPolicyRegular, which lets us show an icon in the Dock
for convenience and appear in the top menu bar like other apps.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4573 >
2023-05-12 01:14:44 +02:00
Piotr Brzeziński
f60c87769f
macos: Remove old NSApp workaround related code
...
This is no longer needed since the introduction of `gst_macos_main()` in 1.22.
Before that existed, we had a patch for GLib in Cerbero, which did work but made it
impossible to update GLib at all. The code being removed was a fail-safe in case of
running without said patch being applied. It's no longer needed, since for macOS
we just wrap our GStreamer with an NSApplication using `gst_macos_main()`.
Warnings will be displayed if no NSApp/NSRunLoop is found wherever needed,
pointing the user towards using the new API.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4366 >
2023-05-11 20:30:19 +02:00
Sebastian Dröge
4cbd8d6fc6
pbutils: discoverer: Mark gst_discoverer_stream_info_get_stream_id() as nullable
...
It can return NULL in certain situations.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4572 >
2023-05-08 15:26:58 +03:00
Thibault Saunier
40a6f2dc91
discover: Avoid double freee when creating info from cache file
...
Passing ownership to the function as the created info is made owner.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3911 >
2023-04-29 06:54:10 -04:00
Thibault Saunier
0f229aa62a
discoverer: Add serializing unknown stream type support
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3911 >
2023-04-29 06:54:10 -04:00
Thibault Saunier
9e994ea616
discoverer: Add a signal to retrieve serialized GstDiscovererInfo
...
This allows user to serialize the GstDiscovererInfo in other places
than the default folder, like a database when running web services for
examples.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3911 >
2023-04-29 06:47:55 -04: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
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
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
Nicolas Dufresne
e709e2d97c
meson: Add a wrap file for libgudev
...
And allow fallback to it.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4447 >
2023-04-19 22:47:19 +00:00
Sebastian Dröge
83106de7e7
video: timecode: Add support for framerates lower than 1fps
...
These are not explicitly defined but the existing calculations can be
extended to also cover that case by inverting them to avoid floating
point calculations.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2465
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4374 >
2023-04-17 10:26:11 +00:00
Seungha Yang
5765eb8dce
sdpmessage: Don't set "source-filter" to caps
...
Multiple "source-filter" can exist, and it requires special handling
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3485 >
2023-04-12 16:32:07 +00:00
Matthias Fuchs
769cc48e49
glcontext_wgl: fix missing unref
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4392 >
2023-04-11 20:05:17 +00:00
Philippe Normand
4e4cb3bcf5
glbasesrc: Reverse order of error/debug messages
...
Addressing follow-up review from Tim in !4222 , the first string is meant to be
shown to the user and should be translatable. The second one is more suited for
debugging purposes and should not be translated.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4389 >
2023-04-11 12:28:27 +01:00
Sebastian Dröge
8ed0b03c78
appsink: Use a class handler callback instead of vfunc for propose-allocation
...
There would otherwise be no padding left in the class struct anymore and
we might need it for something else in the future.
A class handler callback can be overridden by subclasses via
`g_signal_override_class_handler()` and chained up via
`g_signal_chain_from_overridden_handler()`.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2422
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4356 >
2023-04-06 15:21:35 +00:00
Sebastian Dröge
51a2adb837
allocators: drm-dumb: Annotate allocator instance parameters with the correct type
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4360 >
2023-04-06 17:04:45 +03:00
Sebastian Dröge
edcb8e8f35
allocators: drm-dumb: Annotate device-path as a filename
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4358 >
2023-04-06 15:41:27 +03:00
Rouven Czerwinski
7ad84674ab
gst-plugins-base: gl: wayland: cleanup on close
...
The proxy and queue are created in the gst_gl_window_wayland_egl_open()
function and will be recreated on open. This leaks both objects, the
wayland client documentation mentions that they should be destroyed
using the appropriate destroy functions.
Found during valgrind memory leak testing, these blocks were marked as
definitely lost.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4354 >
2023-04-06 08:09:36 +02:00
Guillaume Desmottes
84dea99132
appsrc: properly handle events received before sending the segment
...
The first serialized events that can be send on a src pad are a CAPS and then a
SEGMENT event.
When handling events from user in appsrc, we used to send a segment
automatically if the SEGMENT has not been sent yet.
This breaks if the CAPS event was not send either as we were now sending
a SEGMENT before the CAPS.
Fix this by delaying such events until the CAPS has been configured.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4297 >
2023-04-05 11:11:46 +00:00
Guillaume Desmottes
4bffa7b537
appsrc: log when popping caps and buffer (list) from queue
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4297 >
2023-04-05 11:11:46 +00:00
Sebastian Dröge
a17209220f
sdp: Skip source-specific caps fields when creating an SDP media from caps
...
Regression from https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2132
We parse the source-specific fields from the SDP and put it into the
caps, but when converting caps into an SDP again this would need special
handling. By default it would end up as part of the fmtp field, which is
simply wrong.
Automatically putting it into the caps and SDP will need some more work.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4338 >
2023-04-05 05:20:33 +00:00
Bart Van Severen
65f953cd23
rtsp: gstrtspurl: gst_rtsp_url_get_request_uri: use rtsps scheme for tls transport methods
...
gst_rtsp_url_get_request_uri returns rtsp://... url when requested url is rtsps://, this is not
in accordance with https://www.rfc-editor.org/rfc/rfc7826.html#section-19.2 .
This also impedes setting up a rtsps session with a live555 rtsp server.
Don't expose other than rtsp and rtsps internal gstreamer rtsp url schemes
to avoid regression:
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2412
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4294 >
2023-03-29 11:38:47 +00:00
Bart Van Severen
c2b3afd3dd
Revert "rtsp: gstrtspurl: gst_rtsp_url_get_request_uri: fix incorrect scheme for tls transport methods"
...
This reverts commit 024ef7659d
because it causes a regression:
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2412
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4294 >
2023-03-29 11:38:47 +00:00
Shengqi Yu
96a46e31c7
appsink: add propose_allocation support
...
Adding propose_allocation is to meet the requirement of Application to
request buffers. Application sometimes need to create buffer pool
and request buffers to maintain buffer management itself, and Gstreamer plugin
import Application's buffers to use. So, add propose_allocation in
appsink like waylandsink and kmssink etc.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4185 >
2023-03-27 12:34:16 +03:00
Tobias Rapp
c467ac0869
gst-plugins-base: Add FourCC and type description for FFVHuff video
...
The FFVHuff video codec is a FFmpeg-specific variant of the lossless
HuffYUV codec with increased coverage of supported pixel formats and bit
depths.
Fixes #2389 .
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4250 >
2023-03-23 14:30:59 +00:00
Stéphane Cerveau
23661f0446
vulkan: gl: change symbols to static
...
Change window_proc and subclass_proc to static to avoid symbols
duplication.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4246 >
2023-03-23 00:56:04 +00:00
Philippe Normand
47b8618b2d
glbasesrc: Reword error message
...
The initial glbasesrc implementation was based on a refactoring of gltestsrc,
but one error message wasn't updated accordingly and remained specific to the
gltestsrc implementation.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4222 >
2023-03-19 16:39:18 +00:00
Víctor Manuel Jáquez Leal
d6dd81dbdd
video: remove spurious gst_caps_make_writable()
...
In gst_video_info_dma_drm_to_caps() the caps are newly created, so there's no
need for make it writable. In gst_video_info_dma_drm_from_caps() a copy of the
caps is done, which implies a gst_caps_make_writable().
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4195 >
2023-03-17 13:01:02 +00:00
Tim-Philipp Müller
8759b77a50
gst-plugins-base: re-indent with GNU indent 2.2.12
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4182 >
2023-03-17 03:18:53 +00:00
Nicolas Dufresne
7c7f2bb6df
allocators: Add a DRM Dumb Allocator
...
This allow allocating memory from any DRM driver that supports this
method. It additionally allow exporting DMABuf. This allocator depends
on libdrm and will be stubbed if the dependency is missing. This is derived
from kmssink dumb allocator.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3801 >
2023-03-14 21:50:57 +00:00
He Junyan
67d0a911a5
video: add dma format and info helper functions
...
From the dmabuf.md[1], "drm-format" field in caps will replace the
traditional "format" field, so it needs to import some new helper
functions to support this.
1. https://gstreamer.freedesktop.org/documentation/additional/design/dmabuf.html
Co-authored-by: Yinhang Liu <yinhang.liu@intel.com>
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4043 >
2023-03-12 03:09:01 +00:00
Carlos Falgueras García
dafc024ed0
gldisplay: Remove unused code
...
The code related with environment variable `GST_GL_PLATFORM` is unused
since commit 33c60bdbf9
.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4090 >
2023-03-01 08:23:37 +00:00
Patricia Muscalu
35f1738875
rtspconnection: Annotate RTSP message parameters correctly
...
These parameters are not actually `out` parameters but must
be allocated and zero-initialized by the calling function.
Marking them as `out caller-allocates` will cause memory
corruptions when calling these APIs from e.g., Python code.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4051 >
2023-02-23 12:04:37 +00:00
Tristan van Berkom
0472c306d0
gstglwindow_x11.c: Fix colormap leak
...
This fixes an X server side memory leak, this is normally not severe
but in some circumstances where the glwindow is recreated frequently
it can result in a very bad memory leak.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4047 >
2023-02-22 16:29:06 +00:00
Yang, Xuchen
a14f8008fb
audio: channel-mix: Fix channel count limit to be able to equal 64
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3949 >
2023-02-14 07:04:45 +00:00
Philipp Zabel
485c8ef4b5
gleglimage: cache EGL images per DmabufUpload
...
Do not store cached EGL images in GstMemory QData. Instead, use a
per-DmabufUpload GHashTable to store cache entries with a weak
reference to the GstMemory.
This allows two glupload elements on separate tee branches to have
their own EGL image cache. For this pipeline:
gst-launch-1.0 v4l2src ! tee name=t \
t. ! queue ! glupload ! fakesink
t. ! queue ! glupload ! fakesink
this gets rid of the occasional critical error message:
GStreamer-CRITICAL **: 08:26:33.194: gst_mini_object_unref: assertion 'GST_MINI_OBJECT_REFCOUNT_VALUE (mini_object) > 0' failed
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3880 >
2023-02-07 19:32:14 +00:00
Anders Hellerup Madsen
f0040149a0
glbasefilter: use gst_display_ensure_context
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3843 >
2023-02-06 16:15:46 +01:00
Anders Hellerup Madsen
7bee4619dd
glbasesrc: use gst_display_ensure_context
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3843 >
2023-02-06 16:14:34 +01:00
Anders Hellerup Madsen
0da0da69aa
gldisplay: Add gst_gl_display_ensure_context
...
See https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/439
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3843 >
2023-02-06 16:14:07 +01:00
Jan Schmidt
edd5911249
gl/cocoa: Return a strong ref to the parent GstGLContext
...
If the GstGLCAOpenGLLayer was initialized via a parent
context, make sure to ref the context before returning it
from getGLContext as all callers will unref it.
Follow up to !3729
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3881 >
2023-02-02 13:53:07 +00:00
Sebastian Dröge
c5d211d45a
gldisplay: Mark gst_gl_display_create_context()
other_context
parameter as nullable
...
See https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/438
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3825 >
2023-01-27 16:22:06 +02:00
Bart Van Severen
024ef7659d
rtsp: gstrtspurl: gst_rtsp_url_get_request_uri: fix incorrect scheme for tls transport methods
...
gst_rtsp_url_get_request_uri returns rtsp://... url when requested url is rtsps://, this is not
in accordance with https://www.rfc-editor.org/rfc/rfc7826.html#section-19.2 .
This also impedes setting up a rtsps session with a live555 rtsp server.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3568 >
2023-01-26 07:46:59 +00:00
Bart Van Severen
a62b07f3b4
sdp: gstmikey: gst_mikey_message_to_caps: extract salt and append to srtp-key
...
A KEMAC can hold both key and salt, so if salt is present, we should extract it
and append it to the srtp-key cap because libsrtp expects the srtp-key to hold
the concantenated srtp master key and salt.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3568 >
2023-01-26 07:46:59 +00:00
Bart Van Severen
5678151799
sdp: gstmikey: gst_mikey_message_to_caps: extract ROC from first crypto session
...
We need the ROC to decrypt a SRTP stream as the ROC is part of the AES IV.
So look for first crypto session, from which we can get the ROC and find corresponding
crypto policy.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3568 >
2023-01-26 07:46:59 +00:00