L. E. Segovia
07b18a6de5
applemedia: Also fix inconsistent pixel format definition for NV12
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5191 >
2023-08-16 14:15:52 +00:00
L. E. Segovia
e52e1db5ab
applemedia: Fix pixel format for I420
...
In Intel Macs, using full range 8-bit 4:2:0 YCbCr results in a failure on
initialization. I've validated this to be the correct pixel format with FFmpeg:
8653dcaf7d/libavutil/hwcontext_videotoolbox.c (L45)
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5191 >
2023-08-16 14:15:52 +00:00
L. E. Segovia
b1a5707fcb
windows: Fix mutexes leaking into the exports table
...
Translation unit-local variables must be marked static on Windows,
otherwise they're made available to the whole binary.
See:
https://learn.microsoft.com/en-us/cpp/cpp/program-and-linkage-cpp?view=msvc-170#external-vs-internal-linkage
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5185 >
2023-08-16 08:17:05 +00:00
Seungha Yang
ae04702d23
wasapi2: Use C++ atomic instead of GLib
...
Release-Acquire ordering could be faster than MemoryBarrier()
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5176 >
2023-08-14 14:20:45 +00:00
Seungha Yang
c992dd2184
wasapi2ringbuffer: Don't use GLib's weak pointer implementation
...
GWeakRef takes global mutex. Use C++ weak_ptr which will perform
atomic operation internally.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5176 >
2023-08-14 14:20:45 +00:00
Seungha Yang
dc2fd997a2
cuda: Add workaround for gir build
...
ERROR:../girepository/girparser.c:343:state_switch:
assertion failed: (ctx->state != newstate)
Bail out! ERROR:../girepository/girparser.c:343:state_switch:
assertion failed: (ctx->state != newstate)
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4510 >
2023-08-14 13:41:01 +00:00
Seungha Yang
7b6023d9cf
nvcodec: Add support for CUDA IPC
...
Adding cudaipc{src,sink} element for CUDA IPC support.
Implementation note:
* For the communication between end points, Win32 named-pipe
and unix domain socket will be used on Windows and Linux respectively.
* cudaipcsink behaves as a server, and all GPU resources will be owned by
the server process and exported for other processes, then cudaipcsrc
(client) will import each exported handle.
* User can select IPC mode via "ipc-mode" property of cudaipcsink.
There are two IPC mode, one is "legacy" which uses legacy CUDA IPC
method and the other is "mmap" which uses CUDA virtual memory API
with OS's resource handle sharing method such as DuplicateHandle()
on Windows. The "mmap" mode might be better than "legacy" in terms
of stability since it relies on OS's resource management but
it would consume more GPU memory than "legacy" mode.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4510 >
2023-08-14 13:41:01 +00:00
Seungha Yang
7b1e4d6051
cudabufferpool: Add support for virtual memory
...
Configure malloc or mmap allocator depending on config option
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4510 >
2023-08-14 13:41:01 +00:00
Seungha Yang
547b13c68f
cudacontext: Add memory allocation related properties
...
Adding "virtual-memory" and "os-handle" properties. New properties
will be used to query device's capability
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4510 >
2023-08-14 13:41:01 +00:00
Seungha Yang
2f506e8ddc
cudamemory: Add support for virtual memory in pool allocator
...
Adding new memory pool allocator for virtual memory
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4510 >
2023-08-14 13:41:01 +00:00
Seungha Yang
194fd8bb82
cudamemory: Add support for virtual memory management
...
Adding new CUDA memory allocation methods
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4510 >
2023-08-14 13:41:01 +00:00
Seungha Yang
a712a768a4
cuda: Load virtual memory management and IPC API symbols
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4510 >
2023-08-14 13:41:01 +00:00
Seungha Yang
d9894da59d
dwritetimeoverlay: Fix debug category name
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5179 >
2023-08-14 10:24:53 +00:00
Seungha Yang
14ef86a66d
dwrite: Re-add background geometry combine
...
If glyphrun unit is changed in a single line, there could be
overlapped background area which result in drawing background
twice. Adding geometry combine so that background geometry objects
with the same color can be merged and rendered at once
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5179 >
2023-08-14 10:24:53 +00:00
Marcin Kolny
3c32ef4854
qroverlay: fix updating "data" property in qroverlay element
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5175 >
2023-08-13 16:04:29 +00:00
Seungha Yang
9d89bad731
va: Update decoder ranks
...
Most software decoders are ranked as primary, so use primary + 1 for
all codecs except for jpeg.
But ranks should be demoted on Windows since it's still experimental
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5169 >
2023-08-11 15:42:44 +00:00
Seungha Yang
cf2cd20ba0
nvdecoder: Add max-display-delay property
...
The same as in old nvdec implementation so that user can control
the number of delayed output frames.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4841 >
2023-08-10 11:58:42 +00:00
Seungha Yang
19ee5f6dc4
nvdecoder: Reduce DPB size
...
Decoder will copy decoded picture to downstream buffer or output CUDA
memory even in case of zero-copy mode. Additional margin should be unnecessary
unless baseclass passed wrong max DPB size.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4841 >
2023-08-10 11:58:42 +00:00
Nirbheek Chauhan
41b3443b95
wasapi: Don't redefine GUIDs when building under newer MinGW
...
Latest MSYS2 MinGW provides these now, so we don't need to define them
if they're already present in the header.
The AudioClient3 GUID requires the Windows 10 SDK, so it's only
available in the latest MinGW, and the MinGW in Cerbero is too old.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5155 >
2023-08-09 14:47:57 +00:00
Nirbheek Chauhan
b7dcca4c98
wasapi: Remove obsolete ifdefs for older MinGW
...
We no longer ship that ancient MinGW toolchain, and it's causing build
errors with MSYS2 now:
https://gitlab.freedesktop.org/slomo/gstreamer/-/jobs/46866129
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5155 >
2023-08-09 14:47:57 +00:00
Víctor Manuel Jáquez Leal
e1765c4ce8
va/vaapi: promote va ranks and demote vaapi ones
...
VA decoders implementation has been verified from 1.18 through 1.22
development cycles and also via the Fluster test framework. Similar
to other cases, we can prefer hardware over software in most cases.
At the same time, GStreamer-VAAPI decoders are demoted to NONE to
avoid collisions. The first step to their deprecation.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2312 >
2023-08-09 12:13:12 +02:00
Piotr Brzeziński
510e227996
vtenc: Fix cosmetic issues
...
Removes accidental GST_VIDEO_DECODER macro usage.
Also sets the initial size of the output queue to avoid having to expand when first buffers come through.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5164 >
2023-08-09 07:35:32 +00:00
Tim-Philipp Müller
1233b8a027
lc3: fix pkg-config file lookup
...
There's a mismatch between the pkg-config file ('lc3')
and the subproject/wrap which meant an installed liblc3
wasn't picked up.
Fixes #2883
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5151 >
2023-08-08 22:12:29 +00:00
Nicolas Dufresne
8710911e6b
v4l2codecs: Enable Mediatek 10bit 4:2:0 support
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3444 >
2023-08-08 16:08:16 +00:00
Nicolas Dufresne
d604b3655e
video: Add Mediatek 10bit formats
...
These 10bit formats are identical to NV12_16L32S, but 64bytes of data is being
prefixed with 16bytes data with four pixels of lower 2bits per byte. For
MT2110T, the lower two bits set so each bytes contains a column of 4 pixels,
also describe as tiled lower 2 bits. MT2110T has been chosen as a name to match
the vendor chosen name. This format is unlikely to exist for other vendors.
For MT2110R, the 2 low bits are in raster order.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3444 >
2023-08-08 16:08:16 +00:00
Jan Alexander Steffens (heftig)
c9c7581c4e
srt: Set SRTO_IPV6ONLY to 0 by default
...
Since SRT 1.5.2 this option must be explicitly set to `0` or `1` before
binding to `::`, or binding will fail.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5157 >
2023-08-08 14:12:19 +00:00
Seungha Yang
5976f4b8d8
hlssink2: Always use forward slash separator
...
g_build_filename() will insert back slash on Windows, and resulting
playlist will contain media segment path with back slash if
"playlist-root" property is specified
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5158 >
2023-08-08 08:30:44 +00:00
Fabian Orccon
d07ffae343
h264parser: Write Unregistered User Data
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5071 >
2023-08-08 02:47:41 +00:00
Víctor Manuel Jáquez Leal
4583d8c0e8
vajpegdec: simply fixup src caps for iHD
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4044 >
2023-08-07 22:49:26 +00:00
He Junyan
64d821af24
va: jpegdec: Do not change the DMA template src caps
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4044 >
2023-08-07 22:49:26 +00:00
He Junyan
72e4bcf4df
va: Delete the usage hint hack when we support DRM modifier
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4044 >
2023-08-07 22:49:26 +00:00
He Junyan
d0587cda74
va: Apply the new DMA format:modifier pair negotiation in vpp
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4044 >
2023-08-07 22:49:26 +00:00
He Junyan
5df0bfa7cb
va: Apply the new DMA format:modifier pair negotiation in decoder
...
We will consider the DMA modifier for negotiation, setting caps and
memory pool allocation.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4044 >
2023-08-07 22:49:26 +00:00
He Junyan
919d398bff
va: update the gst_va_dma_drm_info_to_video_info() to use DMA_DRM format
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4044 >
2023-08-07 22:49:26 +00:00
He Junyan
b1909949cb
va: Improve the template caps for DMA, use new drm-format kind caps
...
We should add the modifier information for each surface format when
we report the template caps.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4044 >
2023-08-07 22:49:26 +00:00
He Junyan
93d763b85c
va: Use new dma drm caps in va pool when we setup DMA pools
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4044 >
2023-08-07 22:49:26 +00:00
He Junyan
d7d25de892
va: Use GstVideoInfoDmaDrm in DMA allocator's get/set_format() API
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4044 >
2023-08-07 22:49:26 +00:00
He Junyan
ab9d11bc17
va: Include drm fourcc header file in gstvavideoformat.h
...
And add some definition to pass the Windows compiling.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4044 >
2023-08-07 22:49:26 +00:00
Jan Schmidt
8b5833c546
audiolatency: Fix event refcounting bug handling latency events
...
Fix a refcounting bug introduced in
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5146
If upstream returns FALSE when processing a latency event, it will
be unreffed an extra time
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5150 >
2023-08-06 08:00:56 +00:00
Jan Schmidt
fd95f5682e
audiolatency: Forward latency query and event upstream
...
Make sure the pipeline still configures the latency that it would configure
if audiolatency was not in the pipeline.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5146 >
2023-08-04 14:13:12 +00:00
Guillaume Desmottes
501e53b033
rtmp2src: add 'no-eof-is-error' property
...
There is currently no way for applications to know if the stream has
been properly terminated by the server or if the network connection
was disconnected as EOS is sent in both cases.
Adding a property so connection errors can be reported as errors
allowing applications to distinguish between both scenarios.
Fix #2828
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5115 >
2023-08-04 11:07:36 +00:00
Ryan Pavlik
6e5ca29e8f
androidmedia: Add more null checks (of env) to JNI utilities
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5138 >
2023-08-02 16:03:38 -05:00
Philippe Normand
c506748c6f
transcodebin: Fixes for upstream selectable support
...
The upstream selectable query was not performed in all situations where we
handle the stream-start event. This could potentially lead to unlinked pads
between decodebin3 and encodebin later on.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5089 >
2023-08-02 17:12:48 +00:00
Ryan Pavlik
f3ce30a55a
androidmedia: Add more null checks to JNI utilities
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5130 >
2023-08-01 23:17:54 +00:00
Ryan Pavlik
794d723871
androidmedia: Fix typo
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5130 >
2023-08-01 23:17:54 +00:00
Ryan Pavlik
ec201c6577
androidmedia: Clear err if we don't have an optional camera field/constant
...
Fixes startup on devices where those fields/constants are not found.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5130 >
2023-08-01 23:17:54 +00:00
Ryan Pavlik
e31407f9d2
webrtc: Fix docs for create-data-channel action signal
...
Initial line of the doc comment was incorrect, so the nicely written
docs were not being extracted.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5131 >
2023-08-01 21:17:06 +00:00
Nicolas Dufresne
0149d77eff
waylandsink: Improve DMA DRM integration
...
Pass GstVideoInfoDmaDrm or GstVideoInfo whenever possible, avoiding passing
strange combination of GstVieoFormat + modifier. Even though we don't have any
at the moment, this also allow supporting GstVideoFormat that are not supported
in our DRM integration.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5120 >
2023-08-01 14:55:23 -04:00
Seungha Yang
15f0bd2461
dwrite: Move background-color and color-emoji options to effect object
...
... and simplify background rendering
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5121 >
2023-08-02 01:02:32 +09:00
Seungha Yang
a1ad56ed5a
dwrite: Add helper object for blending operation
...
For easy integration with a new text rendering baseclass
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5121 >
2023-08-02 01:02:28 +09:00