Sebastian Dröge
0f5e894931
ci: Update to Rust 1.81
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7458 >
2024-09-05 20:05:38 +00:00
Thibault Saunier
9f410a8714
validate: scenario: Handle the fact that structs field names don't have a static lifetime anymore
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7453 >
2024-09-05 18:58:24 +00:00
Sebastian Dröge
ec11c337c3
validate: Properly use errors = 'replace'
for handling invalid utf8 characters
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7453 >
2024-09-05 18:58:24 +00:00
Seungha Yang
63dc54906b
nvencoder: Prefer byte-stream format over packetized
...
Since old encoder implementation supported only byte-stream,
prefers byte-stream format for backward compatibility.
Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3787
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7457 >
2024-09-06 01:10:14 +09:00
Michael Scherle
b1cda4439b
va: restrict interpolation & scaling property to iHD driver
...
interpolation & scaling is supported for all hardware on
iHD driver. But not supported in mesa driver. see:
<https://github.com/intel/media-driver/issues/1843 >
<https://gitlab.freedesktop.org/mesa/mesa/-/issues/11803 >
improvment of:
<https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7301 >
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7443 >
2024-09-05 13:11:37 +00:00
He Junyan
2d10692b34
va: videoformat: Correct NV21's BPP
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6022 >
2024-09-05 09:56:02 +00:00
Víctor Manuel Jáquez Leal
85341d6dad
vajpegenc: set interlace-mode, colorspace and sampling in output caps
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6022 >
2024-09-05 09:56:02 +00:00
Víctor Manuel Jáquez Leal
8fd9b9b237
vasurfaceimage: log surface status string
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6022 >
2024-09-05 09:56:02 +00:00
He Junyan
4550671b6f
va: Implement the vajpegenc plugin
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6022 >
2024-09-05 09:56:02 +00:00
He Junyan
f7e434028d
va: baseenc: Check the bitrate property before get its value
...
Not all the encoders have the bitrate property, such as the jpeg enc.
We need to check that property before getting its value, or the glib
will print warnings.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6022 >
2024-09-05 09:56:02 +00:00
He Junyan
9327458cfb
tests: Add the jpeg bit code writer test case
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6022 >
2024-09-05 09:56:02 +00:00
He Junyan
281679a54a
codecparsers: Implement the jpeg bit code writer
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6022 >
2024-09-05 09:56:02 +00:00
Edward Hervey
81e7bde67c
check: Disable failing test
...
Test hasn't been properly fixed for several years with modern libsoup, and it
only for the legacy adaptive demuxer.
Fixes #3783
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7454 >
2024-09-05 10:09:58 +02:00
Xavier Claessens
ecb685e2ca
meson: do not invoke pkgconfig directly in gst-python
...
That bypass env setup by Meson and is dead code anyway because
pluginsdirs is later overriden by the proper gst_dep.get_variable()
solution.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7445 >
2024-09-05 03:00:28 +00:00
Matthew Waters
0df80a1bec
webrtcbin: enable forward-unknown-ssrc on rtpfunnel
...
See also: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7405
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7409 >
2024-09-04 23:15:39 +00:00
Carlos Bentzen
505291ab68
README: update gst-full-libraries to correct names
...
The names in the README are out-of-date since 4210ac43ec
.
Also use `meson setup` rather than the implicit setup command which is
now deprecated.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7447 >
2024-09-04 21:04:26 +00:00
Seungha Yang
9363a0af42
dwrite: Allow unlimited number of in-flight d3d12 commands
...
... so that it can be controlled by global direct command queue.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7444 >
2024-09-04 12:56:43 +00:00
Seungha Yang
d0505fba55
d3d12: Add async-depth property
...
Adding a property to control the number of in-flight GPU commands
(default is unlimited). Note that actual maximum number is defined
in d3d12device's direct command queue object which is 32 now,
thus total number of scheduled GPU commands cannot exceed 32.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7444 >
2024-09-04 12:56:43 +00:00
Thibault Saunier
3506f5fb07
osxaudio: Avoid dangling pointer on shutdown
...
When tearing down the elements we were still referring to the ringbuffer unique_id
as our property while it was already freed, leading to potential segfaults when
accessing the property.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7426 >
2024-09-04 10:37:37 +00:00
Matthew Waters
4802ad8eb6
rtpfunnel: also fallback to pad default handling for unknown ssrcs
...
If two (or more) rtpfunnel elements are cascaded, then only one will
realistically have information on the particular ssrc that is in use for a
particular input stream. As such, any key unit requests may never reach the
corresponding encoder.
This has been discovered by combining simulcast and BUNDLE with webrtcbin.
simulcast uses one rtpfunnel, and BUNDLE uses another rtpfunnel.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7405 >
2024-09-04 08:15:38 +00:00
Piotr Brzeziński
e9ab880e66
vtenc: Use new release_frame/drop_frame encoder API
...
Replaces usage of gst_video_codec_frame_unref everywhere.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7173 >
2024-09-04 06:46:07 +00:00
Piotr Brzeziński
00eb9ad62e
vtenc: Restart encoding session when certain errors are detected
...
Sometimes under certain loads, VT can error out with kVTVideoEncoderMalfunctionErr or kVTVideoEncoderNotAvailableNowErr.
These have been reported to happen more often than usual if CopyProperty/SetProperty() is used close to the encode call.
Both can be worked around by restarting the encoding session.
These errors can be returned either directly from VTCompressionSessionEncodeFrame() or later in the encoding callback.
This patch handles both scenarios the same way - a session restart is be attempted on the next encode_frame() call.
If the error is returned immediately by the encode call, it's possible that some correct frames will still be given to
the output callback, but for simplicity (+ because I wasn't able to verify this scenario) let's just discard those.
In addition, this commit also simplifies the beach/drop logic in enqueue_buffer.
Related bug reports in other projects:
http://www.openradar.me/45889262
https://github.com/aws/amazon-chime-sdk-ios/issues/170#issuecomment-741908622
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7173 >
2024-09-04 06:46:07 +00:00
Chao Guo
c35687fcbf
glimagesink: resize viewport when video size changed in caps
...
When re-negotiation happends and caps is changed, resize the
viewport to the corresponding video size in changed caps.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7341 >
2024-09-04 02:52:56 +00:00
Hou Qi
c3f86005de
gstplay: check whether stream is seekable before seeking when state change
...
If state is changing from playing to paused, and rate is reset to 1
which causes seek position is valid, current code will do seek for
streams that are not seekable. So need to check whether stream is
seekable before seeking.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7441 >
2024-09-03 15:42:03 +00:00
Xavier Claessens
9a87ce418b
gl: Fix configure error when libdrm is a subproject
...
When libdrm is a subproject it cannot be used in a configure time check:
ERROR: Dependencies must be external dependencies
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7380 >
2024-09-03 13:13:04 +00:00
Tim-Philipp Müller
5e90f3eff7
gst-editing-services: use g_sort_array() instead of deprecated g_qsort_with_data()
...
Fixes compiler warnings with the latest GLib versions.
See https://gitlab.gnome.org/GNOME/glib/-/merge_requests/4127
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7384 >
2024-09-02 22:31:34 +00:00
Tim-Philipp Müller
59d56bcb3f
gst-plugins-bad: use g_sort_array() instead of deprecated g_qsort_with_data()
...
Fixes compiler warnings with the latest GLib versions.
See https://gitlab.gnome.org/GNOME/glib/-/merge_requests/4127
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7384 >
2024-09-02 22:31:34 +00:00
Tim-Philipp Müller
ec6763b122
gst-plugins-good: use g_sort_array() instead of deprecated g_qsort_with_data()
...
Fixes compiler warnings with the latest GLib versions.
See https://gitlab.gnome.org/GNOME/glib/-/merge_requests/4127
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7384 >
2024-09-02 22:31:34 +00:00
Tim-Philipp Müller
3beb06952e
gst-plugins-base: use g_sort_array() instead of deprecated g_qsort_with_data()
...
Fixes compiler warnings with the latest GLib versions.
See https://gitlab.gnome.org/GNOME/glib/-/merge_requests/4127
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7384 >
2024-09-02 22:31:34 +00:00
Tim-Philipp Müller
6031f9ece1
gstreamer: use g_sort_array() instead of deprecated g_qsort_with_data()
...
Fixes compiler warnings with the latest GLib versions.
See https://gitlab.gnome.org/GNOME/glib/-/merge_requests/4127
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7384 >
2024-09-02 22:31:34 +00:00
Nirbheek Chauhan
cb89358d74
ci: Don't build the gtk subproject unless the changes are relevant
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7439 >
2024-09-03 01:30:57 +05:30
Sebastian Dröge
9638692761
ges-structured-interface: Fix memory leak of invalid fields GList
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7437 >
2024-09-02 16:42:55 +00:00
Oskar Fiedot
327df9766d
analytics: Change pointers in getters to const
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7403 >
2024-09-02 12:27:37 +00:00
Matthew Waters
6218b153fd
tests/examples/qmlglveray.py: fix formatting for commit lint
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7244 >
2024-09-02 11:19:34 +00:00
Matthew Waters
be1841904b
tests/examples/qmloverlay.py: add license and copyright headers
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7244 >
2024-09-02 11:19:33 +00:00
Matthew Waters
493b657ff8
tests/examples/qml-multisink: add license and copyright headers
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7244 >
2024-09-02 11:19:33 +00:00
Matthew Waters
73624fa5c9
tests/examples/qmlglsrc: add copytright and licenses headers
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7244 >
2024-09-02 11:19:33 +00:00
Matthew Waters
9c99dfc34d
tests/examples/qmlglsink/overlay: add copyright and licenses headers
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7244 >
2024-09-02 11:19:33 +00:00
Matthew Waters
55648d9b8d
tests/examples/qml6: Add license and copyright information
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7244 >
2024-09-02 11:19:33 +00:00
Sebastian Dröge
55994477a7
bus: Switch from GstAtomicQueue to GstVecDeque
...
All accesses to it were protected either by a mutex already, or at least
used yet another mutex for gst_poll_read_control() / gst_poll_write_control().
The usage of GstPoll has to stay for backwards compatibility as it is
used to manage the (public) fd that can be used to wait for the bus to
be ready, but this switch at least simplifies the implementation a bit
and results in fewer atomic operations.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6684 >
2024-09-02 09:26:23 +00:00
Sebastian Dröge
8e589eec08
bufferpool: Switch from GstAtomicQueue to GstVecDeque and a mutex/cond
...
While the atomic queue itself is lock-free, all its usage had to be
synchronized externally via a GstPoll and gst_poll_read_control() /
gst_poll_write_control(). Both functions were always taking a mutex
internally since cd06aea1
, so the implementation was just very
complicated but not lock-free at all.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2714
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6684 >
2024-09-02 09:26:23 +00:00
Sebastian Dröge
3c7ddf902a
structure: Remove quadratic behaviour from gst_structure_fixate()
...
It was iterating over each field and after fixating its value was again
iterating over every field to find where to store the value.
Instead directly overwrite the value after validating it.
Also actually check that the structure is writable before modifying its fields
by using gst_structure_map_in_place() instead of gst_structure_fixate().
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7420 >
2024-09-02 07:32:16 +00:00
Philippe Normand
89f335f173
webrtcbin: Prevent crash when attempting to set answer on invalid SDP
...
If the pending remote description has an invalid BUNDLE group _parse_bundle()
triggers early return from _create_answer_task(), before ret has been
initialized, so it needs to be checked before attempting to call
gst_sdp_message_copy().
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7423 >
2024-09-02 04:00:57 +00:00
Sebastian Dröge
8b0ae3ba87
clock: Fix calculation for number of bits needed to store a 64 bit value
...
It was using log2(n) but what actually is needed is log2(n) + 1. Also add a
fast-path that uses __builtin_clzll() on gcc/clang.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7406 >
2024-08-29 10:55:35 +00:00
Sebastian Dröge
41f3fab3d4
clock: Fix unchecked overflows in linear regression code
...
The initial calculation for the precision shift was wrong and would allow for
overflows during the calculations which were not detected and lead to wrong
results.
Also add a test for a case where overflows where previously not detected and
caused a completely wrong result.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7406 >
2024-08-29 10:55:35 +00:00
Daniel Morin
4106ad4ae6
doc: correct delimiters documentation
...
- "<>" are delimiters for GST_TYPE_ARRAY and "{}" are delimiters for
GST_TYPE_LIST.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7419 >
2024-08-29 00:00:43 +00:00
Edward Hervey
2dd400b885
ci: Rebuild image for new hotdoc release
...
Includes fixes for upstream documentation changes
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7416 >
2024-08-28 21:17:26 +03:00
Edward Hervey
087cb87d27
bad: Add suppression for libsrt issues
...
This is not code we control
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7415 >
2024-08-28 06:54:02 +00:00
Edward Hervey
38271fc9e4
check: Fix leak in lc3 test
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7415 >
2024-08-28 06:54:02 +00:00
Edward Hervey
8da2ea6fa1
gstreamer: Make dlopen leak suppression more generic
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7415 >
2024-08-28 06:54:02 +00:00