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
Tobias Rapp
b30f982cf5
gst-libav: Update codec mapping for FFVHuff video
...
Replaces the ad-hoc type string 'video/x-gst-av-ffvhuff' with
'video/x-ffvhuff' for the avdec_ffvhuff and avenc_ffvhuff elements.
Related to #2389 .
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4250 >
2023-03-23 14:30:59 +00: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
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
Sebastian Dröge
b1cb36e74c
opusdec: Add support for decoding >8 channels
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4180 >
2023-03-23 08:46:50 +00:00
Sebastian Dröge
d78bed99e8
opusenc: Use downstream channel configuration when using channel mapping family 255
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4180 >
2023-03-23 08:46:50 +00:00
Sebastian Dröge
7e63427827
opusenc: Add support for encoding >8 channels and unknown/unpositioned layouts
...
This was kind of implemented before but missing a few pieces to actually
work correctly.
These configurations are mapped to channel mapping family 255.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4180 >
2023-03-23 08:46:50 +00:00
Edward Hervey
0be233a446
uridecodebin3: Remove play items that were never connected
...
This is a follow-up of the previous commit that enabled support for redirection.
The problem is that the urisourcebin that emitted the error redirection never
produced any pads, and therefore was never linked to decodebin3. This resulted
in the code waiting for that (output) item to finally switch over ... which will
never happen.
The fix is done by removing it early if it was never connected to decodebin3.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4252 >
2023-03-23 07:39:48 +01:00
Aleksandr Slobodeniuk
4f988e24d2
bin: fix documentation about event forwarding
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4249 >
2023-03-23 02:39:34 +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
Piotr Brzeziński
5beef42922
qtdemux: Fix seek adjustment with SNAP_AFTER flag
...
With GST_SEEK_FLAG_SNAP_AFTER present, the previous version would
adjust seek time based on the keyframe farthest away from desired_time.
This was incorrect, because we always want the *earliest* suitable keyframe
to seek to, not the last one.
With this fix, in case of the SNAP_AFTER, we now look for the closest keyframe
that can be found after desired_time. Behaviour for SNAP_BEFORE should remain
unchanged.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4183 >
2023-03-22 13:05:53 +00:00
Edward Hervey
133c4b2ff9
uridecodebin3: Handle redirection errors
...
This is done by doing an immediate switch to the redirection URI if compatible.
Fixes #1562
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4242 >
2023-03-22 11:28:47 +00:00
François Laignel
1abc8aa733
examples: webrtc/janus/rust: add mandatory ws HTTP request headers
...
Trying to run the `janus` Rust `gst-example`, `tungstenite` reports:
> Missing, duplicated or incorrect header sec-websocket-key
Indeed, all mandatory headers from the following list are missing
(code from `tungstenite:🤝 :client::generate_request`):
```rust
const WEBSOCKET_HEADERS: [&str; 5] =
["Host", "Connection", "Upgrade", "Sec-WebSocket-Version", KEY_HEADERNAME];
```
These headers are mandatory for the websocket handshake. This feature is
selected by async-tungstenite.
Prior to this commit, the HTTP request was created with the header
"Sec-WebSocket-Protocol" only. Delegating the request creation to tungstenite
adds the missing headers.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4240 >
2023-03-22 09:48:28 +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
Michael Tretter
a11f811155
v4l2object: mark jpeg as parsed
...
Assuming that V4L2 CAPTURE devices always use one buffer per JPEG image, we can
always mark JPEGs provided by a V4L2 element as parsed.
The V4L2 elements require that JPEG images sent to V4L2 OUTPUT devices must
always be parsed.
This is necessary to link a V4L2 CAPTURE device with a V4L2 OUTPUT device
without explicitly marking the stream as parsed or adding a jpegparse into the
pipeline.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4229 >
2023-03-21 14:58:15 +00:00
Xavier Claessens
995a9f10d7
git-blame-ignore-revs: Do not suggest --global
...
It breaks git blame on all repositories that does not have a
.git-blame-ignore-revs file.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4239 >
2023-03-21 14:03:45 +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
Edward Hervey
095356b67e
parsebin: Improve elementary stream handling
...
The goal of parsebin is to figure out which elements to link together in order
to provide elementary streams given any random input.
The problem is that deciding whether a given stream should still have more
elements plugged in or not was dependent on ... the presence of compatible
decoders (sic).
Instead of that, if we can't plug anymore elements on a given stream *and* it is
detected as being an elementary stream, expose it.
Fixes #2118
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4231 >
2023-03-21 07:26:37 +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
Stéphane Cerveau
a99fc193e5
ci: update windows image for mse testsuite fix
...
To help that cerbero uses an image with mse fix:
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4193/diffs
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4228 >
2023-03-20 19:42:51 +00:00
Edward Hervey
cf3adbcfb3
urisourcebin: Activate pad before transferring sticky events
...
Otherwise they get refused since the pad is flushing
Fixes #2384 for good
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4226 >
2023-03-20 18:11:26 +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
Guillaume Desmottes
5fafe88ccc
git: add .git-blame-ignore-revs
...
Pseudo-standard file listing commits meant to be ignoring by `git blame`.
It is handled by Github:
https://docs.github.com/en/repositories/working-with-files/using-files/viewing-a-file#ignore-commits-in-the-blame-view
but not yet by Gitlab:
https://gitlab.com/gitlab-org/gitlab/-/issues/31423
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4202 >
2023-03-20 09:26:12 +00:00
Edward Hervey
dd3542aa4d
adaptivedemux2: Don't blindly set the main manifest URI as referer
...
There's no guarantee it will *actually* be the URI which refered to what we are
downloading. It could be a stream URI or anything else.
Instead of putting something wrong, put no (specific) referer as a better choice
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3972 >
2023-03-20 07:59:27 +00:00
Edward Hervey
bead28ad5c
hlsdemux2: Don't set a referer when updating playlists
...
In the same way we don't for regular playlists in the base class.
If there is a referer specified by the app/user, the downloadhelper will set it
accordingly.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3972 >
2023-03-20 07:59:26 +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
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
Piotr Brzeziński
e448888e1e
allocators: Only build DRM allocator on Linux
...
This was causing issues when building the monorepo on macOS.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4208 >
2023-03-19 13:45:37 +00:00
Sebastian Dröge
621ec7b6e8
matroskademux: Make gst_byte_reader_get_data() usage less confusing
...
This is effectively the same behaviour but retrieving 0 bytes of data is
confusing to read.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4210 >
2023-03-18 16:34:19 +02:00
Sebastian Dröge
7e2a0779c3
flacenc: Fix mapping of GStreamer image tag type to FLAC image tag type
...
These enums are not compatible so just casting them does not work.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4210 >
2023-03-18 16:17:01 +02: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