Randy Li (ayaka)
6f5bbd0276
v4l2bufferpool: actually queue back the empty buffer flagged LAST
...
The buffer would fail at gst_v4l2_is_buffer_valid() before,
since it has a reference on it, it is not writable.
Fixes: 105d232fde
("v4l2bufferpool: queue back the buffer flagged LAST but empty")
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7479 >
2024-09-09 20:20:07 +00:00
Diego Nieto
dcfc66a1ac
fakevideodec: fix minimum allocation pool size
...
Before it was setting the minimum between 2 and the minimum gst_query_parse_nth_allocation_pool(). So, always
giving 2 or less.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7465 >
2024-09-09 19:37:45 +00:00
Michael Tretter
76d753f1c5
uvcsink: set cur_caps to upstream selected caps
...
If the UVC gadget announces multiple formats in the descriptors the uvcsink
doesn't select the actual format but let's the UVC hosts select the format.
If the GStreamer pipeline is started before a UVC host selected the format,
upstream decides on a format until the UVC host has decided. In this case, the
current format needs to be set based on the caps from the caps event to be able
to detect if the format selection by the UVC host requires a format change on
the GStreamer pipeline.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7473 >
2024-09-09 18:57:35 +00:00
Michael Tretter
f82a716009
uvcsink: skip comparison with prev_caps if they are not set
...
The uvcsink may be put into the READY state to start listening for UVC requests.
Therefore, the UVC host may set a streaming format before the GStreamer pipeline
is started and the uvcsink received a caps event. In this case, prev_caps will
be NULL.
If the EVENT_CAPS has not been received, skip the check if the format needs to
be changed, since the sink will be started with the format selected by the UVC
host, anyway.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7473 >
2024-09-09 18:57:35 +00:00
Kevin Wang
ab0a985c46
ffmpeg: Add valid values of AVDiscard
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7364 >
2024-09-09 13:42:57 -04:00
Edward Hervey
2024287a39
mpegtsmux: Cleanup TsMuxStream fields
...
Instead of using plenty of case-specific booleans:
* Store type as GstStreamType
* Store unique stream type
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7476 >
2024-09-09 14:51:13 +00:00
Jordan Petridis
595983df9f
ci: Set SUBPROJECTS_CACHE_DIR variable
...
It's used in the build script and it fails if it's undefined.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7428 >
2024-09-09 13:51:15 +00:00
Hou Qi
b1fd616514
v4l2videoenc: unref buffer pool after usage properly
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7435 >
2024-09-09 12:46:18 +00:00
Tim-Philipp Müller
6394113b26
subprojects: update openh264 to 2.4.1
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7468 >
2024-09-08 15:31:27 +00:00
Edward Hervey
2f2d1c3160
gstplay: Name the different bus
...
Makes it clearer when reading logs which one is which
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7462 >
2024-09-08 12:56:14 +00:00
Thibault Saunier
a571753089
validate: pad-monitor: Fix pad function data properly
...
Until now we were overriding pad functions forgetting about the function
data (that are set using the _full variant of the functions setters), meaning
that the data was lost and any user of that feature would get empty data when
the wrapped function were called.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7466 >
2024-09-08 12:02:25 +00:00
Sebastian Dröge
e5133033fa
clock: Use external / internal as term for the two clock bases everywhere
...
It was confusing that some functions were using master for the external time and
slave for the internal time. This is not consistently using external / internal
when talking about concrete clock times.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7456 >
2024-09-08 11:42:38 +01:00
Sebastian Dröge
f463d4c3c1
clock: Use nullable
/ optional
annotations instead of ambiguous allow-none
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7456 >
2024-09-08 09:54:56 +00:00
Thibault Saunier
97e5749bfc
ges: discoverer-manager: Fix race leading to assertion when stopping
...
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3757
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7421 >
2024-09-07 16:55:56 +00:00
Sebastian Dröge
2d989058a7
ci: Update to cargo-c 0.10.4
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7458 >
2024-09-05 20:05:38 +00:00
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