Jakub Adam
9629d78b7c
gstvideoaggregator: preserve features in non-alpha caps
...
Fixes caps negotiation when sink template caps of an element inheriting
GstVideoAggregator have features different from the implicit
"memory:SystemMemory".
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7102 >
2024-07-18 14:17:45 +02:00
Nirbheek Chauhan
9d719b9937
meson: Fix invalid include flag in uninstalled gl pc file
...
${libdir}/gstreamer-1.0/include is only valid after installation, but
extra_cflags are added unconditionally, so we can't use that for
include flags.
Instead, let's add the include flag via variables, which are different
for installed and uninstalled pc files.
This is particularly bad for consuming GStreamer via CMake which barfs
on non-existent include paths.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7130 >
2024-07-05 16:20:22 +00:00
He Junyan
9f1887a623
glupload: Add a comment in DMA's propose_allocation query for video meta
...
The video meta API now is a mandatory request for DMA kind negotiation. In
current code, the raw method always adds that video meta API in the query
of propose_allocation(), so we do not need to do the duplicated task here.
Just adding a comment to declare that.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6698 >
2024-07-04 08:54:15 +00:00
Edward Hervey
2c1c1ec575
encoding-target: Chain up to parent class
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7115 >
2024-07-01 23:19:39 +00:00
Edward Hervey
651568d543
encoding-profile: Chain up to parent class finalize
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7115 >
2024-07-01 23:19:39 +00:00
Seungha Yang
fca7e5aa23
video: convertframe: Add support for d3d12 conversion
...
Use d3d12convert in case of d3d12 memory
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7095 >
2024-06-26 17:56:41 +00:00
Sebastian Dröge
9da1268656
video-info: Don't crash in gst_video_info_is_equal() if one videoinfo is zero-initialized
...
Instead handle it like gst_audio_info_is_equal() and consider both different.
And also add a shortcut for the pointers to both infos being equal.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7055 >
2024-06-18 17:47:14 +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
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
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
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
Jakub Adam
859b1c8b63
glcolorconvert: update existing sync meta if outbuf has one
...
Instead of always adding a new one, which means the buffer could end up
with multiple sync meta instances.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6942 >
2024-05-29 07:29:43 +00:00
Hou Qi
d1c81cbd79
glcolorconvert: traverse all structures in caps when transform_caps
...
This is used to avoid negotiation failure between glcolorconvert
and downstream element.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6908 >
2024-05-24 14:49:41 +09:00
Matthew Waters
0f8b599ded
glcolorconvert: handle rectangle textures for v210/UYVY/YUY2
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6795 >
2024-05-23 04:42:07 +00:00
Matthew Waters
4c27a2d5eb
glcolorconvert: add support for v210->UYVY/YUY2 (and reverse)
...
Also support YUY2/UYVY->YUY2/UYVY conversion
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6795 >
2024-05-23 04:42:06 +00:00
Matthew Waters
f6d3aca076
glcolorconvert: add support for UYVY/YUY2->planar yuv (and reverse)
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6795 >
2024-05-23 04:42:06 +00:00
Matthew Waters
8dac641889
glcolorconvert: add support for v210->planar YUV (and reverse)
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6795 >
2024-05-23 04:42:06 +00:00
Matthew Waters
96939db249
glcolorconvert: add support for converting to/from v210
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6795 >
2024-05-23 04:42:06 +00:00
Matthew Waters
b0b185112d
glmemory: use the GL stride calculation also for downloading into sysmem
...
Allows writing into sysmem with arbitrary strides.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6795 >
2024-05-23 04:42:06 +00:00
Thibault Saunier
5be3f255b0
encoding-profile: Add a way to specify a factory-name when specifying caps
...
In some cases you want to ensure that a specific element factory is used
while requiring some specific caps but this was not possible. You can
now do `qtmux:video/x-prores,variant=standard|factory-name=avenc_prores_ks`
to ensure that the `avenc_prores_ks` factory is used to produce the
'standard' variant of prores video stream.
This also enhances a bit the documentation
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6875 >
2024-05-17 22:46:52 +00:00
Sebastian Dröge
8ea355e52c
audioringbuffer: Avoid overflows of segment done counter
...
This counter is incremented once for every segment, meaning it would
e.g. overflow after 24 days when using 1ms segments. Once that happens,
completely wrong positions are reported and invalid memory is handed out
for writing/reading the next segments.
As the affected variables are unfortunately part of the public API of
the struct, a second set of variables is added together with accessor
functions and both variables are kept in sync for backwards
compatibility.
All existing users of the two variables are moved to the new ones but
external code might still run into the overflow.
This also slightly breaks API as external code updating the variables
will have no effect anymore but the only known user of this is
pulsesink.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6740 >
2024-05-16 06:52:58 +00:00
Sebastian Dröge
399b147d90
audioconvert: Support converting >64 channels
...
There's nothing requiring <= 64 channels except for getting the reorder
map and creating a channel mixing matrix, but those won't be possible to
call anyway as channel positions can only express up to 64 channels.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6819 >
2024-05-12 07:06:32 +00:00
Bill Nottingham
5d7d3c6c0f
pbutils: fix visualization plugins
...
inbuf is persistent, GST_BUFFER_COPY_MEMORY's append behavior is
not what we want.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6800 >
2024-05-07 14:48:47 +00:00
Sebastian Dröge
0ef396359c
gst: Move GstQueueArray as GstVecDeque to core
...
And change lengths and indices from guint to gsize for a more correct type.
Also deprecate GstQueueArray and implement it in terms of GstVecDeque.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6779 >
2024-05-06 18:25:42 +00:00
6fd1900d54
pbutils: AV1 mime codec
...
Add basic AV1 mime codec param generation based on the spec at https://aomediacodec.github.io/av1-isobmff/#codecsparam
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6696 >
2024-05-06 12:43:27 +00:00
Philippe Normand
1c87cda56d
glcolorconvert: Fix caps negotiation with upstream DMABuf
...
The uninitialized texture target was leading to a NULL texture-target string
added to the output caps.
Fixes #3519
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6805 >
2024-05-05 17:48:32 +01:00
Seungha Yang
c8d01d7d1a
video: Add Y216 and Y416 formats
...
The same memory layout as Y212 and Y412 formats, respectively
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6745 >
2024-05-03 17:02:34 +00:00
Sebastian Dröge
ec42cedf63
encoding-profile: Fix nullability of (de)serialization functions
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6775 >
2024-05-01 09:51:35 +00:00
Matthew Waters
184d94305c
glcolorconvert: add support for planar yuv->planar yuv conversions
...
Currently only supported by keeping the same colorimetry and is only
a repacking operation.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6596 >
2024-04-30 05:58:55 +00:00
Matthew Waters
674e643428
glcolorconvert: use color matrices
...
Allows programatically supporting whatever new formats are added to
libgstvideo.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6596 >
2024-04-30 05:58:55 +00:00
Sebastian Dröge
e68eccff10
exiftag: Prevent integer overflows and out of bounds reads when handling undefined tags
...
Fixes ZDI-CAN-23896
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3483
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6766 >
2024-04-29 20:06:22 +00:00
Shengqi Yu
a92167ea6e
glmixer: Add GL_SYNC_META option to bufferpool
...
when pipline is
glvideomixerelement->glcolorconvertelement->gldownloadelement and
glcolorconvertelement is not passthrough, the gl bufferpool between
glvideomixerelement and glcolorconvertelement will not add gl sync meta
during allocating buffer. This will cause that glcolorconvert's inbuf
has no sync meta to wait for.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6756 >
2024-04-29 19:15:39 +00:00
François Laignel
59e17fa931
rtp: add value annotation for GST_RTP_VALID_VALUE
...
... otherwise its value is not available to bindings.
See https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1425#note_2384464
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6762 >
2024-04-29 18:27:40 +00:00
Tim-Philipp Müller
7074849c5c
exif: add debug category
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6741 >
2024-04-27 00:19:30 +00:00
Edward Hervey
2aba1c86e9
videodecoder: Use a frame duration for QoS
...
We prefer to use the frame stop position for checking for QoS since we don't
want to drop a frame which is only partially late.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6689 >
2024-04-24 09:19:22 +00:00
Edward Hervey
ad8c42ba06
encoding-profile: Make (de)serialization functions public
...
This is more convenient and cheaper than going through the `g_value_convert()`
hoops
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6712 >
2024-04-23 14:27:00 +00:00
Loïc Le Page
8fb96253be
audioconvert: add possibility to reorder input channels
...
When audioconvert has unpositionned audio channels as input
it can now use reordering configurations to automatically
position those channels.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5923 >
2024-04-22 12:06:11 +02:00
Seungha Yang
e1910d2be1
navigation: Define mouse double click event
...
Windows and UI toolkits define mouse double click events
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6491 >
2024-04-18 20:19:38 +00:00
Xavier Claessens
686f74e4a4
format: Allow GST_AUDIO/VIDEO_FORMAT_UNKNOWN in _to_string() function
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6630 >
2024-04-17 01:19:58 +00:00
Matthew Waters
7016a96bfe
glcolorconvert: don't overread the end of an array
...
Reverse index iteration needs a - 1 for the initial value.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6595 >
2024-04-10 13:32:57 +00:00
Matthew Waters
97b45246d1
glcolorconvert: remove unused swizzling using "rgba" chars
...
We use indices now instead.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6595 >
2024-04-10 13:32:57 +00:00
Sanchayan Maity
a9c4289da7
video-converter: Fix set config not having effect after start
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6594 >
2024-04-10 09:47:52 +00:00
Sebastian Dröge
4b5a265571
pbutils: descriptions: Don't warn on MPEG-1 audio caps without layer field
...
While this is not ideal and won't give too accurate codec descriptions,
it is what tsdemux produces.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6511 >
2024-04-04 09:39:49 +00:00
Robert Rosengren
8c5203ba0e
audioringbuffer: set waiting to 0 when signaling
...
Reset the waiting thread counter in all places to be consistent
when sending signal for the audio ring buffer. This fix applies it to
pause, stop and release, which are states that will go into a callback
of the subclass. Having the waiting counter reset will avoid having
executing thread of the same subclass trying to take the mutex when
callong gst_audio_ring_buffer_advance.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6195 >
2024-04-03 15:09:00 +00:00
Matthew Waters
2a02107c8d
glcaopengllayer: NULL some fields when freed
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6504 >
2024-04-02 23:50:41 +00:00
Matthew Waters
b080d01b68
glwindow/cocoa: keep a window reference across an async callback
...
Esnures that the window is alive when the callback is fired.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6504 >
2024-04-02 23:50:41 +00:00
Matthew Waters
3c5bb4bf5d
glbufferpool: protect release_buffer from multiple concurrent access
...
If two different threads attempt to release buffers at the same time, then the
keep-alive-slightly-longer GQueue may become corrupted. Guard against that with
some locking.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6504 >
2024-04-02 23:50:41 +00:00
Matthew Waters
49a7424d1e
gl/context/cocoa: ensure pixel format lives as long as the context
...
Under some circumstances, the CGLPixelFormatObj was being destroyed too
early which could lead to potential use-after-frees.
Fix by returning a reference when asked for the pixel format.
Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3154
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6504 >
2024-04-02 23:50:41 +00:00
Alexander Slobodeniuk
b18b3d00b7
navigation: add missing sanity checks
...
On practice a failure happened due to a race condition, the instance
already have been freed, but it could also happen if the instance
would be null.
Instead of crashing this sanity check is a more suitable option,
since with G_DEBUG=fatal-warnings it will crash too.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6475 >
2024-04-02 14:17:53 +00:00
Chao Guo
69f4d98844
glcolorconvert: Ensure glcolorconvert does not miss supported RGB formats
...
Add RGB16 and other RGB formats to rgb_formats to ensure glcolorconvert
does not miss the RGB formats it supports
Signed-off-by: Chao Guo <chao.guo@nxp.com>
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6497 >
2024-04-02 17:14:27 +09:00