Edward Hervey
a2254a4968
ges-launcher: Fix for forcing container profiles
...
If the input profile doesn't have a container, it's fine since we are overriding
it. Just add the elementary stream to the target container profile
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6674 >
2024-04-17 16:07:47 +02:00
Jan Schmidt
26acd70c74
dvbsubenc: fixed some memory leaks and a crash
...
Fix leaks of internal GstBuffers, and a crash if subtitle segments end
up empty.
Based on a patch by Jurijs Satcs <jurijs.satcs@veset.tv>
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6661 >
2024-04-17 11:37:49 +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
Alexander Slobodeniuk
b46383bf5e
d3d11converter: fix documentation for converter_new ()
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6665 >
2024-04-16 23:30:51 +02:00
Loïc Le Page
cbc58c0483
gst-validate: add formatting for GstAudioMeta
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6461 >
2024-04-16 15:33:42 +00:00
Qian Hu (胡骞)
8d003f00e9
v4l2: add multiplane y42b(yuv422m)
...
for some jpg file, mediatek v4l2 jpeg decoder
hardware produce multi plane YUV 4:2:2 data
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6617 >
2024-04-16 09:03:47 +00:00
F. Duncanh
ac40e6b592
ximagesink: initialize mask for XISelectEvents
...
Fixes #3470
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6631 >
2024-04-16 00:13:43 -04:00
Hou Qi
105d232fde
v4l2bufferpool: queue back the buffer flagged LAST but empty
...
Some decoder drivers need to wait enough capture buffers before
starting to decode. But the dequeued buffer flag LAST but empty
has no chance to queue back to driver, which makes decode hang
after seek. So need to queue back such kind of buffer to driver.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6579 >
2024-04-15 18:07:17 +00:00
Philipp Zabel
e1f5bacf8d
v4l2: bufferpool: Drop writable check on output pool process
...
Output buffers don't have to be writable. Accepting read-only buffers
from the V4L2 buffer pool allows upstream elements to write directly
into the V4L2 buffers without triggering a CPU copy into a new buffer
from the same V4L2 buffer pool every time.
Tested with the vivid output device:
GST_DEBUG=GST_PERFORMANCE:7 gst-launch-1.0 videotestsrc ! v4l2sink device=/dev/video5
With this change, gst_v4l2_buffer_pool_dqbuf() must be allowed to not
resize read-only memories of output buffers.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6572 >
2024-04-15 17:11:00 +00:00
Seungha Yang
a7fe79c4de
mediafoundation: Fix device enumeration
...
Do not stop device enumerate even if a device could not be opened.
Otherwise the other devices listed after the failed device will not be
reported by device provider
Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3460
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6598 >
2024-04-15 14:52:32 +00:00
Tim-Philipp Müller
60ac6d0883
tests: fix possible libscpp build failure in gst-plugins-bad
...
../subprojects/gst-plugins-bad/tests/check/libs/gstlibscpp.cc:41:
fatal error: gst/mpegts/gstmpegts-enumtypes.h: No such file or directory
Could only pass the needed deps to the libscpp test, but gets
messier to maintain, so let's at it for consistency.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6643 >
2024-04-15 11:41:51 +00:00
Philippe Normand
97d4c56c8f
tests: webrtcbin: Fix repaired-stream-id handling in simulcast test
...
The test was attempting to add the same stream-id extension twice, probably some
unfinished copy/paste.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6615 >
2024-04-15 08:43:09 +00:00
Seungha Yang
15434ce51d
dwrite: D3D12 integration
...
Adding d3d12 backend text renderer/blender by using d3d11on12 interop.
And subclassing renderer object per backend (i.e., d3d11, d3d12, and bitmap)
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6620 >
2024-04-14 09:55:41 +00:00
Seungha Yang
f6ec4e6256
d3d12overlaycompositor: Add support for d3d12 memory
...
Don't allocate d3d12 texture if overlay is d3d12 memory already
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6620 >
2024-04-14 09:55:41 +00:00
Seungha Yang
13d892d336
d3d12: Move gst_d3d12_buffer_copy_into method to library
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6620 >
2024-04-14 09:55:41 +00:00
Seungha Yang
b242f5d2ec
d3d12converter: Port to GstD3D12Frame
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6620 >
2024-04-14 09:55:41 +00:00
Seungha Yang
cb670f8110
d3d12: Add GstD3D12Frame struct and helper method
...
Adding GstD3D12Frame struct with map, unmap, and copy methods.
This new struct is equivalent to GstVideoFrame but gst_d3d12_frame_map()
method will extract D3D12 specific resource handles from memory.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6620 >
2024-04-14 09:55:41 +00:00
Seungha Yang
8b88fcd18b
d3d12memory: Implement copy method
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6620 >
2024-04-14 09:55:41 +00:00
Nirbheek Chauhan
073d8fc52a
meson: Don't link to python for the gi overrides module
...
We only need to link to python directly for the plugin:
https://github.com/mesonbuild/meson/issues/7712#issuecomment-689357908
https://github.com/Homebrew/homebrew-core/pull/165176#issuecomment-2051835257
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6622 >
2024-04-13 22:24:32 +00:00
Seungha Yang
e597dcdf0d
d3d12encoder: Fix buffer pool leak
...
Add missing buffer pool release
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6628 >
2024-04-13 14:55:09 +00:00
Seungha Yang
d00d8fff6b
subprojects: webview2: Fix warning with meson 1.4.0
...
Meson 1.4.0 will warn if include dir is absolute path
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6618 >
2024-04-13 14:47:29 +00:00
Philippe Normand
111cc8d796
vpxdec: Include vpx error details in errors and warnings
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6626 >
2024-04-13 10:57:43 +01:00
Philippe Normand
bd83046193
vp9enc: Include vpx error details in errors and warnings
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6626 >
2024-04-13 10:56:29 +01:00
Philippe Normand
73ce4fd770
vpxenc: Rename GST_VPX_WARN to GST_VPX_ENC_WARN
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6626 >
2024-04-13 10:55:55 +01:00
Seungha Yang
d002acdd0c
d3d11videosink: Fix rendering on keyed mutex enabled handle
...
As of the commit 69b2e1565c
,
keyed mutex will be handled by the memory object.
Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3468
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6600 >
2024-04-12 14:46:20 +00:00
Jordan Petridis
c4e0d19f13
fdkaac: Mark the dependency include_type as 'system'
...
When using v2.0.2 of the subproject, it triggers werror for
unused functions that come from the fdkaac headers.
This avoids errors like the following when werror is set.
```
subprojects/fdk-aac-2.0.2/fdk-aac/FDK_audio.h:757:29: error: ‘FDKlibInfo_lookup’
defined but not used [-Werror=unused-function]
757 | static FDK_AUDIO_INLINE INT FDKlibInfo_lookup(const LIB_INFO* info,
```
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6611 >
2024-04-12 13:18:40 +03:00
Qian Hu (胡骞)
cd95d02032
qtdemux: fix wrong full_range offset when parsing colr box
...
use colr_data[18] >> 7 to get full range information, instead
of colr_data[17] >> 7
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6616 >
2024-04-12 16:59:33 +08:00
William Wedler
942415dce0
fix: qml6glsink: Notify that the returned QSGNode node has changes
...
Sets the QSGNode::DirtyMaterial bit when a new buffer is used for the material's texture
Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3469
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6609 >
2024-04-11 14:21:04 +00:00
Jochen Henneberg
687b3a2027
qt6: Let plugin documentation show up
...
* Added qml6 to plugin cache
* Added 'since' markers
* Moved plugin to plugins-good where it really is
* Fixed section comments
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6603 >
2024-04-11 12:38:59 +00:00
Jochen Henneberg
8b87d7bcf7
qt: Let plugin documentation show up
...
* Enabled cc file parsing from hotdoc
* Moved package to plugins-good where it really is
* Fixed section comments
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6603 >
2024-04-11 12:38:59 +00:00
iodar
8854b27dd1
docs: updated docs for installing on linux
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6604 >
2024-04-10 17:59:39 +02:00
Sebastian Dröge
9eb3ab3a59
ptp: Silence warning about some unused trait methods
...
These are not used yet but will likely be useful in the future.
Rust 1.79 (nightly) is warning about them being unused.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6601 >
2024-04-10 14:33:46 +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
Jochen Henneberg
fee46dee28
qt6: Added support for NV12 input format to qml6glsink
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6582 >
2024-04-10 13:45:26 +02:00
Jochen Henneberg
7065d540ee
qt: Added support for NV12 input format to qmlglsink
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6582 >
2024-04-10 13:45:26 +02: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
Jimmy Ohn
a6c8c6f866
pulsedeviceprovider: Add is_default_device_name function and missing lock
...
Add is_default_device_name function to simplify compare device type
name and fix the missing lock when accessing default_sink_name and
default_source_name.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6558 >
2024-04-10 08:43:56 +00:00
Edward Hervey
24c0dc9602
parsebin: Ensure non-time subtitle streams get "parsed"
...
Since https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6153 ,
subtitle "decoders" (i.e. which decode to raw text) are no longer auto-plugged
by parsebin.
But if a given format does not have a parser at all, we would end up outputting
non-time/non-parsed outputs.
In order to mitigate the issue, until such parsers are available, we check if
the subtitle stream is in TIME format or not (i.e. whether it comes from a
parser or demuxer). If not, we attempt to plug in a subtitle "decoder".
Fixes #3463
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6592 >
2024-04-10 09:40:54 +02:00
Tim-Philipp Müller
9ec99ac6f2
analyticsmeta: fix g-ir-scanner warnings
...
Fix
gstanalyticsmeta.c:134: Warning: GstAnalytics: "@instance"
parameter unexpected at this location
warning (caused by the extraneous empty line in the doc chunk)
and align function arguments with documentation and header file
(handle -> instance).
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6585 >
2024-04-10 00:46:42 +00:00
Seungha Yang
ff754dca79
ccconverter: Fix caps leak and remove unnecessary code
...
The removed code does the exactly same thing as the below code
except for leaking caps
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6548 >
2024-04-09 18:26:18 +00:00
Seungha Yang
0cc206e939
qsvdecoder: Release too old frames
...
Release too old frames manually.
Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3163
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6583 >
2024-04-09 16:49:47 +00:00
Arun Raghavan
82b10e57b0
pulsesink: Re-enable emission of stream status messages
...
This was disabled almost 10 years ago because we were missing libpulse API to
avoid a deadlock. That was fixed quite a long time ago, so let's enable this
again. The defer counter becomes an atomic, as we no longer have a threaded
mainloop lock protecting it.
Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3444
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6500 >
2024-04-09 15:50:04 +00:00
Philippe Normand
8d3e7689e1
vpxenc: Include vpx error details in errors and warnings
...
The vpx_codec_t err_detail string usually provides additional context about the
error, so include it in GStreamer warnings and errors, when it's not NULL.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6573 >
2024-04-09 14:40:21 +00:00
Jochen Henneberg
6e33a5da14
qt6: Fixes for dummy texture
...
* RED_OR_ALPHA8 will map value to alpha for OpenGL, use R8 to avoid
2nd shader
* Determine texel size for proper texture memory preparation
* QByteArray::fromRawData() does shallow copy and thus leads to use of
corrupted memory
* Make sure RGBA dummy texture is fully opaque
* QRhiTexture::create() must be called to allocate texture resources
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6578 >
2024-04-08 20:05:10 +02:00
Jochen Henneberg
87dc22b053
qt: Fixup for dummy textures
...
* Initialize dummy texture Ids
* Ensure YUV->RGB matrix set for dummy textures
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6578 >
2024-04-08 20:05:09 +02:00
Seungha Yang
448a461a40
d3d12converter: Simplify root signature build
...
D3DX12SerializeVersionedRootSignature() helper method will translate
RS 1.1 into 1.0 version if needed
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6557 >
2024-04-08 13:24:20 +00:00
Sebastian Dröge
0596871b98
rtpbin: Don't re-use a variable for a completely different purpose temporarily
...
During RTP-Info synchronization, clock_base was temporarily switched
from the actual clock-base to the base RTP time and then back some lines
later.
Instead directly work with the base RTP time. The comment about using a
signed variable for convenience doesn't make any sense because all
calculations done with the value are unsigned.
Similarly, rtp_clock_base was overridden with the rtp_delta when
calculating it, which was fine because it is not used anymore
afterwards. Instead, introduce a new variable `rtp_delta` to make this
calculation clearer.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6536 >
2024-04-08 10:29:54 +00:00
Sebastian Dröge
11ce209ea0
rtpbin: Convert clock-base to extended RTP timestamp correctly
...
It's not in the same period as the current RTP base time but always in
the very first period. This avoids using it again at a much later time.
The code in question is only triggered with rtcp-sync=rtp-info.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6536 >
2024-04-08 10:29:54 +00:00
Sebastian Dröge
0c34c85f7a
rtpjitterbuffer: Use an extended RTP timestamp for the clock-base
...
It is compared to other extended RTP timestamps all over rtpjitterbuffer
and since 4df3da3bab
the initial extended RTP timestamp is not equal
anymore to the plain RTP time.
Continue passing a non-extended RTP timestamp via the `sync` signal for
backwards compatibility. It will always be a timestamp inside the first
extended timestamp period anyway.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6536 >
2024-04-08 10:29:54 +00:00
Sebastian Dröge
4a4eb56fc2
rtspsrc: Optionally timestamp RTP packets with their receive times in TCP/HTTP mode
...
Until https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6509
this was accidentally done inside rtpjitterbuffer for many years, and
doing so potentially solves problems on some streams while introducing
problems on others.
Make this configurable on rtspsrc and default to not set timestamps.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6529 >
2024-04-08 08:34:38 +00:00
Jan Schmidt
362a73218b
webrtc.js: Fix a small typo
...
Fix a typo caused by referencing the event struct after
it's already been destructured
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6547 >
2024-04-07 21:50:17 +00:00
Håvard Graff
b57944efda
examples/gl/cocoa: add an example of a failing scenario with glimagesink
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5708 >
2024-04-07 21:03:23 +00:00
Daniel Morin
0c8e4d4a2c
h264parser: maintain API changes
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6540 >
2024-04-07 15:25:23 +00:00
Daniel Morin
71659f2545
Revert "h264parse: test - AU align with SEI between frame slices"
...
This reverts commit 533f814fd9
.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6540 >
2024-04-07 15:25:23 +00:00
Daniel Morin
e57f561a8e
Revert "h264parse: Improved AU boundary detection"
...
This reverts commit 49f200cb54
.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6540 >
2024-04-07 15:25:23 +00:00
Daniel Morin
694c6e77b1
Revert "h264parse: Remove dead code"
...
This reverts commit 141cd38715
.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6540 >
2024-04-07 15:25:22 +00:00
Daniel Morin
ac3272db40
Revert "h264parse: Fix AU collection"
...
This reverts commit 495390f63a
.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6540 >
2024-04-07 15:25:22 +00:00
Daniel Morin
64c2c8d542
Revert "h264parse: Remove un-needed check on SPS state"
...
This reverts commit 73dedf9a51
.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6540 >
2024-04-07 15:25:22 +00:00
Daniel Morin
6ff1973b5b
Revert "h264parse: use AUD to detect first VCL NAL"
...
This reverts commit 90a3b63eed
.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6540 >
2024-04-07 15:25:22 +00:00
Daniel Morin
0bc5d97321
Revert "h264parse: correct NAL mode backlog processing"
...
This reverts commit b2098849dc
.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6540 >
2024-04-07 15:25:22 +00:00
Jan Schmidt
832a517965
rtpjitterbuffer: Don't use estimated_dts to do default skew adjustment
...
When the buffer DTS is estimated based on arrival time at the
jitterbuffer (rather than provided on the incoming buffer itself),
it shouldn't be used for skew adjustment. The typical case is
packets being deinterleaved from a tunnelled TCP/HTTP RTSP stream,
and the arrival times at the jitter buffer are not well enough
correlated to usefully do skew adjustments.
This restores the original intended behaviour for the 'estimated dts'
path, that was broken years ago during other jitterbuffer refactoring.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6509 >
2024-04-07 12:24:58 +00:00
Sebastian Dröge
ee566b8960
flac: Add wrap file and add fallback for it to the flac plugin
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6553 >
2024-04-07 11:12:51 +00:00
Tim Blechmann
1c9fe19b23
v4l2: enforce a pixel aspect ratio of 1/1 if no data are available
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6242 >
2024-04-07 10:14:18 +00:00
Philipp Zabel
6f9872cb56
v4l2: allocator: Fix unref log/trace on memory release
...
Use gst_object_unref() instead of g_object_unref() in
gst_v4l2_allocator_release(), so refcounting log and
tracer get to know about this unref.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6551 >
2024-04-06 11:44:27 +00:00
Edward Hervey
eedfb5e6d7
videoparsers: Demote CC warning message
...
Another warning message which isn't fatal and therefore should just be a DEBUG
line.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6550 >
2024-04-06 06:11:03 +02:00
Seungha Yang
f59c43c50f
d3d12device: Fix typo in object name
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6549 >
2024-04-06 01:14:56 +09:00
Elliot Chen
e4ee4ca716
v4l2: fix error in calculating padding bottom for tile format
...
This is a regression while porting to arbitrary tile dimensions
introduced in !3424 .
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6480 >
2024-04-05 13:28:47 +00:00
Elizabeth Figura
c308f013a7
atdec: Handle channel counts greater than 2
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6157 >
2024-04-05 06:54:24 +00:00
Elizabeth Figura
277d6ddf22
atdec: Use gst_audio_decoder_set_output_caps() directly
...
The code currently sets the same caps in two different ways, and neither of them correctly handle the channel mask.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6157 >
2024-04-05 06:54:24 +00:00
Seungha Yang
bc8a3ca526
avviddec: Fix AVPacket leak
...
av_packet_unref() does not release allocated memory.
av_packet_free() is the correct free function.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6544 >
2024-04-04 19:39:09 +00:00
Mathieu Duponchelle
4b93581c15
ajasrc: always post details about detected format
...
.. instead of only when there is a mismatch.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6438 >
2024-04-04 18:23:31 +00:00
Mark Nauwelaerts
e019093fbf
adapter: align documentation to actual behavior
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6535 >
2024-04-04 16:55:35 +00:00
Sebastian Dröge
16f69acf30
wavpackparse: Use an unsigned integer for the block size calculations
...
It's never negative.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6498 >
2024-04-04 15:10:02 +00:00
Sebastian Dröge
eefb7c1638
wavpackparse: Fix potential integer overflow on ID_ODD_SIZE blocks
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6498 >
2024-04-04 15:10:02 +00:00
Sebastian Dröge
6402978a48
wavpackparse: Explicitly handle ID_WVX_NEW_BITSTREAM
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6498 >
2024-04-04 15:10:02 +00:00
Sebastian Dröge
2dde87710c
typefind: Handle WavPack block sizes > 131072
...
These are valid nowadays.
Also handle ID_ODD_SIZE and ID_WVX_NEW_BITSTREAM. The parser already
handles the former but not the latter.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3440
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6498 >
2024-04-04 15:10:02 +00:00
Robert Mader
0a26a92b2b
jpegparse: turn some bus warnings into object ones
...
For some cameras `gst_jpeg_parse_app0()` fails on a invalid segment.
While this is likely a driver or firmware bug that should be addressed
accordingly, it's not fatal and likely does not deserve a bus message on
every frame, flooding journals.
Turn down the volume of the warnings by turning them into object
warnings. If we conclude that in some cases we'd still want bus
warnings, they can be done more fine-grained in the
`gst_jpeg_parse_appX()` functions.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6490 >
2024-04-04 11:35:07 +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
Ruben Gonzalez
a780b9ed13
subprojects: update glib-networking wrap to 2.78.1
...
Using same mayor/minor version than glib wrap
Origin: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5704 >
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6533 >
2024-04-03 18:49:08 +00:00
Víctor Manuel Jáquez Leal
fc0ef6ede6
vkh265dec: add missing VPS parameter
...
and fix coded size
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6400 >
2024-04-03 16:46:14 +00:00
Víctor Manuel Jáquez Leal
a6608d72e6
vkh26xdec: implement close() vmethod
...
Since a validation layer error is signaled at EOS because it's required to wait
for the last frame to be processed.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6400 >
2024-04-03 16:46:14 +00:00
Víctor Manuel Jáquez Leal
316ca23cab
vkh26xdec: remove unused variables
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6400 >
2024-04-03 16:46:14 +00:00
Víctor Manuel Jáquez Leal
3dd5e0d46f
vkh265dec: fix resource info structure when layered DPB
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6400 >
2024-04-03 16:46:14 +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
Víctor Manuel Jáquez Leal
d18d6a70ac
examples: vaenc-dynamic: support target percentage change in QVBR
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6465 >
2024-04-03 13:51:31 +02:00
Víctor Manuel Jáquez Leal
a9d839b8a3
examples: vaenc-dynamic: ignore bitrate change with ICQ too
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6465 >
2024-04-03 13:51:31 +02:00
Víctor Manuel Jáquez Leal
4b5e930bc8
va: encoders: don't assert at target percentage when QVBR
...
Instead of asserting, just get the max value between the current value and 10,
which is the minimum required by QVBR.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6465 >
2024-04-03 13:51:31 +02:00
Víctor Manuel Jáquez Leal
cd14db923e
examples: vaenc-dynamic: add vp9, av1 and low power tests
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6465 >
2024-04-03 13:51:31 +02:00
Chris Spencer
c6a3b2ab85
vkbufferpool: correct usage flags type
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6514 >
2024-04-03 09:36:44 +00:00
Víctor Manuel Jáquez Leal
3b4b979ec4
msdk: sink context reference
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6398 >
2024-04-03 08:48:25 +00:00
Víctor Manuel Jáquez Leal
c83b69d146
gtk: sink reference of internal wayland pool
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6398 >
2024-04-03 08:48:25 +00:00
Víctor Manuel Jáquez Leal
e53c3ab5db
wayland: sink reference to internal pool
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6398 >
2024-04-03 08:48:25 +00:00
Víctor Manuel Jáquez Leal
c080e7041d
dash: sink references of all MDP objects
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6398 >
2024-04-03 08:48:25 +00:00
Víctor Manuel Jáquez Leal
0d48ede4a9
va: sink reference at instantiation
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6398 >
2024-04-03 08:48:25 +00:00
Víctor Manuel Jáquez Leal
b18483a563
vulkan: sink references at instantiation
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6398 >
2024-04-03 08:48:25 +00:00
eri
0f1a3b6847
play: Update video_snapshot
to support playbin3
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6516 >
2024-04-03 07:46:23 +00:00
Xavier Claessens
d129c8ebd3
clocksync: Proxy allocation queries
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6515 >
2024-04-03 03:58:10 +00:00
Seungha Yang
b9ebe979ee
qsvencoder: Handle d3d12 context
...
GstD3D12Device objetct's internal resources are singletons per adapter
already though, the object itself is not a singleton.
Due to the singleton design (unlike other APIs such as d3d11),
d3d12 device context sharing is not a strict requirement
for zero-copy, but handles context ones to make things less noisy.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6513 >
2024-04-03 02:05:25 +00:00
Seungha Yang
ad6670ba81
d3d12decoder: Always output sharable texture
...
Because shared heap's additional costs is not significant,
use D3D12_HEAP_FLAG_SHARED for resource can be shared over process
boundary. And enables render target for d3d11 interop in the process.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6513 >
2024-04-03 02:05:25 +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
3f29c897f8
glimagesink: avoid a possible critical on shutdown
...
It is possible that the close callback can be called after glimagesink
is changing state to NULL. Protect against that by taking the glimagesink
lock and some NULL checking.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6504 >
2024-04-02 23:50:41 +00:00
Matthew Waters
d9b563e9b2
glimagesink: unref the potential last ref outside of the glimagesink lock
...
Avoids a deadlock between the state change removing the last ref and
the destructer calling the window's on_close handler and trying to
take the glimagesink lock.
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
Guillaume Desmottes
ed54734825
examples: set perfect-timestamp=true on opusenc
...
Fix audio streaming on Chrome, see https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1524
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6512 >
2024-04-02 22:08:31 +00:00
Xavier Claessens
74b171e745
videorate: Reset last_ts when a new segment is received
...
This fix all buffers being droped when a new segment is received and
average-period property is set.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6502 >
2024-04-02 21:06:21 +00:00
He Junyan
cbdc22d697
va: av1enc: Change the set_property to make it atomic
...
The inside encoder may be set in other threads, so we should make
its accessing atomic.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6471 >
2024-04-02 19:01:22 +00:00
He Junyan
db74da3f6f
va: vp9enc: Change the set_property to make it atomic
...
The inside encoder may be set in other threads, so we should make
its accessing atomic.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6471 >
2024-04-02 19:01:22 +00:00
Víctor Manuel Jáquez Leal
8bede7937c
va{vp9,av1}enc: reconfigure when properties change
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6471 >
2024-04-02 19:01:22 +00:00
He Junyan
d179fca13f
va: h265enc: Change the set_property to make it atomic
...
The inside encoder may be set in other threads, so we should make
its accessing atomic.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6471 >
2024-04-02 19:01:22 +00:00
He Junyan
33bc8d75ad
va: h265enc: set the reconf flag when cpb_size updated
...
This feature can be changed dynamically in playing state, so we
need to set reconf flag to trigger reconfig.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6471 >
2024-04-02 19:01:22 +00:00
He Junyan
045449e190
va: h264enc: Change the set_property to make it atomic
...
The inside encoder may be set in other threads, so we should make
its accessing atomic.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6471 >
2024-04-02 19:01:22 +00:00
He Junyan
812e7efb90
va: h264enc: set the reconf flag when cpb_size updated
...
This feature can be changed dynamically in playing state, so we
need to set reconf flag to trigger reconfig.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6471 >
2024-04-02 19:01:22 +00:00
Seungha Yang
4ede9fef07
dwrite: Fix crash on device update
...
Selected blend mode should not be cleared on device update
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6508 >
2024-04-02 17:36:28 +00:00
L. E. Segovia
6ce27e328d
gst: clock: Block futex_time64 usage on Android API level < 30
...
This syscall is seccomp blocked on all lower API levels:
ee7bc3002d
While at it, also fix all direct tests on __NR_futex_time64 and
__NR_futex so that they refer to the results available in
config.h.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6477 >
2024-04-02 15:32:37 +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
Seungha Yang
106187cc59
nvencoder: Add support for RGB formats
...
Adding RGBA, RGBx, BGRA, BGRx, VUYA and RGB10A2_LE format support for performance.
However, these formats are not still recommended if upstream can support
native YUV formats (e.g., NV12, P010) since NVENC does not expose
conversion related optiones. Note that VUYA format is 4:4:4 YUV format
already but NVENC runtime will convert it to 4:2:0 format internally
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6417 >
2024-04-02 13:07:29 +00:00
Seungha Yang
e6f496a240
cuda: Add support for VUYA format
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6417 >
2024-04-02 13:07:29 +00:00
Seungha Yang
707ac69f5f
qsv: Add support for d3d12 interop in encoder
...
Since QSV API does not support D3D12, try to import d3d12 resource
into d3d11 texture. Note that resource sharing requires
D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER_2 for NV12 texure sharing.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6501 >
2024-04-02 11:54:39 +00:00
He Junyan
78f1299ce4
va: av1enc: Avoid reopen encoder or renegotiate
...
If parameters remain similar enough to avoid either encoder reopening
or downstream renegotiation, avoid it.
This is going to be useful for dynamic parameters setting.
To check if the stream parameters changed, so the internal encoder has
to be closed and opened again, are required two steps:
1. If input caps, format, profile, chroma or rate control mode have changed.
2. If any of the calculated variables and element properties have changed.
Later on, only if the output caps also changed, the pipeline
is renegotiated.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6441 >
2024-04-02 09:06:07 +00:00
He Junyan
075937dc19
va: vp9enc: Avoid reopen encoder or renegotiate
...
If parameters remain similar enough to avoid either encoder reopening
or downstream renegotiation, avoid it.
This is going to be useful for dynamic parameters setting.
To check if the stream parameters changed, so the internal encoder has
to be closed and opened again, are required two steps:
1. If input caps, format, profile, chroma or rate control mode have changed.
2. If any of the calculated variables and element properties have changed.
Later on, only if the output caps also changed, the pipeline
is renegotiated.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6441 >
2024-04-02 09:06:07 +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
U. Artie Eoff
5fb2bbc2eb
libav: guard dropped AV_OPT_TYPE_CHANNEL_LAYOUT
...
The FF_API_OLD_CHANNEL_LAYOUT api was dropped in upstream:
https://git.ffmpeg.org/gitweb/ffmpeg.git/commit/65ddc7498824
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6341 >
2024-04-02 07:12:37 +00:00
U. Artie Eoff
b699341ac9
libav: guard dropped AV_CODEC_ID_AYUV api
...
The FF_API_AYUV_CODECID api was dropped in upstream:
https://git.ffmpeg.org/gitweb/ffmpeg.git/commit/9ee59b63f5ea
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6341 >
2024-04-02 07:12:37 +00:00
He Junyan
40629b84ee
va: av1enc: Improve the LAST reference assignment
...
The last frame which has the smallest diff should be consider as
the first choice rather than the golden frame. Especially when only
one reference available, this way can improve the BD rate about 5
percentage.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6379 >
2024-04-02 03:54:52 +00:00
He Junyan
1745a82516
va: av1enc: Fix the reference number setting bug
...
The current way will let the total reference number surplus the
reference number set by the "ref-frames" property.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6379 >
2024-04-02 03:54:52 +00:00
Robert Guziolowski
52638c1b22
qml6glsink: fix destruction of underlying texture
...
One should not directly delete the QRhiTexture instance.
Instead it should be marked as to be deleted once QRhi::endFrame()
is called (see: https://doc.qt.io/qt-6/qrhiresource.html#deleteLater )
Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3443
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6467 >
2024-04-02 11:55:16 +11:00
Seungha Yang
dce4067e83
meson: d3d11: Add support for MinGW DirectXMath package
...
Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3428
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6495 >
2024-04-02 05:14:53 +09:00
Seungha Yang
5432c8fef9
subprojects: directxmath: Update to 3.1.9
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6495 >
2024-04-02 05:14:53 +09:00
Seungha Yang
bb268eafa1
webview2: Add support for d3d12 interop
...
Enable shared copy to D3D12 resource
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6499 >
2024-04-02 03:43:59 +09:00
Seungha Yang
d00c26cdc8
d3d12screencapturesrc: Use gst_d3d12_memory_get_d3d11_texture()
...
... and use fence to wait for GPU sync
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6499 >
2024-04-02 03:43:59 +09:00
Seungha Yang
ce34e63605
d3d12memory: Add support for d3d11 texture caching
...
Would be useful for various D3D11 interop use cases
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6499 >
2024-04-02 03:43:59 +09:00
He Junyan
e023546162
va: encoder: Fix the unit of bitrate in debug log message
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6483 >
2024-04-01 15:39:13 +00:00
He Junyan
9c3bd3950e
va: vp9enc: Adjust the coded buffer size to avoid failure
...
Some extreme case such as "videotestsrc pattern=1" can generate pure
white noise videoes, for which encoder may generate too big output
for current coded buffer size. We now consider the qindex and bitrate
to avoid that.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6483 >
2024-04-01 15:39:13 +00:00
He Junyan
2560f4c581
va: vp9enc: Fix the frame size not enough issue for super frame
...
The current code forgets to add the current last frame size into
the total super frame size.
Fixes : #3427
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6483 >
2024-04-01 15:39:13 +00:00
Cheah, Vincent Beng Keat
249a086612
msdk: Fix mjpeg BGRx encode
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6401 >
2024-04-01 11:23:24 +00:00
Seungha Yang
7d0e90b7bc
d3d12: Move core part to gst-libs
...
Move buffer pool, converter, and device abstraction layer to
public library
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6494 >
2024-04-01 10:37:50 +00:00
Seungha Yang
7829315305
d3d12memory: Define new D3D12 map flags
...
Define GST_MAP_READ_D3D12 and GST_MAP_READ_D3D12 flags
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6494 >
2024-04-01 10:37:50 +00:00
Seungha Yang
abeccdd6bc
d3d12: Make resource getter methods consistent
...
Returns COM pointer directly everywhere
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6494 >
2024-04-01 10:37:49 +00:00
Seungha Yang
706d5402fa
d3d12: Remove device11on12 wrapping layer
...
It was added to avoid symbol conflict between DirectX-header project
and Windows SDK, but symbol conflict does not happen
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6494 >
2024-04-01 10:37:49 +00:00
Seungha Yang
927e249557
d3d12bufferpool: Use d3dx12.h format table
...
The format table in SDK header defines all required information
already.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6494 >
2024-04-01 10:37:49 +00:00
Seungha Yang
0527f27204
d3d12: Add a helper method for device equality check
...
GstD3D12Device object itself is not singltons anymore but
underlying private struct is singltons.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6494 >
2024-04-01 10:37:49 +00:00
Mengkejiergeli Ba
faddaa8ba5
msdkvpp: Set colorimetry for src caps
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6316 >
2024-04-01 02:20:50 +00:00
Mengkejiergeli Ba
72bb59b37c
msdkenc: Set VideoFullRange according to input colorimetry range
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6316 >
2024-04-01 02:20:50 +00:00
Mart Raudsepp
3649f13bb3
meson: Don't confuse voaacenc plugin with bz2 one in meson variable names
...
No actual issue was observed from the previous naming duplicating bz2 one, so
just a correctness tweak.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6496 >
2024-04-01 00:52:16 +03:00
Seungha Yang
f7bdf91ad7
webview2: Add support for javascript injection
...
Allow javascript injection for various custom use cases.
For example, scrollbars and scrolling can be disabled via
gst-launch-1.0 webview2src location=https://gstreamer.freedesktop.org \
javascript="document.querySelector('body').style.overflow='hidden'" ! ...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6487 >
2024-03-30 16:44:28 +00:00
Seungha Yang
85d422f7c6
webview2: Use IContainerVisual for offscreen rendering
...
Capturing from hidden HWND fails sometimes for some reason.
Instead of rendering to hidden HWND, render webpage to container
visual and create WGC item from the container visual object.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6487 >
2024-03-30 16:44:28 +00:00
Alexander Slobodeniuk
7b69d1758f
d3d11videosink: disconnect signals before releasing the window
...
It might happen that the key event arrives when the d3d11videosink
is stopping. In case of GstD3D11WindowWin32 it can raise a
navigation event even when the sink is already freed, because the
window object's refcount may reach 0 in the window thread. In
other words sometimes the GstD3D11WindowWin32 lives few ms more
then the GstD3D11VideoSink, because it's freed asynchronously.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6476 >
2024-03-30 16:02:12 +00:00
Ruben Gonzalez
941793c7e4
wpe: avoid crash with G_DEBUG=fatal_criticals and static build
...
No plugin filenames if static build.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6484 >
2024-03-30 07:55:40 +00:00
Hou Qi
1e70dea347
encodebin: Add the parser before timestamper to tosync list
...
Also need to sync the state of the parser before timestamper with
parent.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6481 >
2024-03-29 07:59:06 +00:00
Mengkejiergeli Ba
41c52f5739
msdk: Fix session close failure
...
In the case of multi-channels transcoding, a context with child
sesseion can be parent for others, so we need to check if the
msdkcontext has any child session in the list to avoid session
leaks. Otherwise, we will see the failure of closing a parent
session because one of its child's child session not released.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6259 >
2024-03-29 04:20:47 +00:00
Tim-Philipp Müller
ef5b8dc96a
tests: rtpred: fix out-of-bound writes
...
Don't write more data to the buffer than we allocated
space for.
Fixes #3312
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6474 >
2024-03-28 19:51:47 +00:00
Haihua Hu
37e3a38ba9
v4l2src: need maintain the caps order in caps compare when fixate
...
if the calculated "distance" of caps A and B from the preference are
equal, need to keep the original order instead of swap them
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6451 >
2024-03-28 12:53:01 +00:00
Seungha Yang
d0cfada15e
meson: d3d11: Disable library build if DirectXMath header was not found
...
DirectXMath header library is a hard dependency
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6468 >
2024-03-28 11:44:14 +00:00
Seungha Yang
4888a25bac
webview2: Add Microsoft WebView2 based web browser source
...
Adding webview2src element
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4631 >
2024-03-28 10:49:39 +00:00
Seungha Yang
fd3617bfef
subprojects: Add Microsoft WebView2 SDK
...
Add WebView2 NuGet package downloader and meson file
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4631 >
2024-03-28 10:49:39 +00:00
He Junyan
a170fa4f46
va: {av1, vp9}enc: Use g_free() to free frames
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6466 >
2024-03-28 16:29:50 +08:00
Nicolas Dufresne
cee05343f0
v4l2codecs: alphadecoder: Explicitly pass 64 bit integers as such through varargs
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6452 >
2024-03-27 14:01:45 -04:00
Sebastian Dröge
276329dd5d
alphadecodebin: Explicitly pass 64 bit integers as such through varargs
...
Maybe fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3422
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6452 >
2024-03-27 17:05:33 +00:00
Sebastian Dröge
6d3ed65179
basesrc: Clear submitted buffer lists consistently with buffers
...
And handle the case of a NULL buffer being returned cleanly, which is
valid as long as a buffer list is returned instead. Previously this
would cause an assertion because of calling gst_buffer_unref() with
NULL.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6460 >
2024-03-27 16:16:10 +00:00
Taruntej Kanakamalla
6a67ae1bfa
net/gstptpclock: fix double free of domain data during deinit
...
The attempt to free the domain data is happeing twice during the ptp deinit.
Once while iterating through the list domain_data and second while iterating
through the list domain_clocks, so this is crashing the application
trying to gst_ptp_deinit
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6443 >
2024-03-27 17:54:46 +05:30
Jan Schmidt
351936aeac
rtpmp4adepay: Set duration on outgoing buffers
...
If we can calculate timestamps for buffers, then set the duration
on outgoing buffers based on the number of samples depayloaded.
This can fix the muxing to mp4, where otherwise the last packet
in a muxed file will have 0 duration in the mp4 file.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6447 >
2024-03-27 10:53:38 +00:00
Arnaud Vrac
258e9d2bca
inputselector: fix possible clock leak on shutdown
...
Avoid leaking a GstClock object on shutdown, bail out before taking the ref when
not playing.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6442 >
2024-03-27 10:10:14 +00:00
Piotr Brzeziński
82294fd665
vtdec: Fix caps criticals during negotiation
...
Calling gst_pad_peer_query_caps() without a filter can give us EMPTY caps, whereas all the code below
assumes that's not the case. Replacing query+intersect with a filtered query ensures we always get a subset
of the template caps back.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6429 >
2024-03-27 09:04:28 +00:00
L. E. Segovia
31baaf8906
Android tutorials: add outputs to gitignore
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6419 >
2024-03-27 08:20:27 +00:00
He Junyan
7ac9d26533
va: vp9enc: Correct the flags for registering properties
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6437 >
2024-03-27 10:24:12 +08:00
He Junyan
fa50571d3b
va: av1enc: Correct the flags for registering properties
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6437 >
2024-03-27 10:21:08 +08:00
He Junyan
73c1c1fe7f
va: {vp9, av1}enc: Do not use g_slice_new() to create frames
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6437 >
2024-03-27 10:18:04 +08:00
He Junyan
fa6552b7c5
test: Fix several code style issues in vp9bitwriter test
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6437 >
2024-03-27 10:17:51 +08:00
He Junyan
2688e28438
vp9bitwriter: Fix several hotdoc related format issues
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6437 >
2024-03-27 10:17:45 +08:00
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
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
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
Edward Hervey
8438c3f567
hlsdemux2: Improve detection of playlist updates
...
In the case we are not updating an existing playlist, we only want to reset the
download error count if the URI we are downloading was not the previous one we
were trying to load
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6392 >
2024-03-19 13:25:41 +00:00
Seungha Yang
b417c62940
d3d12device: Set debugging friendly object name
...
Build object name with DXGI adapter index
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6395 >
2024-03-19 12:03:55 +00:00
Seungha Yang
6de5eab1e4
d3d12: Suppress expected leak reports
...
Such leaks are expected and intended ones
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6395 >
2024-03-19 12:03:55 +00:00
Seungha Yang
a1c8fc6163
d3d12device: Keep device object permanently
...
Because ID3D12Device objects are singletons per adapter,
GstD3D12Device was following the API design, that is, keep track
of global GstD3D12Device objects and reuses it.
That means ID3D12Device object can be released at the time
when GstD3D12Device is destroyed.
But exetrnal APIs such as NVENC does not seem to be happy
with the released ID3D12Device, that could be a driver bug though.
Let's hold already opened ID3D12Device permanently without releasing
it for now.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6395 >
2024-03-19 12:03:55 +00:00
Seungha Yang
17d6c7350c
d3d12commandqueue: Add drain method
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6395 >
2024-03-19 12:03:55 +00:00
Seungha Yang
393fb4733c
d3d12: Use native device handle if possible
...
Various abstraction objects such as command queue/list/allocator
can be constructed without GstD3D12Device
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6395 >
2024-03-19 12:03:55 +00:00
Seungha Yang
331522210f
d3d12commandqueue: Allow empty command list
...
Just increase fence value and signal the queue in that case
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6395 >
2024-03-19 12:03:54 +00:00
Seungha Yang
3e912a2214
examples: d3d11: Add inter-device synchronization example
...
Adding an example to demonstrate resource sharing between
D3D11 device and GPU synchronization
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6303 >
2024-03-19 10:55:19 +00:00
Edward Hervey
42e24c32e5
uridecodebin3: Don't hold lock when posting messages or signals
...
There's a very good chance that the receiver might react on those synchronously
and call back into uridecodebin3 (ex: for setting the next URI).
Make sure we release the lock if we need to do that.
Fixes #3400
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6402 >
2024-03-19 09:34:18 +01:00
Ruijing Dong
bc858976db
va: enc : checking surface alignment attribute
...
Apply surface alignment attribute when availalbe,
also fix frame cropping issue for va h265 encoder.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6282 >
2024-03-18 16:34:42 +00:00
L. E. Segovia
1f119b2035
soundtouch: Fix build failure with Apple Clang caused by missing cpp_std
...
Apple Clang sets C++98 by default. I'm applying C++14 to account for Meson's
lack of support/fallback for `cpp_std=c++11`.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6374 >
2024-03-18 14:28:38 +00:00
Edward Hervey
c1ac015325
uridecodebin3: Handle potential double redirection errors
...
Some elements (like qtdemux) might post a redirection error message twice. We
only want to handle it once.
Fixes #3390
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6389 >
2024-03-18 13:30:24 +00:00
Mark Nauwelaerts
324563b158
dvdspu: avoid null dereference
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6386 >
2024-03-18 09:49:13 +00:00
Philippe Normand
76d1bd05b2
play: Fix a critical warning in error callback
...
`on_error()` can be called with a NULL details structure, so in that situation
the `gst_structure_copy()` would raise a critical warning. Create an empty
structure instead of attempting to copy a NULL one.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6385 >
2024-03-17 11:18:37 +00:00
Seungha Yang
8acf844fed
d3d12: Fix SDK debug layer activation
...
Debug layer must be enabled before creating device. Otherwise
already opened devices before the activation will be removed
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6382 >
2024-03-16 21:25:38 +09:00
Piotr Brzeziński
2ec7f9f9b3
avaudenc: Add simple 16 channel encoding test
...
Used to be crashing because of a double-free introduced years ago and never really noticed, so let's add a test to
make sure it doesn't happen again.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6373 >
2024-03-15 12:30:04 +00:00
Edward Hervey
b1f4dcb068
decodebin3: Post error messages if there are no streams to output
...
This could happen because:
* No streams were selected
* Or we end up with no stream selected
Also post a warning message if we are missing plugins but there are other
streams to output
Fixes #3360
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6323 >
2024-03-14 18:15:33 +00:00
Edward Hervey
11b1f70aea
decodebin3: Remove failing stream from active selection also
...
It gets added in get_output_slot()
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6323 >
2024-03-14 18:15:33 +00:00
Robert Mader
5189e8b956
v4l2codecs: decoders: Add DMA_DRM caps support
...
In order to simplify caps negotiations for clients and, notably, be more
compatible with va* decoders.
Crucially this allows clients to know ahead of time whether buffers will
actually be DMABufs.
Similar to GstVaBaseDec we only announce system memory caps if the peer
has ANY caps. Further more, and again like va decoders, we fail in
`decide_allocation()` if DMA_DRM caps are used without VideoMeta.
Apart from buggy peers this can happen e.g. when a peer with ANY caps
is used in combination with caps filters.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5890 >
2024-03-14 17:32:13 +00:00
Robert Mader
513d0d8cbb
v4l2codecs: decoders: Introduce and use set_output_state helper class
...
Allowing us to avoid some code duplication. This will become more
important with upcoming changes to caps generation.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5890 >
2024-03-14 17:32:13 +00:00
Robert Mader
a95acbcc11
v4l2codecs: decoder: Clean up select_src_format()
...
Most importantly rely on video info helpers instead of manual parsing
of caps, which will allow us to use additional helpers in the future.
While on it, tighen the check for supported formats - failing that
indicates a bug in caps negotiation - and make some style changes.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5890 >
2024-03-14 17:32:13 +00:00
Robert Mader
73b69d8ca0
v4l2codecs: decoder: Generalize size enumeration caps
...
By reducing the generated caps to the minimal number of fields and
using intersections instead of merges. This will allow us to reuse the
result in the future.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5890 >
2024-03-14 17:32:13 +00:00
Robert Mader
65896dab75
v4l2codecs: decoders: Use src template for negotiation filter
...
This ensures we don't create filter caps that are not supported by the
individual codec implementations, as well as that the resulting caps
have the required fields so they can be turned into a GstVideoFormat.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5890 >
2024-03-14 17:32:13 +00:00
Piotr Brzeziński
55136c30c4
avaudenc: Avoid double-freeing frame's extended data
...
This occured when attempting to encode 16 channel audio, would crash on the first buffer.
We only need to store ext_data, old ext_data_array (frame->extended_data) is already freed by `av_frame_unref`.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6359 >
2024-03-14 16:35:21 +00:00
Piotr Brzeziński
a53ea3c61c
avcodecmap: Increase max AAC channels to 16
...
This is the maximum amount supported by aacenc. 8-channel output fully works.
16-channel also encodes fine, but codec-utils isn't able to parse its channel config,
so output level will not be shown in caps. For that to work, GASpecificConfig parsing
needs to be implemented. It's not a critical issue and can be worked on at a later date.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6359 >
2024-03-14 16:35:21 +00:00
Seungha Yang
7aff9c8600
asio: Fix {input,output}-channels property handling
...
Fixing regression introduced by the commit 06dc931b52
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6370 >
2024-03-14 21:01:40 +09:00
Sebastian Dröge
6c3d09e279
ptp: Initialize expected DELAY_REQ seqnum to an invalid value
...
This allows distinguishing pending syncs that didn't have a DELAY_REQ
sent from ones that did but used a seqnum of 0, like the very first one.
Specifically, if the first one or more syncs are still pending and we
send the first DELAY_REQ for a later pending sync, then the DELAY_RESP
would've been wrongly associated to the very first pending sync because
of the seqnum.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3383
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6361 >
2024-03-13 22:24:56 +00:00
Seungha Yang
1d8138fd18
d3d11device: Fix adapter LUID comparison in wrapped device mode
...
Fix integer type mismatching
Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3382
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6358 >
2024-03-13 20:18:29 +00:00
Alexander Slobodeniuk
650534c940
rtspsrc: remove 'deprecated' flag from the 'push-backchannel-sample' signal
...
It seems that it was added by accident when copying from push-backchannel-buffer
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6355 >
2024-03-13 19:32:46 +00:00
Thomas Klausner
4632c623bf
shmallocator: fix build on Illumos
...
Closes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3370
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6321 >
2024-03-13 18:48:27 +00:00