He Junyan
71eff7ce97
va: encoder: update the bitrate change correctly
...
We should update and notify the bitrate change at a common place,
no matter whether the bitrate is calculated or not.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6433 >
2024-03-26 18:15:20 +00:00
He Junyan
56703704a5
va: av1enc: enable ICQ and QVBR modes
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6433 >
2024-03-26 18:15:20 +00:00
He Junyan
5c51abfa71
va: vp9enc: enable ICQ and QVBR modes
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6433 >
2024-03-26 18:15:20 +00:00
He Junyan
d90f718b1a
va: h265enc: enable ICQ and QVBR modes
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6433 >
2024-03-26 18:15:20 +00:00
He Junyan
f45f52a786
va: h264enc: enable ICQ and QVBR modes
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6433 >
2024-03-26 18:15:20 +00:00
He Junyan
85bcea1776
va: encoder: Enable ICQ and QVBR mode in rate control map
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6433 >
2024-03-26 18:15:20 +00:00
He Junyan
3f1ce4460a
va: encoder: Set the quality_factor parameter in rate control
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6433 >
2024-03-26 18:15:20 +00:00
Víctor Manuel Jáquez Leal
ababe13f1c
jpegparse: avi1 tag can be progressive
...
AVI1 tag in APP0 is trivalue: 0 not interleaved, 1 odd, 2 even.
So if avi1 is zero then the frame is progressive.
Also, this patch adds a couple log messages.
Fixes : #3414
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6445 >
2024-03-26 16:17:02 +00:00
Tim-Philipp Müller
46355e31d7
tests: add check to make sure -bad lib headers are C++ compiler clean
...
Only non-internal libs without external deps for now.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6440 >
2024-03-26 14:21:34 +00:00
Tim-Philipp Müller
9e2cc83f23
ges: add check to make sure headers are C++ compiler clean
...
See https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3421
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6440 >
2024-03-26 14:21:34 +00:00
Thibault Saunier
324c211283
ges: frame-composition-meta: Stop using keyword 'operator' for field in C++
...
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3421
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6440 >
2024-03-26 14:21:34 +00:00
Sebastian Dröge
e0dfb3d974
rtphdrext-ntp: Fix typo of the RFC number in the element metadata
...
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3417
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6439 >
2024-03-26 14:37:47 +02:00
Matthew Waters
91e8331b52
ccconverter: fix cdp->cea608-raw field 1 60fps conversion
...
There was a potential busy loop occuring because when we were taking
data from the internal ccbuffer, we were not resetting which field had
written data. This would mean that the next time data was retrieved
from ccbuffer, it was always from field 0 and never from field 1.
This only affects usage of cc_buffer_take_separated() which is only used
by cdp->raw cea608.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6423 >
2024-03-26 02:23:08 +00:00
Seungha Yang
bbdfa00b7b
d3d12: Add support for cross-compile
...
... and fix bunch of GCC reported warnings
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6435 >
2024-03-25 11:41:25 +00:00
Seungha Yang
6c80d2f5f8
d3d12: Allow building without WGC support
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6435 >
2024-03-25 11:41:25 +00:00
Philippe Normand
ce0b60b5c9
meson: Declare dav1d dependency in subproject
...
Fixes this error:
dav1d| Subproject dav1d finished.
gst-plugins-rs| WARNING: Subproject 'dav1d' did not override 'dav1d' dependency and no variable name specified
gst-plugins-rs| Dependency dav1d from subproject subprojects/dav1d-1.4.1 found: NO
subprojects/gst-plugins-rs/meson.build:382:14: ERROR: Dependency 'dav1d' is required but not found.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6436 >
2024-03-25 10:14:13 +00:00
Seungha Yang
2649d2ae62
d3d12: Port to d3dshader library
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6434 >
2024-03-25 00:02:12 +09:00
Seungha Yang
cab1f3e547
d3d11: Port to d3dshader library
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6434 >
2024-03-24 22:28:14 +09:00
Seungha Yang
13c90b606a
d3dshader: Add HLSL shader library
...
Adding a new library for HLSL compile and compiled bytecode caching.
This library will be used by d3d11 and d3d12 library/plugin, in order to
reuse single HLSL code and compiled HLSL bytecode.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6434 >
2024-03-24 22:05:49 +09:00
Seungha Yang
93bb362016
d3d11: Update shader to be d3d12 compatible
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6434 >
2024-03-24 20:33:26 +09:00
Seungha Yang
43da9b4249
d3d12: Update shader to be Shader Model 5.0 compatible
...
And use fxc HLSL compiler
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6434 >
2024-03-24 17:15:22 +09:00
Nirbheek Chauhan
0faff6fb5e
meson: Bump pixman.wrap to latest version
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6351 >
2024-03-23 13:08:15 +00:00
Nirbheek Chauhan
3885efea03
meson: Add the name of the provided dependency to pixman.wrap
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6351 >
2024-03-23 13:08:15 +00:00
Nirbheek Chauhan
ab7e253667
meson: Fix various build issues with opus-1.5.1
...
All taken from upstream, can be removed on bump.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6351 >
2024-03-23 13:08:15 +00:00
Nirbheek Chauhan
bd753822c4
ci: Enable opus and vpx plugins everywhere by default
...
Ensure that they are build-tested on the CI.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6351 >
2024-03-23 13:08:15 +00:00
Nirbheek Chauhan
492d3afad3
meson: Make wrap downloads smaller
...
Make all git clones depth=1 and switch opus to the tarball.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6351 >
2024-03-23 13:08:15 +00:00
Ruben Gonzalez
778381fba6
ristsrc: Clean caps instead of unref
...
Fix issue unrefering null caps. Better solution than
```
if (src->caps)
gst_caps_unref (src->caps);
```
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6432 >
2024-03-23 10:31:57 +01:00
Sebastian Dröge
cfe55115c3
ci: Update to Rust 1.77 / cargo-c 0.31 / rustup 1.27
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6426 >
2024-03-22 21:31:03 +00:00
Hou Qi
024d3ab051
v4l2: Also set max_width/max_height if enum framesize fail
...
Some driver doesn't implement enum_framesize. The maximum supported
size can be got by trying format with a very large size. Also need
to set max_width/max_height for this case, otherwise default encoded
buffer size 256kB is too small.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6416 >
2024-03-22 16:02:51 +00:00
Seungha Yang
0c148a96db
d3d12: Add IPC elements
...
Adding d3d12ipcsink and d3d12ipcsrc elements, equivalent to D3D11 ones.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6428 >
2024-03-22 23:09:12 +09:00
Seungha Yang
0006ad1f86
d3d12: Add buffer copy helper method
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6428 >
2024-03-22 23:09:05 +09:00
Seungha Yang
c612af6d42
d3d12commandqueue: Always invoke notify asynchronously
...
Otherwise the callback thread is unpredictable
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6428 >
2024-03-22 20:45:01 +09:00
Seungha Yang
18091f0115
d3d12memory: Update for API interop
...
Add support for destroy notify in case of wrapped memory, and
allow setting external fence for interop
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6428 >
2024-03-22 20:01:16 +09:00
Seungha Yang
0d559bead9
d3d12: Make primary fence sharable
...
Create primary fence with D3D12_FENCE_FLAG_SHARED flag so that
the fence can be shared with other APIs or processes
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6428 >
2024-03-22 18:57:26 +09:00
Wojciech Kapsa
71e879236f
webrtc: Change requirement to libnice 0.1.22
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6424 >
2024-03-22 08:49:32 +00:00
Philippe Normand
f8e524842b
subprojects: Bump to dav1d 1.4.1
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6420 >
2024-03-21 20:32:27 +00:00
Tim-Philipp Müller
4790a44d10
Revert "audiobasesink: Don't wait on gap events"
...
This reverts commit 8e923a8e2d
.
This caused regressions, see #3303 .
Without this commit, osxaudiosrc ! osxaudiosink won't work
right, but since that hasn't really been a huge problem
for years it's probably best to revert this until a proper
solution can be figured out.
(cherry picked from commit f04f86f3ee
)
(cherry picked from commit 93255efece
)
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6405 >
2024-03-21 03:19:03 +00:00
Thomas Goodwin
fde2495218
gst-inspect: fix --atleast-version to be implicitly applied to --exists
...
The --atleast-version implies --exists, but the implementation in
earlier commits had the version check applied any time the --exists was
checked, and the default value of the major and minor versions were set
to the GStreamer major and minor versions. The resulting behavior would
have gst-inspect return '1' if the plugin's version didn't match
gstreamer's even when --atleast-version was not specified in the command
line args. The change in this patch removes that behavior and adds
tests to verify that if --exists is specified WITHOUT --atleast-version
the version check will NOT be applied. If both arguments are specified
and the version does not match the arg-supplied version number, a new
return code of '2' is used to uniquely identify the failure.
Fixes #3246
Signed-off-by: Thomas Goodwin <thomas.goodwin@laerdal.com>
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6191 >
2024-03-20 21:19:07 +00:00
Thibault Saunier
2a4b9c8dc1
validate: reporter: Use an MT safe weak ref to reporter for GLog handling
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6412 >
2024-03-20 16:45:34 +00:00
Piotr Brzeziński
982c73dfdd
vtdec: Ignore output loop errors in drain() if we're flushing
...
In an early non-linked scenario, this was causing a ton of criticals about the queue array,
because the output callback would still fire for leftover frames that were still being processed by VT
at the time the output loop stopped. This makes sure they're flushed correctly as well.
Also renames gst_vtdec_loop to gst_vtdec_output_loop for consistency with related functions.
wip
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6397 >
2024-03-20 13:07:25 +00:00
Piotr Brzeziński
112951ce55
vtdec: Fix a deadlock during ProRes playback
...
Sometimes a call to negotiate (and thus drain) can happen from the output loop
(via finish_frame()), which will tell VT to output all internal frames, but that won't succeed
if we happen to decide to wait for the queue to empty (because the loop is waiting for draining to finish and
will not make space in the queue!). This commit adds an override for the queue size limit if we're draining/flushing.
This bug could happen for any formats, but was especially obvious for ProRes, which has dpb_size of 0.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6397 >
2024-03-20 13:07:25 +00:00
Seungha Yang
17f92ab400
asio: Add support for MinGW build
...
Drop MSVC specific bits and remove unused dependency
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6404 >
2024-03-20 10:53:16 +00:00
Seungha Yang
f0761a7358
asio: Drop external SDK header dependency
...
Build ASIO plugin using our tiny SDK header
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6404 >
2024-03-20 10:53:16 +00:00
Edward Hervey
5280f0b733
adaptivedemux2: Add libsoup tracing debug
...
Provides more information for debugging
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6409 >
2024-03-20 09:48:12 +00:00
He Junyan
3b57825ca6
va: Implement the vavp9enc plugin
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3293 >
2024-03-20 08:53:11 +00:00
He Junyan
802a0eb9df
test: add vp9 bitwriter test case
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3293 >
2024-03-20 08:53:11 +00:00
He Junyan
142448bbed
vp9bitwriter: Add the VP9 bit writer helper functions
...
In this first version, we only implement the "show existing frame"
and super frame writting. Other frame header types writting can
be added when needed.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3293 >
2024-03-20 08:53:11 +00:00
Edward Hervey
3d500636a9
adaptivedemux2: Don't use g_str_equal on potentially NULL strings
...
It is only meant to be used as a callback. The fallback macro uses strcmp which
doesn't handle NULL strings gracefully. Instead use g_strcmp0
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6392 >
2024-03-19 13:25:41 +00:00
Edward Hervey
ab11c20d59
hlsdemux2: Avoid NULL pointer usage
...
The pending/current variant are both NULL when the demuxer is resetted.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6392 >
2024-03-19 13:25:41 +00:00
Edward Hervey
46bb0bfa57
adaptivedemux2: Handle context going away
...
This issue can happen when the scheduler loop was stopped (and context went
away). We no longer want to push/pop main context threads.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6392 >
2024-03-19 13:25:41 +00:00