Guillaume Desmottes
c9c7e83a78
core: pipeline: add gst_pipeline_get_configured_latency()
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4472 >
2024-01-18 20:17:04 +01:00
Guillaume Desmottes
ba4ab9dc16
core: pipeline: add gst_pipeline_is_live()
...
Convenient API for applications wanting to check if a pipeline is live
or not. Save them from checking the change_state return value or sending
latency queries.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4472 >
2024-01-18 20:17:04 +01:00
Thibault Saunier
30cc16d670
ges: composition-meta: Enhance documentation
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5735 >
2024-01-16 20:13:23 +00:00
Thibault Saunier
bad6b7e60a
ges: Implement a gesvideoscale
bin
...
This allows user to be in control of when scaling happens in the pipeline.
It can be plugged as an effect and scaling will be forced to happen in
the effect instead of in the compositor.
Without this, it would not be possible for users to, for example,
crop a video source before scaling to the target source size.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5735 >
2024-01-16 20:13:23 +00:00
Chris Spencer
2388932767
vkmemory: don't map memory more than once
...
vkMapMemory may not be called on a memory object that is already
host-mapped. If the gstreamer memory object is mapped more than once then
reuse the existing Vulkan mapping.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5917 >
2024-01-16 17:44:48 +01:00
Chris Spencer
865227b750
vkimagebufferpool: allow specifying initial image layout
...
The pool currently defaults to performing a layout transition to
VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL, with some special exceptions for
video usages. This may not be a legal transition depending on the usage.
Provide an API to explicitly control the initial image layout.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5881 >
2024-01-13 05:54:00 +00:00
Xavier Claessens
68bddca7c3
girs: Update
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4300 >
2024-01-11 17:20:23 +00:00
Olivier Crête
745197d386
analytics: Implement scale meta transform for Object detection meta
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5863 >
2024-01-10 18:35:17 -05:00
Olivier Crête
5d3035553c
analytics: Replace type quark with opaque struct pointer
...
This way, we can add function pointers in there for things like
transformations.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5863 >
2024-01-10 18:34:53 -05:00
Olivier Crête
91815710dd
analyticsmeta: Make the GstAnalyticsRelatableMtdData struct private
...
Only ask the subclass about how much space they need, this way we can keep
the allocation details more private.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5863 >
2024-01-10 18:19:38 -05:00
Stéphane Cerveau
97ebaa0bc1
gstutils: add gst_util_ceil_log2
...
Move ceil_log2 from nalutils.* to gstutils.*
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5888 >
2024-01-09 15:34:10 +00:00
Seungha Yang
e5b3f090fc
cuda: Update gir
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5639 >
2024-01-02 19:39:29 +09:00
Sebastian Dröge
2e86fb691a
video-format: Fix format order once again
...
RGBA should be before RBGA. Both the Python script and the gstreamer-rs
tests agree on that, but somehow this is not caught by the CI.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5837 >
2023-12-20 05:33:43 +00:00
Olivier Crête
f5d5f2cf1a
meta: Add API to register metas in two steps
...
And also remove the specific registration APIs for
serializable meta.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5830 >
2023-12-19 22:41:31 +00:00
Olivier Crête
2a9c4e3270
meta: Move the clear operation to its own vfunc
...
Some transforms always assumed that the transformation was some kind
of copy. So adding a "clear" operation didn't work out in practice.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5830 >
2023-12-19 22:41:31 +00:00
Nicolas Dufresne
73338aa1ae
doc: baseparse: Clarify consumed vs output size
...
When we finish a frame, we pass a size which semantic can easily be confused.
Improve the documentation to clarify that the parameter size is the amount of
input data being consumed and, if set, the output_buffer size can differ.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5754 >
2023-12-19 16:08:08 -05:00
Philippe Normand
61d3f5c8e0
play: Include pipeline dump in error details structure
...
This can be useful for debugging purposes. It can't be done on application side
because the on_error callback tears down the pipeline.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5828 >
2023-12-18 20:13:38 +00:00
Xavier Claessens
6d71605508
girs: Update
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5355 >
2023-12-17 16:13:26 +00:00
Víctor Manuel Jáquez Leal
4a22cc8fb3
va: no need to provide a buffer size for VA pool
...
VA drivers allocate surfaces given their properties, so there's no need to
provide a buffer size to the VA pool.
Though, the buffer size is provided by the driver, or the canonical size
is used for single planed surfaces.
This patch removes the need to provide a size for the function
gst_va_pool_new_with_config() and adds a helper method to retrieve the surface
size, gst_va_pool_get_buffer_size(). Also change the callers accordingly.
Changes for custom VA pool creation will be addressed in the following commits.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5805 >
2023-12-14 12:50:32 +00:00
Víctor Manuel Jáquez Leal
8574bb8914
vadisplay: add gst_va_display_check_version()
...
This function compares the driver version with the user provided one to check if
driver's is equal or bigger.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5800 >
2023-12-13 09:12:28 +00:00
Víctor Manuel Jáquez Leal
94e6a6e3de
vaallocator: clean up use derived feature
...
Remove allocator member variable for use derived feature which doesn't need to be kept,
it's just for configuration purposes.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5799 >
2023-12-12 18:39:49 +01:00
Thibault Saunier
6dc86b1f91
basesrc: Expose automatic-eos as a property
...
It is useful for appsrc for example and no good reason to not expose it as a property
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5725 >
2023-12-05 14:04:05 +00:00
Daniel Morin
7e3f947ea1
analytics: update girs
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5758 >
2023-12-04 10:14:59 -05:00
Jordan Yelloz
4ec5de8784
gstcontext: Added gst_clear_context()
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5756 >
2023-12-02 09:03:47 +00:00
Jordan Yelloz
ac6952e936
gstpromise: Added gst_clear_promise()
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5756 >
2023-12-02 09:03:47 +00:00
Seungha Yang
269df73f92
gl: Add RBGA format support
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5738 >
2023-12-01 12:19:12 +00:00
Seungha Yang
5cbd062856
video: Add RBGA format
...
This new format is intended to be used by hardware decoders
where VUYA is only supported 4:4:4 decoding surface but
stream is encoded with GBR color space, HEVC and VP9 GBR streams
for example.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5703 >
2023-11-29 16:54:16 +00:00
Jordan Yelloz
e33d5303f7
gstpromise: Added GST_IS_PROMISE() macro
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5728 >
2023-11-28 15:41:49 -07:00
Maksym Khomenko
20f48f0fd0
rtpbasepayload: add extensions property
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5694 >
2023-11-28 15:05:24 +00:00
Stéphane Cerveau
c6a5437e0d
vkbufferpool: allow to set allocation params
...
Add the possibility to change the vulkan usage and mem properties from
external source.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5645 >
2023-11-21 19:16:37 +00:00
Daniel Morin
d23a90cb16
analytics: base class for analytics meta
...
- GstAnalyticRelationMeta is a base class for analytics
meta. It's able to store analytics results (GstAnalyticRelatableMtd)
and describe the relation between each analysis results.
- GstAnalysisRelationMeta also contain an algorithm able to explore
analysis results relation using a bfs.
- Relation(edge) between analysis results (vertice) are stored in an adjacency-matrix
that allow to quickly identify if two analysis results are related and by
which relation they related. It also work for indirect relation
and can provide the path of analysis results by which two
analysis results are related.
- One allocation per buffer to store analysis results. Here we rely on
the application to guess how much space will be required to store all
analysis results. This is something that could be improved
significantly but it's a starting point.
- Define common analysis results, classification, object-detection,
tracking that are subclass of GstAnalyticRelatableMtd. The also
provide exemple of how to extend GstAnalyticRelatableMtd to have them
benefit for the mechanim to express relation with other analysis
results.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4962 >
2023-11-21 18:04:53 +00:00
Stéphane Cerveau
74c6298eb7
vkdevice: select queue with expected flags
...
Allow to select a queue with the given flags
such as compute bit etc from a given device.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5656 >
2023-11-21 13:51:21 +00:00
Víctor Manuel Jáquez Leal
f3d63183dc
vulkan: update gir file
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4850 >
2023-11-20 13:32:20 +00:00
Jordan Yelloz
66f51f642f
bad: Added W3C Media Source Extensions library
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2992 >
2023-11-19 13:48:43 +00:00
Alexander Slobodeniuk
2922c6182d
insertbin/doc: add "Since" markers to pass CI
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5514 >
2023-11-17 01:09:49 +01:00
Alexander Slobodeniuk
709913b1d2
insertbin: make it available in the registry
...
so it could also be used from the gst-parse-launch
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5514 >
2023-11-16 21:36:32 +01:00
Sebastian Dröge
8b805fea15
net: Update gir file
2023-11-16 15:20:38 +02:00
Philippe Normand
d6c425fc58
ges: Expose FrameCompositionMeta in public API
...
Knowing the positioning and size of each frame in the composition can help
applications optimize their rendering pipeline.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5652 >
2023-11-16 11:45:40 +00:00
Philippe Normand
99fa06e73f
play: Improve documentation header
...
If the application relies on GstPlaySignalAdapter, no special clean-up is
required.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5643 >
2023-11-12 11:07:37 +00:00
Philippe Normand
66373721d5
gstplay: Add a minimal documentation header
...
Also mentioning the need to set the bus to flushing state before disposing the
player in order to avoid reference cycles.
Fixes #3107
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5631 >
2023-11-11 10:48:27 +00:00
Philippe Normand
18fcd14fb8
streamcollection: Fixup doc blurbs
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5605 >
2023-11-10 00:28:42 +00:00
Víctor Manuel Jáquez Leal
7c0227145c
vaallocator: use GstVideoInfoDmaDrm for dmabuf setup
...
Instead of guessing the DRM format and modifier, pass a DRM video info to
gst_va_dmabuf_memories_setup().
Still, it checks for the DRM parameters in DRM info, if they are not available,
as in the case of V4L2 buffers, the part of the video info is used.
This is an API breakage, but since the plugin is still in stage, it's still
allowed.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5264 >
2023-11-09 17:36:06 +00:00
Víctor Manuel Jáquez Leal
76115528ac
vallocator: remove n_planes argument in dmabuf_memories_setup()
...
Instead of passing the number of planes to process, take that number from the
passed GstVideoInfo.
This is an API breakage, but since the plugin is still in stage, it's still
allowed.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5264 >
2023-11-09 17:36:06 +00:00
Thibault Saunier
114ef64465
ges: Expose GESDiscovererManager::source-setup
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5608 >
2023-11-06 14:23:45 +00:00
Xavier Claessens
ceb686a32b
GstShmAllocator: Update gir files
...
Sponsored-by: Netflix Inc.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5328 >
2023-11-03 18:22:00 +00:00
Víctor Manuel Jáquez Leal
ebd8e160fb
vulkan: update gir file
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5079 >
2023-10-26 07:26:23 +00:00
Jordan Petridis
88e6dd0555
ci: switch the Fedora base image to f34
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1060 >
2023-10-22 05:23:28 +03:00
Loïc Le Page
e1ca575408
gl: add support for surfaceless display in GstGL
...
Use of the EGL_MESA_platform_surfaceless EGL extension to create an EGL
display that is not depending on any kind of windowing system.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5511 >
2023-10-20 12:46:48 +00:00
He Junyan
ea35adc55f
gl: upload: Implement the fixate_caps virtual function
...
We now prefer the 2D target than other targets when fixating src caps.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5468 >
2023-10-18 19:56:30 +00:00
Thibault Saunier
974e908c61
ges: project: Start making MT safe where needed
...
Formatters might call "loaded" from the `gessrc` streaming thread
meaning that the `->formatters` field need to be protected.
Several other APIs are called from gesbasedemux, in some radom
thread, so we should ensure that this is all MT. safe, and the API
makes it simple.
Co-authored-by: Philippe Normand <philn@igalia.com>
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5431 >
2023-10-04 09:29:04 +01:00