Seungha Yang
fa477a4a25
amfcodec: Add plugin status message
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6167 >
2024-02-22 23:30:29 +00:00
Víctor Manuel Jáquez Leal
301e281777
vabasedec: refactor format and capsfeature selection
...
This is a simplification of the venerable
gst_va_base_dec_get_preferred_format_and_caps_features() function, which
predates since gstreamer-vaapi. It's used to select the format and the
capsfeature to use when setting the output state. It was complex and hard to
follow. This refactor simplifies a lot the algorithm.
The first thing to remove _downstream_has_video_meta() since, most of the time
it will be called before the caps negotiation, and allocation queries make sense
only after caps negotiation. It might work during renegotiation but, in that
case, caps feature change is uncommon. Better a simple and common approach.
Also, for performance, instead of dealing with caps features as strings, GQuarks
are used.
The refactor works like this:
1. If peer pad returns any caps, the returned caps feature is system memory and
looks for a proper format in the allowed caps.
2. The allowed caps are traversed at most 3 times: one per each valid caps
feature. First VAMemory, later DMABuf, and last system memory. The first to
match in allowed caps is picked, and the first format matching with the
chroma is picked too.
Notice that, right now, using playbin videoconvert never return any.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6154 >
2024-02-22 20:59:13 +00:00
Jeongki Kim
576dbcbd88
appsrc: clear eos flag on flush stop event
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6186 >
2024-02-22 19:46:50 +00:00
Seungha Yang
781fc4a1b6
avviddec: Fix crash with FFmpeg n6.0
...
FFmpeg version 6.0 has an AV_CODEC_FLAG_COPY_OPAQUE related bug.
See a3bf63c26e
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6184 >
2024-02-22 18:54:45 +00:00
Edward Hervey
03f8968119
urisourcebin: Use atomic lock for detecting shutdown
...
This fixes lock ordering issues
Fixes #3323
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6178 >
2024-02-22 18:15:12 +00:00
Edward Hervey
3ce62be851
subtitleoverlay: Also use "Decoder/Subtitle" elements
...
Elements that "decoded" subtitle formats to raw text were historically
classified as "Parser" and not "Decoder. This is being gradually fixed.
This commit ensures that both classification are allowed
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6153 >
2024-02-22 14:39:54 +00:00
Edward Hervey
c1d33126aa
playbin3: Inform (uri)decodebin3 of the subtitle caps from playsink
...
Subtitles are better handled by overlayers/renderers within playsink. By
informing (uri)decodebin3 of the formats that can be handled we can avoid those
being "decoded" too early.
Fixes #1081
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6153 >
2024-02-22 14:39:54 +00:00
Edward Hervey
479c0c5bb4
parsebin: Use pbutils utils to identify more stream types
...
Handles all cases provided they are identified in the pbutils descriptions
list.
Fixes #1081
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6153 >
2024-02-22 14:39:54 +00:00
Edward Hervey
34a1245905
subparsers: Give proper category to subtitle "decoders"
...
Some subtitle "decoders" had a wrong category of "Parser", which `parsebin`
relies on to identify elements which do not *decode* streams but *parse* them.
This would cause such subtitle decoders to be plugged in within parsebin,
preventing the original stream to be properly used by (more efficient)
downstream decoders or subtitle renderers.
Fixes #1757
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6153 >
2024-02-22 14:39:54 +00:00
Piotr Brzeziński
bf4cf0d9c1
ci: Ensure gtk-sharp uses the same revision in both places
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6182 >
2024-02-22 13:21:07 +00:00
Piotr Brzeziński
2832cc1267
csharp: Change gtk-sharp revision in gstreamer-sharp subproject to match monorepo subproject
...
Fixes build issues when building gstreamer-sharp separately from the monorepo.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6182 >
2024-02-22 13:21:06 +00:00
Mengkejiergeli Ba
fc38459e50
msdk: Fix possible memory leaks
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6161 >
2024-02-22 11:53:06 +00:00
Matthew Waters
697b35fe58
examples/qmlsinnk-multisink: allow running with leaks tracer
...
Include a gst_deinit() after the qml engine has been destroyed.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6160 >
2024-02-22 10:26:39 +00:00
Matthew Waters
f1637a3601
examples/qml: fix some leaks in the multisink example
...
A GstPad was being leaked and possibly the qmlglsink element depending
on if Qt runs the scenegraph thread again when destroying the example
video item.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6160 >
2024-02-22 10:26:39 +00:00
Matthew Waters
392fd00f4c
qml, qml6: Fix leak of QSGMaterial/Geometry (and therefore a possible GstBuffer)
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6160 >
2024-02-22 10:26:31 +00:00
Matthew Waters
2dae3775d9
qml6: fix a leak of the wrapped QSGTextures
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6160 >
2024-02-22 10:24:24 +00:00
Matthew Waters
3e13fc4f88
gl/x11: fix memory leak when retrieiving a foreign context's info
...
The FBConfig's were being leaked.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6160 >
2024-02-22 10:24:24 +00:00
Jochen Henneberg
c6636533d4
ptp-helper: Allow sync to master clock on same host
...
If we drop all messages with the same clock id as ours we will also
drop all messages coming from a PTP clock on our host since both clock
ids are build from the same MAC address.
At least for Linux we do not see our own messages anyway since the
network stack can well distinguish between multicast send from our
socket or from another socket on the same machine. To make sure that
this works for all supported platforms just drop delay requests since
this is the only message that is sent from the GStreamer PTP clock.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6172 >
2024-02-22 07:52:35 +00:00
Nirbheek Chauhan
b5b7064419
gst-python: Print exception if pygobject fails to initialize
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6159 >
2024-02-21 21:47:12 +00:00
Nirbheek Chauhan
768aeb739a
meson: Use cdata.set_quoted() for configuration data
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6159 >
2024-02-21 21:47:12 +00:00
Nirbheek Chauhan
64fdded13a
ges, gst-python: Fix libpython dlopen on macOS
...
First encountered at https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1171#note_2290789
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6159 >
2024-02-21 21:47:12 +00:00
Nirbheek Chauhan
2cc9a181f9
ges, gst-python: Rework libpython loading to be relocatable
...
If we don't specify a path for loading, the runtime linker will search
for the library instead, which will use the usual mechanisms: RPATHs,
LD_LIBRARY_PATH, PATH (on Windows), etc.
Also try harder to load a non-devel libpython using INSTSONAME, if
available.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6159 >
2024-02-21 21:47:12 +00:00
Nirbheek Chauhan
ad8ea38e0a
meson: Use host_system for the host_machine system
...
This is a convention everywhere else in gstreamer.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6159 >
2024-02-21 21:47:12 +00:00
Seungha Yang
911d840288
wasapi: Fix alloc/free function mismatch
...
... and fix leak in wasapi device provider
Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3326
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6169 >
2024-02-21 21:03:32 +00:00
Seungha Yang
06b9864dae
wasapi2: Fix task memory leak
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6169 >
2024-02-21 21:03:32 +00:00
Piotr Brzeziński
57eb69ff89
csharp: Add RTSP server example
...
Port of the test-launch.c example from gst-rtsp-server.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5961 >
2024-02-21 19:00:50 +00:00
Piotr Brzeziński
4e31f2def5
csharp: Add GstRtspServer bindings
...
With a few unnecessary gst_rtsp_stream_transport_* methods manually disabled to avoid compilation errors.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5961 >
2024-02-21 19:00:50 +00:00
Piotrek Brzeziński
2bc9abd60b
csharp: Make nuget targets depend on underlying libraries
...
Without this, build will fail if meson/ninja decides to call nuget before building gstreamer-sharp.dll.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5961 >
2024-02-21 19:00:49 +00:00
ekwange
0cbb396ab9
mse: Add logging init for mediasource sample map
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6033 >
2024-02-21 18:11:25 +00:00
Sebastian Dröge
69e4564c87
rtphdrext-clientaudiolevel: Fix typo in documentation
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6175 >
2024-02-21 17:25:43 +00:00
Arnaud Vrac
9e2e456d9f
adaptivedemux2: fix build with recent meson
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6168 >
2024-02-21 13:53:40 +00:00
Nirbheek Chauhan
40774c2607
ci: vs2022 x86 was only configuring, was not building
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6166 >
2024-02-21 13:03:43 +00:00
Sebastian Dröge
5ec73afe75
rtpbasedepayload: Add "extensions" property for the currently enabled extensions
...
This works the same way as the one from `rtpbasepayload`.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6163 >
2024-02-21 12:17:24 +00:00
Sebastian Dröge
08d4527d22
rtpbasepayload: Use gst_value_array_append_and_take_value()
as a micro optimization
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6163 >
2024-02-21 12:17:24 +00:00
Sebastian Dröge
ea261a58e0
rtpbasepayload: Also notify "extensions" property when changing list during negotiation
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6163 >
2024-02-21 12:17:24 +00:00
Tim-Philipp Müller
0a6948ee20
rtppassthroughpay: fix critical in gst-inspect
...
gst_segment_to_running_time() will fail noisily
if the segment has not been initialised yet.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6151 >
2024-02-21 11:25:10 +00:00
Kamal Mostafa
ce45e63dcc
tests: cudafilter: actually check for cudascale
...
Actually check for availability of 'cudascale' instead of accidentally
checking for 'cudadownload' twice.
Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3327
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6158 >
2024-02-21 10:16:02 +00:00
Stéphane Cerveau
977a59a3fb
test: vkimagebufferpool: fix queue leak
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6143 >
2024-02-21 04:50:47 +00:00
Nirbheek Chauhan
11f6984bf5
soup: Link to libsoup in all cases on non-Linux
...
We have unsolvable issues on macOS because of this, and the feature
was added specifically for issues that occur on Linux distros since
they ship both libsoup 2.4 and 3.0.
Everyone else should just pick one and use it, since you cannot mix
the two in a single process anyway.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1171
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6156 >
2024-02-21 09:27:59 +05:30
Jan Schmidt
f7e494f348
rtspsrc: Reset combined flows after a seek before restarting
...
After a flushing seek, rtspsrc doesn't reset the last_ret value for
streams, so might immediately shut down again when it resumes pushing
buffers to pads due to a cached `GST_FLOW_FLUSHING` result
Prevent a stored flushing value from immediately stopping
playback again by resetting pad flows before (re)starting
playback.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6137 >
2024-02-21 01:50:13 +00:00
Tim-Philipp Müller
9b84d6398a
qsv: use new plugin status message API
...
Minimal example.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3832 >
2024-02-21 00:58:19 +00:00
Tim-Philipp Müller
28f262b9ad
gst-inspect: print plugin error/warning/info status messages
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3832 >
2024-02-21 00:58:19 +00:00
Tim-Philipp Müller
bc4f7040fa
plugin: add API for plugins to provide status info messages
...
This can be used to store informational messages, errors or
warnings which can later be shown to the user in gst-inspect-1.0,
which can be useful for plugins that expose elements dynamically
based on external libraries or hardware capabilities.
Status messages can then provide an indication as to why a
plugin doesn't have any elements listed, for example.
Plus unit test to make sure code paths are exercised a little.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3832 >
2024-02-21 00:58:19 +00:00
Tim-Philipp Müller
59c09eb029
gstobject: add CONSTRUCTED flag
...
This can be used later by base class APIs to know whether they're
called from a subclass instance init function (where the object
isn't properly constructed yet and one should only really poke
at the instance structure but not much else) or after object
construction has been finished.
Fix up GstBin unit test for CONSTRUCTED flag addition.
See https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2794
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6150 >
2024-02-20 19:16:54 +00:00
Jordan Petridis
dc5b866d87
ci: Run the commit lint job as a user
...
Part of #2433
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5938 >
2024-02-20 18:28:52 +02:00
Edward Hervey
157471889e
meta: Skip gst_meta_info_new in gir
...
```
gstmeta.c:500: Warning: Gst: gst_meta_info_new: return value: Invalid
non-constant return of bare structure or union; register as boxed type or (skip)
```
Skip this for now
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6147 >
2024-02-20 12:30:39 +00:00
Seungha Yang
354af30d9f
wasapi2: Respect ringbuffer buffer/latency time
...
Decide buffer size based on configured buffer/latency time
if low-latency is disabled, so that ringbuffer can buffer more
than minimum required size.
Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2870
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6141 >
2024-02-20 11:37:09 +00:00
Edward Hervey
62b9049d20
mpegst: Fix ownership of return value
...
This inherits from the same rule as gst_buffer_add_meta
```
gst-mpegtspesmetadatameta.h:98: Warning: GstMpegts:
gst_buffer_add_mpegts_pes_metadata_meta: return value: Invalid non-constant
return of bare structure or union; register as boxed type or (skip)
```
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6146 >
2024-02-20 11:33:33 +02:00
Maksym Khomenko
ccf544a50e
osxaudio: add mapping for top/left/right surround channels
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5731 >
2024-02-20 08:03:15 +00:00
Maksym Khomenko
f1e02ebb92
osxaudio: correct mapping for left/right surround
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5731 >
2024-02-20 08:03:15 +00:00