Hou Qi
749987be2b
v4l2: pool: Send drop frame signal after dqbuf success
...
This is a regression introduced by https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5479
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4424
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8969 >
2025-05-20 19:20:17 +00:00
Thibault Saunier
5658683881
imagefreeze: Reset 'flushing' state when receiving FLUSH_STOP
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9015 >
2025-05-20 16:47:09 +00:00
Thibault Saunier
5fc7340a70
imagefreeze: Set seqnum from segment too
...
This is the right behavior, setting from seeks is also OK but we should take the seqnums from segment into account too
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9015 >
2025-05-20 16:47:09 +00:00
Olivier Crête
9e3d251c23
tflite: Also look for C symbols in libtensorflow-lite
...
For some builds, there isn't a separate C library such as
some Yocto builds of tflite.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8523 >
2025-05-20 16:05:51 +00:00
Olivier Crête
25cf5262dd
tflite: Make VSI header build in C code
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8523 >
2025-05-20 16:05:51 +00:00
Olivier Crête
c941ded4ba
tflite: Add Coral EdgeTPU inference element
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8523 >
2025-05-20 16:05:51 +00:00
Denis Shimizu
05782229ee
tflite: Add TensorFlow Lite element
...
A new element wrapping the LiteRT (aka TensorFlow Lite) inference engine.
It currently supports only CPU.
Co-authored-by: Daniel Morin <daniel.morin@collabora.com>
Co-authored-by: Denis Shimizu <denis.shimizu@collabora.com>
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8523 >
2025-05-20 16:05:51 +00:00
Olivier Crête
5c188d90c0
tensor: Add helper function to stringify a tensor data type
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8523 >
2025-05-20 16:05:51 +00:00
Seungha Yang
ba05421ab2
baseparse: Add disable-clip property
...
Adding a property to allow pushing buffers that are out of segment,
and do not drop out of segment buffers by default
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8773 >
2025-05-20 12:17:22 +00:00
Seungha Yang
1688d2c410
d3d12: Fix gstreamer-full subproject build with gcc
...
Since default option "cpp_std=c++14" is not applied automatically
in case that gstreamer is used as a meson subproject, specify
cpp_std option explicitly
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9030 >
2025-05-20 11:12:20 +00:00
Nirbheek Chauhan
ceb1e6cd33
webrtc examples: Fix building with make
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9023 >
2025-05-19 19:42:23 +00:00
Nirbheek Chauhan
6c9f9761ad
webrtc examples: Fix running against self-signed certs
...
This broke with the initial port to libsoup 3.0
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9023 >
2025-05-19 19:42:23 +00:00
Doug Nazar
08143e9967
validate: baseclasses: Reset Test timeouts between iterations
...
Several options (valgrind, gdb, rr) increase the timeout each time
the tests start. Eventually reaching inf and causing a conversion
to integer to throw an exception.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9019 >
2025-05-19 17:09:43 +00:00
Adrian Perez de Castro
3968dd92a5
alsa: Support enumerating virtual PCM sinks
...
Add support to the ALSA device provider to enumerate PCM outputs that do
not correspond to a physical sound device i.e. they are "virtual" sinks,
like the plug, dmix, or softvol PCM outputs that can be setup in the ALSA
configuration files.
The main use-case for this is allowing usage of GstDeviceMonitor in setups
where there is no audio server and have custom ALSA audio configurations.
As those are likely to be uncommon, the feature is opt-in: a list of device
names and wildcard patterns separated by semicolons must be assigned to the
GST_ALSA_PCM_ALLOW environment variable before such PCM outputs will be
enumerated by the ALSA device provider. This allows either scanning all
PCM outputs, listing individual outputs, providing simple patterns with
'*' wildcards (which match only at the start or end of the name), or
a combination of them:
GST_ALSA_PCM_ALLOW=1 # Enable listing PCM outputs.
GST_ALSA_PCM_ALLOW='*' # Same, using a wildcard.
GST_ALSA_PCM_ALLOW='out_1;out_1' # Exact listing.
GST_ALSA_PCM_ALLOW='out_*' # Using a wildcard.
GST_ALSA_PCM_ALLOW='out_*;other_*;line_out' # Multiple items.
The main motivation for this patch is supporting enumeration of PCM outputs
in the WebKit GTK and WPE ports, which use GstDeviceMonitor to determine
which devices may be chosen for sound output. While on desktops typically
PulseAudio or PipeWire are used nowadays, on embedded devices it is often
desirable to avoid them and use custom configurations that perform audio
routing and processing using only ALSA.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8831 >
2025-05-17 00:47:36 +03:00
Doug Nazar
d33107226c
audiovisualizer: Change test to use native endian audio format
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8975 >
2025-05-18 11:03:59 +00:00
Doug Nazar
19a330dba0
audiomixer: Change test to use native endian audio format
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8975 >
2025-05-18 11:03:59 +00:00
Doug Nazar
74f84484a2
videoconvertscale: Use correct variable size for gst_structure_get()
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8975 >
2025-05-18 11:03:59 +00:00
Doug Nazar
46e13bca06
tests: opus: Update channel support and add to meson
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8982 >
2025-05-17 16:51:28 +00:00
Jan Schmidt
6ecf12f019
adaptivedemux: Answer element-level SELECTABLE query
...
Add handling for the selectable query as an element query,
on top of the existing pad query handling. This is useful
for uridecodebin when handling stream collection messages
before any adaptivedemux source pads have been exposed.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9002 >
2025-05-17 11:13:12 +00:00
Jan Schmidt
f6efbbfa2f
adaptivedemux: Copy collection inside lock
...
When posting the collection message, don't access the shared
collection after releasing the manifest and track locks.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9002 >
2025-05-17 11:13:12 +00:00
Sebastian Dröge
6877ca4d62
pipeline: Store the actual latency even if no static latency was configured
...
Previously the latency was only stored if a static latency was configured on the
pipeline, which caused gst_pipeline_get_configured_latency() to always return
GST_CLOCK_TIME_NONE in that case.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4429
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8972 >
2025-05-17 08:58:58 +00:00
Sebastian Dröge
f3b077ff9a
validate: Update h265parse expected file for container-provided bitrates
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8929 >
2025-05-17 07:59:46 +00:00
Sebastian Dröge
c6fb458a3e
gst-integration-testsuites: Update medias submodule
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8929 >
2025-05-17 07:59:46 +00:00
Sebastian Dröge
c5520a7cae
qtdemux: Add support for DNxHR
...
Apart from the fourcc it works the same as DNxHD and can be distinguished from
the beginning of each frame header.
ffmpeg uses the same codec ID for DNxHD and DNxHR so we use the same caps with
just an additional, optional profile field for the DNxHR profile.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3066
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8929 >
2025-05-17 07:59:46 +00:00
Sebastian Dröge
9fa7f8b001
qtdemux: Parse content light level and mastering display info if available
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8929 >
2025-05-17 07:59:46 +00:00
Sebastian Dröge
8a30c6b13b
qtdemux: Use already parsed codec data boxes instead of parsing a second time
...
And parse common boxes in a central place.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8929 >
2025-05-17 07:59:46 +00:00
Sebastian Dröge
cba7ce1228
qtdemux: Add missing codec sample entry fourccs to qtdemux_parse_node()
...
This allows parsing the various common sample entry boxes like btrt, colr, pasp,
chan, chnl, etc. for extending the caps with additional information.
Also unify some cases, which as a side effect makes them more correct because
many were not checking for different versions of the boxes and the corresponding
different offsets.
See https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4403
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8929 >
2025-05-17 07:59:46 +00:00
Sebastian Dröge
118e66f59d
qtdemux: Take Theora headers directly out of the already parsed nodes
...
Instead of parsing them yet another time.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8929 >
2025-05-17 07:59:46 +00:00
Sebastian Dröge
137044195d
qtdemux: Don't parse fiel box a second time for JPEG-2000
...
It was already parsed above in general for all video codecs. Just put the number
of fields into the JPEG-2000 in the specific field.
As a side effect this also actually checks if enough data is available.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8929 >
2025-05-17 07:59:46 +00:00
Sebastian Dröge
45443603f8
qtdemux: Remove second parsing of fiel box for JPEG
...
Exactly the same is already done some hundred lines above for all video codecs.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8929 >
2025-05-17 07:59:46 +00:00
Sebastian Dröge
8687ef453c
qtdemux: Simplify parsing of SVQ3/VP31 boxes
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8929 >
2025-05-17 07:59:46 +00:00
Sebastian Dröge
98d8bb9a12
qtdemux: Parse codec data for QDM2/QDMC correctly
...
First find the wave box then include its whole content instead of just including
everything from a random offset onwards.
Also actually do that for QDMC instead of leaving commented code.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8929 >
2025-05-17 07:59:46 +00:00
Sebastian Dröge
cd6d2f16a6
qtdemux: Use already parsed damr box for AMR NB/WB streams
...
Instead of parsing it again and possibly getting the offset for reading
it wrong.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8929 >
2025-05-17 07:59:46 +00:00
Sebastian Dröge
18db5538a0
qtdemux: Don't parse audio sample entry a second time in mp4a fallback case
...
These values were all passed a few hundred lines above already and can directly
be re-used here. The offset for the sample rate was also wrong.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8929 >
2025-05-17 07:59:46 +00:00
Sebastian Dröge
d98df47e53
qtdemux: Add qtdemux_tree_get_child_by_index_full() helper function
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8929 >
2025-05-17 07:59:46 +00:00
Sebastian Dröge
2b18846e39
qtdemux: Fix endianness/alignment problems with parsing omwa sample description entries
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8929 >
2025-05-17 07:59:46 +00:00
Sebastian Dröge
f575fe763c
qtdemux: Handle stsd entry offset correctly for audio in qtdemux_parse_node()
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8929 >
2025-05-17 07:59:46 +00:00
Sebastian Dröge
ae4d505fe0
qtdemux: Pass stsd entry node to caps creation functions
...
Also fix lpcm to only read its additional fields from sound sample description v2.
Previously it would read random data if a different stsd entry was used.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8929 >
2025-05-17 07:59:46 +00:00
Sebastian Dröge
3ecb07c674
qtdemux: Don't parse invalid data from ISOBMFF AudioSampleEntryV1
...
The additional fields only exist in sound sample description v1, which
is only defined for MOV.
ISOBMFF has AudioSampleEntryV1 but it has the exact same layout as
AudioSampleEntry.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8929 >
2025-05-17 07:59:46 +00:00
Sebastian Dröge
fec61cc546
qtdemux: Don't retrieve video stsd entry multiple times
...
And remove various duplicated checks.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8929 >
2025-05-17 07:59:46 +00:00
Sebastian Dröge
af5cce9968
qtdemux: Parse uncompressed video uncC / cmpd boxes from already parsed stsd entry
...
Also simplifies code and error checking considerably.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8929 >
2025-05-17 07:59:46 +00:00
Sebastian Dröge
a6e58f7331
qtdemux: Don't retrieve enca/encv boxes a second time, wrongly
...
They need to be retrieved by index and they were already correctly retrieved
just above so let's just use that.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8929 >
2025-05-17 07:59:46 +00:00
Sebastian Dröge
bb50741b73
qtdemux: Use already parsed stsd entries instead of parsing them again
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8929 >
2025-05-17 07:59:46 +00:00
Sebastian Dröge
cf2b1909ec
qtdemux: Fix typo in debug message
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8929 >
2025-05-17 07:59:46 +00:00
Matthew Waters
ea577da12e
examples/webrtc/signalling: fix compatibility with python 3.13
...
Fixes:
Traceback (most recent call last):
File "/usr/lib64/python3.13/site-packages/websockets/asyncio/server.py", line 373, in conn_handler
await self.handler(connection)
~~~~~~~~~~~~^^^^^^^^^^^^
TypeError: WebRTCSimpleServer.run.<locals>.handler() missing 1 required positional argument: 'path'
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8992 >
2025-05-16 18:33:09 +00:00
Sebastian Dröge
08c56f3e2d
element: ref-sink the correct pad template when replacing an existing one
...
templ is the new one that is being stored and that needs to be ref-sinked,
padtempl is the old one that just needs to be unreffed.
Fixes leaking the old template, and also makes sure that the new template is not
floating which can cause use-after-frees with bindings as they might wrongly
take ownership of a still floating template.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8988 >
2025-05-16 17:47:47 +00:00
Adrian Perez de Castro
6432f6a1f2
alsa: Avoid infinite loop in DSD rate detection
...
Stop testing DSD rates in gst_alsa_detect_dsd_rates() if the rate becomes zero
or negative. This avoids an infinite loop if gst_alsa_probe_supported_formats()
is used on a PCM sink defined like the following in the ALSA configuration file:
pcm.buggy {
type plug
slave.pcm "buggy_volume"
hint.description "Causes an infinite loop in GStreamer"
}
pcm.buggy_volume {
type softvol
slave.pcm "buggy_dmix"
control.name "buggy_volume"
}
pcm.buggy_dmix {
type dmix
ipc_key 12345
slave {
pcm "hw:0,0"
period_size 1024
buffer_size 4096
}
}
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8985 >
2025-05-16 17:09:05 +00:00
Robert Mader
c03a5b0c1b
glupload: Only add texture-target field to GL caps
...
So far we simply ignored it for MEMORY_DMABUF passthrough caps
without known negative cosequences, but with upcoming more complicated
caps negotiations it's becoming an issue, thus fix it.
Fixes: 7e71d4f753 ("gl: upload: Add DMA_DRM passthrough upload")
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8964 >
2025-05-16 13:40:43 +00:00
Jordan Petridis
818feea0b5
bad: Add more variants for an srt suppression
...
Followup to 087cb87d27e268d55a8d152690870ac4a2b3e166
These are some more variants of the same issue we
already suppressed in the commit above.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8979 >
2025-05-15 15:21:20 +00:00
Jordan Petridis
17d271057a
core: suppress glib_init_ctor as well
...
We already suppress gobject_init_ctor and this
is the same.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8979 >
2025-05-15 15:21:20 +00:00