Sebastian Dröge
da198e59b2
av1enc: Use correct enum type with libaom >= 3
...
This fixes, among other things, a compiler warning with clang.
Also add static assertions that our own enum values match with the ones
from libaom.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4223 >
2023-03-25 07:12:53 +00:00
Stéphane Cerveau
f3dfe7b125
openjpegdec: allow multithread decoding only in subframe mode
...
To avoid mis-ordered frames, allow multithread decoding only in
subframe mode.
Fixes #1786
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3948 >
2023-03-25 06:03:02 +00:00
Mathieu Duponchelle
e8c362ee34
cea608mux: advance segment->position when outputting
...
It is the responsibility of the subclass to advance segment->position if
it wants to rely on gst_aggregator_simple_get_next_time() for timeouts
in live mode.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4266 >
2023-03-24 21:17:58 +00:00
Víctor Manuel Jáquez Leal
292d6cdbed
vaencoder: remove display reference in decode picture
...
Since it's possible to grab the VA display from the GstBuffer and
GstMemory, there's no need to keep a reference to it in
GstVaEncodePicture.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3066 >
2023-03-24 14:05:15 +00:00
Víctor Manuel Jáquez Leal
494169aad4
vadecoder: remove display reference in decode picture
...
Since it's possible to grab the VA display from the GstBuffer and
GstMemory, there's no need to keep a reference to it in
GstVaDecodePicture.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3066 >
2023-03-24 14:05:15 +00:00
Víctor Manuel Jáquez Leal
746e81fccf
vkinstance: register GStreamer version as engine version
...
Specification says:
"""
engineVersion is an unsigned integer variable containing the developer-supplied
version number of the engine used to create the application.
"""
Assuming the engine is GStreamer, it would be expected to set its version as
engine version.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4243 >
2023-03-24 04:28:54 +00:00
Seungha Yang
af6dccd6e6
d3d11bufferpool: Fix invalid access in debug print loop
...
Add missing condition check in for loop
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4255 >
2023-03-23 18:15:03 +00:00
Víctor Manuel Jáquez Leal
1ace1a5275
vkinstance: enable GPU assisted validation
...
This allows to check for syncronization issues while using the validation layer.
https://vulkan.lunarg.com/doc/sdk/1.3.239.0/linux/synchronization_usage.html
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4245 >
2023-03-23 16:46:34 +00:00
Matthew Waters
ba81f3597d
vulkanoverlaycompositor: also support RGBA vulkan images
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4184 >
2023-03-23 22:18:47 +11:00
Sebastian Dröge
84e08a377b
mpegtsdemux: Fix handling of explicit Opus channel mapping
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4180 >
2023-03-23 08:46:50 +00:00
Sebastian Dröge
9d2ac6e90b
mpegtsmux: Allow writing arbitrary Opus channel mapping families and up to 255 channels
...
And fix writing of dual-mono special cases.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4180 >
2023-03-23 08:46:50 +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
Stéphane Cerveau
e88e8527ed
sys: avoid double definition of symbol MEDIASUBTYPE_I420
...
Namespace the symbol MEDIASUBTYPE_I420 to avoid double definition
across dshow and mediafoundation plugins.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4246 >
2023-03-23 00:56:04 +00:00
Seungha Yang
96555c7ee9
nvh264encoder: Fix template caps
...
It should include progressive as well
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4236 >
2023-03-22 23:40:58 +00:00
Víctor Manuel Jáquez Leal
c159e40a9f
vulkan: silence gobject-instrospection warnings
...
According with gi annotations [1] the "optional" annotation must be only
for (out) or (inout) parameters.
1. https://gi.readthedocs.io/en/latest/annotations/giannotations.html
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4244 >
2023-03-22 14:19:13 +00:00
Tong Wu
ebc9780c5f
msdkdec: delete use_video_memory
...
Since msdkdec uses video pool as the output buffer pool at all time. The
use_video_memory variable is not useful anymore. Now delete it.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4088 >
2023-03-22 05:07:19 +00:00
Tong Wu
8105d2044d
msdkdec: expand retry times to 1s
...
One-frame sleep time is not enough to wait until there is a surface
unlocked from downstream. Now expand it to 1s and add a return when
fail.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4088 >
2023-03-22 05:07:19 +00:00
Tong Wu
123c8d14c1
msdkallocator_d3d: add gst_msdk_frame_free callback function
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4088 >
2023-03-22 05:07:19 +00:00
Tong Wu
abe4d0046a
msdkdec: acquire buffer from video pool on Windows
...
Video memory is available on Windows. This patch is to make the buffers
acquired from d3d11 video pool.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4088 >
2023-03-22 05:07:19 +00:00
Tong Wu
d2902be9eb
msdkdec: add thiz->ds_has_known_allocator for d3d11
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4088 >
2023-03-22 05:07:19 +00:00
Tong Wu
245df2778e
msdkallocator_d3d: add alloc callback function for d3d allocator
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4088 >
2023-03-22 05:07:19 +00:00
Tong Wu
b3e13df8c1
msdkdec: add d3d11 pool during negotiation
...
Enable use_video_memory for Windows and add d3d11 pool.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4088 >
2023-03-22 05:07:19 +00:00
Tong Wu
2b9cda928b
msdkdec: add d3d11 caps for srcpad
...
Set decoder srcpad with D3D11Memory.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4088 >
2023-03-22 05:07:19 +00:00
Aleksandr Slobodeniuk
1f834eaacb
d3d11convert: add "method" property
...
It allows to select the sampling method, same
as "method" property of videoconvert.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4205 >
2023-03-21 12:08:54 +00:00
Aleksandr Slobodeniuk
4c9d4d30cb
d3d11convert: protect 'add-borders' with mutex
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4205 >
2023-03-21 12:08:54 +00:00
Colin Kinloch
1b926e0dcc
gtkwaylandsink: Fix crash when rendering after the window is closed
...
Continuation of https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4197
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4232 >
2023-03-21 08:57:34 +00:00
Mengkejiergeli Ba
9e3faf69f2
msdkvpp: Pass null formats when create va allocator for RGB565
...
Fix https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1780
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4136 >
2023-03-21 05:42:34 +00:00
Víctor Manuel Jáquez Leal
e794fcaa1c
va: add driver description in element metadata
...
In the same spirit of libva-win32 elements this patch shows the driver of each
element in gst-inspect, giving more information to the user. This driver
description is parsed from vaQueryVendorString from mesa and intel drivers,
while copied as is for others. Also appends the render node for multi gpu
systems.
Fixes #2349
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4204 >
2023-03-20 15:27:25 +00:00
Edward Hervey
ee759fb4bf
plugins: Fix wrong enum usage
...
gcc 13 now detects conflicting enum usages. Fix the various cases where it was wrong
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4225 >
2023-03-20 11:40:30 +00:00
Adrien De Coninck
ab69e24d9e
ksdeviceprovider: Fix leak in gst_dshow_device_provider_start
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4224 >
2023-03-20 09:50:37 +00:00
Adrien De Coninck
0aea6a86ac
dshowdeviceprovider: Fix leak in gst_dshow_device_provider_start
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4224 >
2023-03-20 09:50:37 +00:00
Seungha Yang
3bbfab1cf3
va: Return default device from device-path property getter
...
Otherwise application would not be able to know matching element
for wanted device. Typical use case of the read-only device path
(DXGI Adapter LUID, CUDA device index, etc) property is that
application enumerates physical devices and then selects matching
GStreamer element (in null state) via device path property.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4220 >
2023-03-19 17:50:43 +00:00
Sebastian Dröge
ccad9a7338
plugins: Fix various trivial clang compiler warnings
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4210 >
2023-03-18 16:16:55 +02:00
Sebastian Dröge
3851c2da12
tsdemux: Fix reading of extended Opus channel configuration
...
Argument evaluation order is implementation defined in C, and gcc is
evaluating right-to-left (works) while clang is evaluating left-to-right
(does not work).
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4210 >
2023-03-18 10:01:25 +00:00
Seungha Yang
0dc5d5ecb1
h264decoder: Fix DPB bumping process
...
As per spec C.4.5.3 "Bumping", if bumping is needed but DPB holds
no "output needed" picture, then a picture that has the smallest
POC should be considered first for output
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4211 >
2023-03-18 08:28:05 +00:00
Nicolas Dufresne
9deb3d6aa4
h264parse: Stop considering NO_NAL as an error
...
The NO_NAL return value simply means that the buffer did not contain
enough data to identity a NAL. This should lead to waiting for more data not
considering the stream as invalid.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3234 >
2023-03-17 21:25:49 +00:00
Nicolas Dufresne
0780e31581
test: h265parser: Test for NAL missing header bytes
...
H.265 NAL always have 2 bytes of headers. Unlike the H.264 parser, this parser
will simply return that there is NO_NAL if some of these bytes are missing.
This is then properly special cased by parsers and decoders. Add a test to
ensure we don't break this in the future.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3234 >
2023-03-17 21:25:49 +00:00
Nicolas Dufresne
dacb2a2b51
h264parser: Fix return value parsing short header
...
The appropriate return value for incomplete NAL header should be
GST_H264_PARSER_NO_NAL_END. This tells the parser element to
gather more data. Previously, it would assume the NAL is corrupted
and would drop the data, potentially causing stream corruption.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3234 >
2023-03-17 21:25:49 +00:00
Seungha Yang
fed252cabd
nvencoder: Fix CQP option setting
...
... and zero initialize LUID and CUDA device list to address
coverity issue
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4215 >
2023-03-17 18:30:19 +00:00
Albert Sjölund
d3f92b9760
webrtc: Fix segfault traversing ice transports
...
Previously, reassigning loop index l in nicestream.c
could cause a segfault if l->data was null, as it could
reassign l to a null variable, triggering the loop
postassignment l->next, which then segfaults due to
l now being null. It is instead moved into the loop.
_delete_transport already performs the reassignment
inline.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4192 >
2023-03-17 14:11:52 +00:00
Colin Kinloch
6ebd7867e0
gtkwaylandsink: Destroy GstWlWindow when parent GtkWindow is destroyed
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4197 >
2023-03-17 04:27:22 +00:00
Tim-Philipp Müller
81716a1097
gst-plugins-bad: re-indent with GNU indent 2.2.12
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4182 >
2023-03-17 03:18:54 +00:00
Seungha Yang
fba06cfc76
wasapi2: Fix potential crash on device activation failure
...
The activation object is live in COM thread already and therefore
self refcount hack is pointless.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4194 >
2023-03-16 19:30:27 +00:00
Albert Sjölund
65bd020754
webrtc: patch leak caused by early return
...
In webrtc_data_channel_send functions, both data and string,
an early return on a non-open datachannel caused it to leak
the buffer used for pushing to appsrc, meaning any buffer
sent after leaving the open state was leaked in full.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4191 >
2023-03-16 15:17:58 +00:00
Seungha Yang
e1a73a723f
d3d11converter: Fix conversion backend selection
...
Intended behavior was selecting video processor only if pixel shader
is disabled, since we prefer shader over video processor
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4179 >
2023-03-16 01:17:27 +00:00
Seungha Yang
e47f08395f
d3d11videosink: Fix tearing in case of fullscreen mode
...
DXGI_SWAP_CHAIN_FLAG_ALLOW_TEARING and DXGI_PRESENT_ALLOW_TEARING should
be used only if required, when user wants Vsync off for example.
Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2376
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4178 >
2023-03-15 22:56:02 +00:00
Nicolas Dufresne
413ceb060f
waylandsink: Add a comment about dmabuf without feature
...
The code does not make it obvious that dmabuf is still supported
without the feature. This documents that it is supported, but
only for formats that are also support by SHM interface.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3476 >
2023-03-15 18:42:54 +00:00
Nicolas Dufresne
5441b77683
waylandsink: Remove unused instance member
...
use_dmabuf is set but never used.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3476 >
2023-03-15 18:42:54 +00:00
Teng, Jin Chung
83364c5729
msdkh264enc: Adding BGRx format DMABuf support
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4167 >
2023-03-15 15:06:57 +00:00
Seungha Yang
a1bd4afb8a
d3d11compositor: Fix composition error on release_pad()
...
Composition might be still in progress while it's being released
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4169 >
2023-03-15 04:50:49 +00:00
Seungha Yang
63c854c64b
vadisplay_win32: Query profiles and entry points on init
...
Depending on driver, display can be initialized but
fails on query calls.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4149 >
2023-03-15 01:37:03 +00:00
Seungha Yang
fe63034dd4
va: Don't error out on plugin registration
...
Keep enumerate devices and don't return FALSE on plugin_init()
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4149 >
2023-03-15 01:37:03 +00:00
Nirbheek Chauhan
2d6da02653
applemedia: Consolidate GstVideoFormat <-> CVPixelFormat conversion
...
In the process we have changed the color value range from video-range
to full-range, which is probably what people want in the first place.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4135 >
2023-03-14 23:35:16 +00:00
Nicolas Dufresne
6b103061ec
bad: Update doc cache for waylandsink changes
...
A new drm-device property has been added.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3801 >
2023-03-14 21:50:57 +00:00
Colin Kinloch
ed60843c1e
wayladnsink: Add DRM Dumb allocator support
...
If the input is not a DMABuf, attempt to copy into a DRM Dumb
buffer and import it has a DMABuf. This will offload the
compositor from actually doing this copy (needed to handle SHM)
and may allow the software decoded stream to be rendered to
an HW layer, or even reach through some better accelerated
GL import path.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3801 >
2023-03-14 21:50:57 +00:00
Colin Kinloch
755bd9143e
wlvideobufferpool: Add DRM Dumb buffer support
...
This allow the wayland buffer pool to use a GstDRMDumbAllocator
if it has been configured to do so.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3801 >
2023-03-14 21:50:57 +00:00
Nicolas Dufresne
a961838b0a
wlvideoformat: Fix sign issue for DRM fourcc
...
DRM fourcc ared defined as 32bit unsigned in, but the format helper was passing
an int, while using a unsigned int internally. This is a API/ABI break, but
the API is still unstable.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3801 >
2023-03-14 21:50:57 +00:00
Nicolas Dufresne
6ce1b484fd
wllinuxdmabuf: Handle video meta inside the importer
...
This allow simplifying the GstVideoInfo handling in the sinks. Instead
of having to update a video info for the import, the sink can simply pass the
video info associated with the caps and rely on the VideoMeta in the GstBuffer
to obtain the appropriate offset and stride.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3801 >
2023-03-14 21:50:57 +00:00
Nicolas Dufresne
0961606942
gtkwaylandsink: Fix display/wl_window/pool leaks
...
These were leaked in the GTK implementation of the sink.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3801 >
2023-03-14 21:50:57 +00:00
Nicolas Dufresne
965117b400
waylandsink: Refactor internal pool handling
...
This is to make it easier to support more then one allocators
including falling back from one to another.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3801 >
2023-03-14 21:50:57 +00:00
Nicolas Dufresne
9084a960a5
waylandsink: Let the baseclass know when frames are dropped
...
This is using the new GST_BASE_SINK_FLOW_DROPPED return value.
With this change, fpsdisplaysink will properly report the
render and dropped rate.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3801 >
2023-03-14 21:50:57 +00:00
Nicolas Dufresne
018fdf36b1
gtkwaylandsink: Force a redraw on resolution change
...
As we don't render into the widget directly, there is no "initial" draw
happening. As a side effect, the internal aspect ratio adapted display
width/height is never initialize leading to assertions when handling navigation
events.
gst_video_center_rect: assertion 'src->h != 0' failed
Simply queue a redraw after setting the widget format in order to fix the issue.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3801 >
2023-03-14 21:50:57 +00:00
Nicolas Dufresne
3ed0d34065
waylandsink: Stop modifying the display GstVideoInfo
...
The video_info is supposed to match the display dimentions, but as soon as we
get a padded video buffer, we modify it. This has side effect later on and
maybe cause bad frames.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3801 >
2023-03-14 21:50:57 +00:00
Nicolas Dufresne
beaff76dd0
gtkwaylandsink: Remove redefine of GST_CAPS_FEATURE_MEMORY_DMABUF
...
Instead just include the appropriate header file. There is no meson deps
modification as gstallocators_dep is already part of gstwayland_dep.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3801 >
2023-03-14 21:50:57 +00:00
Nicolas Dufresne
37f2d2ac42
kmsallocator: Port to the new DRM Dumb Allocator
...
This ports the KMS allocator to use the DRM Dumb allocator from the allocators
library.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3801 >
2023-03-14 21:50:57 +00:00
Sebastian Dröge
fe580cacb8
androidmedia: Add support for AV1
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4156 >
2023-03-14 11:26:30 +00:00
Alicia Boya García
85b6625150
cudaloader: Initialize logging category
...
gstcudaloader.cpp defines GST_DEBUG_CATEGORY (gst_cudaloader_debug);
but it wasn't initializing it anywhere.
This caused the following error to be logged by gst-plugin-scanner when
libcuda.so.1/nvcuda.dll couldn't be loaded, e.g. in systems without
CUDA:
(gst-plugin-scanner:39618): GStreamer-CRITICAL **: 14:40:22.346:
gst_debug_log_full_valist: assertion 'category != NULL' failed
This patch fixes the bug by initializing the category in
gst_cuda_load_library_once_func() before any logging occurs.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4154 >
2023-03-14 03:07:50 +00:00
Nirbheek Chauhan
3b9ce6cb54
avfvideosrc: GL texture cache also supports YUY2 on macOS
...
BGRA gives black frames, and everything else fails to negotiate.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4134 >
2023-03-14 00:00:24 +00:00
Nirbheek Chauhan
a8ed817d30
avfvideosrc: Use frame duration instead of frame rate
...
These days you're can use minFrameDuration and maxFrameDuration which
are CMTime with fractional values. That way we don't need to convert
between double and fractions in a really weird way.
This fixes really odd fractional values exposed in caps, like:
2000000/76923, 1000000/37037, 5000000/178571, 10000000/344827, 10000000/333333
Which are actually just 26/1, 27/1, 28/1, 29/1, 30/1
We can also delete a lot of outdated code for iOS versions older than
7.0 by using newer APIs.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4134 >
2023-03-14 00:00:24 +00:00
Seungha Yang
7624871b00
va: Update "device-path" property description for Windows
...
DRM does not make sense on Windows
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4114 >
2023-03-10 13:57:47 +00:00
Seungha Yang
7bc6ba63b2
va: Add Windows specific element type/feature naming support
...
Adapter LUID will be changed per boot. Use different naming rule on Windows
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4114 >
2023-03-10 13:57:47 +00:00
Seungha Yang
c1946c0209
va: Add support for Win32 backend
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4114 >
2023-03-10 13:57:47 +00:00
Seungha Yang
8fc77e5b3d
va: Add Win32 backend GstVaDisplay implementation
...
... and disable derived image on Windows which does not seem to
work
Closes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1750
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4114 >
2023-03-10 13:57:47 +00:00
Seungha Yang
bc8db7bc3e
va: Drop all GSlice bits
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4114 >
2023-03-10 13:57:47 +00:00
Tim-Philipp Müller
99ee8af782
webrtc: fix g-i annotations for allow-none
...
'allow none' doesn't exist, and 'allow-none' is now deprecated.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4146 >
2023-03-10 13:09:25 +00:00
Antonio Rojas
9835032727
zxing: add support for zxing-c++ 2.0
...
format is a C++ string in 2.0
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3693 >
2023-03-10 09:33:35 +00:00
Matthew Waters
a1bfd8668c
vulkanoverlaycompositor: don't do a potential use after free
...
Removing a meta from a buffer means one doesn't have access to it
anymore. Instead use the already reffed composition directly.
Fixes a use-after-free in the following pipeline:
... ! vulkanupload ! timeoverlay ! vulkanoverlaycompositor ! ...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4143 >
2023-03-10 16:54:46 +11:00
Matthew Waters
df939fe332
cea708overlay: support multiple service blocks in the same dtvcc packet
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4137 >
2023-03-10 02:09:56 +00:00
Matthew Waters
22229d9546
cea708overlay: fix HCR interpretation
...
An unsigned counter with a for (i = end; i >= 0; i--), can be optimized to
infinite loop as an unsigned value will always be >= 0.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4133 >
2023-03-09 14:38:13 +11:00
Seungha Yang
ad30fb87c2
h264parse: Validate VUI framerate
...
A few streams contain invalid/wrong framerate in VUI. Do validate
it based on the spec and ignore invalid VUI framerate values.
Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1753
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4127 >
2023-03-08 11:59:52 +00:00
Matthew Waters
be72fbc334
cccombiner: fix output-padding=false for a cea608 field 1 only stream
...
If we have data that needs outputting but we have to output padding to
meet the alternating field requirements of cea608, then output that
padding anyway.
Also includes a test
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4124 >
2023-03-08 11:11:05 +00:00
Mathieu Duponchelle
2eab37f231
ccconverter: implement field conversion of CEA 608 control codes
...
As specified in EIA/CEA-608-B section 8.4:
When closed captioning is used on line 21, field 2, it shall conform
to all of the applicable specifications and recommended practices as
defined for field 1 services with the following differences:
a) The non-printing character of the miscellaneous control-character pairs
that fall in the range of 14h, 20h to 14h, 2Fh in field 1, shall be replaced
with 15h, 20h to 15h, 2Fh when used in field 2.
b) The non-printing character of the miscellaneous control-character pairs
that fall in the range of 1Ch, 20h to 1Ch, 2Fh in field 1, shall be replaced
with 1Dh, 20h to 1Dh, 2Fh when used in field 2.
This means simply switching the "field" field in the caps isn't enough for
converting raw 608 from one field to another, some control codes also
need to be amended.
+ Adds simple test
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4126 >
2023-03-08 10:13:59 +00:00
Seungha Yang
b6e45d0de8
vavp8dec: Fix return type of decode_picture()
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4113 >
2023-03-06 13:39:20 +00:00
Seungha Yang
c5ae00f58c
vajpegdec: Hide gst_jpeg_decoder_get_type() symbol
...
It's not a public symbol yet
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4113 >
2023-03-06 13:39:20 +00:00
Seungha Yang
fbf143b0fd
vabaseenc: Fix return type of encode_frame vfunc
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4113 >
2023-03-06 13:39:19 +00:00
Seungha Yang
2f98234287
va: Fix struct empty initialization syntax
...
"struct Foo bar; bar = {};" is not a valid syntax. Also remove use
of __typeof__ which is GCC specific
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4113 >
2023-03-06 13:39:19 +00:00
Seungha Yang
837d8d1b20
h265timestamper: Use gst_h265_parser_parse_decoder_config_record()
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2759 >
2023-03-06 12:50:41 +00:00
Seungha Yang
b5fb709be7
qsvh265dec: Use gst_h265_parser_parse_decoder_config_record()
...
Stop duplicating code and use newly added parsing method instead
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2759 >
2023-03-06 12:50:41 +00:00
Seungha Yang
bc8a862e20
h265decoder: Use gst_h265_parser_parse_decoder_config_record()
...
Stop duplicating code and use newly added parsing method instead
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2759 >
2023-03-06 12:50:41 +00:00
Seungha Yang
8c596aeb5b
h265parse: Use gst_h265_parser_parse_decoder_config_record()
...
Stop duplicating code and use newly added parsing method instead
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2759 >
2023-03-06 12:50:41 +00:00
Seungha Yang
5227b3c9a6
h265parser: Add an API for HEVCDecoderConfigurationRecord parsing
...
Add a method for HEVC configuration data parsing
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2759 >
2023-03-06 12:50:41 +00:00
Yinhang Liu
89a6ce105b
msdkenc: Fix scale ratio for frame duration
...
For the calculation of frame duration, the numerator
should be FrameRateExtD, and the denominator should be
FrameRateExtN.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4119 >
2023-03-06 13:57:01 +08:00
Seungha Yang
76d1257cd3
d3d11memory: Remove GstPoll from GstD3D11PoolAllocator
...
GstBufferPool implementation was referenced for this GstD3D11PoolAllocator,
for example GstAtomicQueue, various atomic operations, and GstPoll ones.
However, such combination seems to be almost pointless
since gst_poll_{read,write}_control() takes mutex and also
GstPoll uses Win32 event handle internally.
Use simple SRWLOCK and CONDITION_VARIABLE instead, and don't make things
complicated/inefficient.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2887 >
2023-03-05 22:51:24 +09:00
Piotr Brzeziński
3c739b9b76
vtdec: Correctly retrieve reorder queue length from SPS
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4057 >
2023-03-03 19:26:11 +00:00
Mathieu Duponchelle
af714091aa
cea608mux: don't consume input buffers too early
...
CCBuffer has no notion of time, we need to push caption pairs in
it when it is ready for consumption and no earlier.
Also perform comparisons with our output running time, not the raw
output PTS.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4103 >
2023-03-03 13:16:24 +00:00
Mathieu Duponchelle
d55c5a3eec
cccombiner: fix s334-1a in place conversion
...
The code wants to prepend one byte to every byte pair. It correctly did
so by working backwards pair-wise, but then didn't work backwards
instead of each individual pair / future triplet, overwriting
information before attempting to read it.
The code also failed to update the len pointer after prepending.
This fixes both issues.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4100 >
2023-03-02 22:52:39 +00:00
Thibault Saunier
44ddd17884
qroverlay: Fix documentation
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4102 >
2023-03-02 18:39:40 +00:00
Jan Alexander Steffens (heftig)
c533010e20
srt: Use g_cancellable_get_fd for poll cancellation
...
Removing sockets from the epoll for cancellation is unreliable and might
not be thread-safe. Rather, have SRT watch a FD from the cancellable if
available. Keep the cancellable cancelled while we're not open.
Use the regular single-socket `sock` and `poll_id` fields for the
listening thread instead of duplicating them.
Before polling we need to check the socket state. SRT closes broken
sockets by itself and when the epoll contains our cancellation FD it can
no longer be empty, which was an error before.
Treat more failures in the read and write operations as an opportunity
to try a reconnect.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4087 >
2023-03-02 15:39:25 +00:00
Jan Alexander Steffens (heftig)
3f75836822
srt: Move cancellable into srtobject
...
Should produce no difference in behavior.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4087 >
2023-03-02 15:39:25 +00:00
Jan Alexander Steffens (heftig)
4cede7c472
srt: Set default poll-timeout to one second
...
Removing a socket from the poll is not a guaranteed unlock. If we let
the poll continue indefinitely, then e.g. an unfed srtsrc can deadlock
when we try to shut it down.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4087 >
2023-03-02 15:39:25 +00:00