Sebastian Dröge
83106de7e7
video: timecode: Add support for framerates lower than 1fps
...
These are not explicitly defined but the existing calculations can be
extended to also cover that case by inverting them to avoid floating
point calculations.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2465
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4374 >
2023-04-17 10:26:11 +00:00
Mathieu Duponchelle
be208b9f50
docs: mark GstVideoConvertScale as plugin API
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4408 >
2023-04-13 21:46:59 +00:00
Mathieu Duponchelle
15102e2eef
docs: mark GstGLSinkBin as plugin API
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4408 >
2023-04-13 21:46:59 +00:00
Jan Alexander Steffens (heftig)
77bc9b4a33
tests: allocators: Fix fdmem test with recent GLib
...
The test failed with recent GLib, where `g_close` emits a critical
warning on EBADF. Remove the `g_close` check from `test_fdmem` and add
another version that tests `GST_FD_MEMORY_FLAG_DONT_CLOSE`.
We will depend on the Valgrind test run to warn us about leaked FDs.
Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2480
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4381 >
2023-04-12 17:17:37 +00:00
Seungha Yang
5765eb8dce
sdpmessage: Don't set "source-filter" to caps
...
Multiple "source-filter" can exist, and it requires special handling
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3485 >
2023-04-12 16:32:07 +00:00
Matthias Fuchs
15b7c7ea25
glvideoflip: fix leaked caps
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4394 >
2023-04-11 21:31:45 +00:00
Matthias Fuchs
769cc48e49
glcontext_wgl: fix missing unref
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4392 >
2023-04-11 20:05:17 +00:00
Philippe Normand
4e4cb3bcf5
glbasesrc: Reverse order of error/debug messages
...
Addressing follow-up review from Tim in !4222 , the first string is meant to be
shown to the user and should be translatable. The second one is more suited for
debugging purposes and should not be translated.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4389 >
2023-04-11 12:28:27 +01:00
Tim-Philipp Müller
da4aa00d5b
gst-plugins-base: update translations
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4388 >
2023-04-11 09:21:18 +00:00
Sebastian Dröge
8ed0b03c78
appsink: Use a class handler callback instead of vfunc for propose-allocation
...
There would otherwise be no padding left in the class struct anymore and
we might need it for something else in the future.
A class handler callback can be overridden by subclasses via
`g_signal_override_class_handler()` and chained up via
`g_signal_chain_from_overridden_handler()`.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2422
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4356 >
2023-04-06 15:21:35 +00:00
Sebastian Dröge
51a2adb837
allocators: drm-dumb: Annotate allocator instance parameters with the correct type
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4360 >
2023-04-06 17:04:45 +03:00
Sebastian Dröge
edcb8e8f35
allocators: drm-dumb: Annotate device-path as a filename
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4358 >
2023-04-06 15:41:27 +03:00
Rouven Czerwinski
7ad84674ab
gst-plugins-base: gl: wayland: cleanup on close
...
The proxy and queue are created in the gst_gl_window_wayland_egl_open()
function and will be recreated on open. This leaks both objects, the
wayland client documentation mentions that they should be destroyed
using the appropriate destroy functions.
Found during valgrind memory leak testing, these blocks were marked as
definitely lost.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4354 >
2023-04-06 08:09:36 +02:00
Guillaume Desmottes
84dea99132
appsrc: properly handle events received before sending the segment
...
The first serialized events that can be send on a src pad are a CAPS and then a
SEGMENT event.
When handling events from user in appsrc, we used to send a segment
automatically if the SEGMENT has not been sent yet.
This breaks if the CAPS event was not send either as we were now sending
a SEGMENT before the CAPS.
Fix this by delaying such events until the CAPS has been configured.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4297 >
2023-04-05 11:11:46 +00:00
Guillaume Desmottes
4587a70998
tests: appsrc: test_appsrc_send_custom_event: check that event was actually received
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4297 >
2023-04-05 11:11:46 +00:00
Guillaume Desmottes
4bffa7b537
appsrc: log when popping caps and buffer (list) from queue
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4297 >
2023-04-05 11:11:46 +00:00
Sebastian Dröge
a17209220f
sdp: Skip source-specific caps fields when creating an SDP media from caps
...
Regression from https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2132
We parse the source-specific fields from the SDP and put it into the
caps, but when converting caps into an SDP again this would need special
handling. By default it would end up as part of the fmtp field, which is
simply wrong.
Automatically putting it into the caps and SDP will need some more work.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4338 >
2023-04-05 05:20:33 +00:00
Seungha Yang
55db8367f7
tools: Count argc after parsing GOption on Windows
...
Existing codes rely on modified argc value by g_option_context_parse()
but g_option_context_parse_strv() is used in case of Windows.
Count arguments after the option parsing manually.
Fixing command "gst-inspect-1.0.exe -b"
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4313 >
2023-03-31 18:11:52 +00:00
Robert Rosengren
6bb1257c99
alsasink: Fix for being stuck in stop_streaming_threads state
...
Moving from PLAYING to NULL will set the stop_streaming_threads to TRUE,
but when moving back upwards its not reset to FALSE (as only done in
uncalled init and resume callbacks).
Fix by reseting value in the prepare callback.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4309 >
2023-03-31 16:51:11 +00:00
Ilie Halip
6846810f50
typefindfunctions: Increase xml typefinder closing brace limit
...
If the first XML element in a DASH manifest has its closing brance
beyond the first 512 bytes (because of, e.g. lots of attributes),
the MPD typefinder fails. Try to read a larger block, and then
smaller blocks until 512 bytes.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2385
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4241 >
2023-03-29 17:50:20 +00:00
Bart Van Severen
65f953cd23
rtsp: gstrtspurl: gst_rtsp_url_get_request_uri: use rtsps scheme for tls transport methods
...
gst_rtsp_url_get_request_uri returns rtsp://... url when requested url is rtsps://, this is not
in accordance with https://www.rfc-editor.org/rfc/rfc7826.html#section-19.2 .
This also impedes setting up a rtsps session with a live555 rtsp server.
Don't expose other than rtsp and rtsps internal gstreamer rtsp url schemes
to avoid regression:
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2412
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4294 >
2023-03-29 11:38:47 +00:00
Bart Van Severen
c2b3afd3dd
Revert "rtsp: gstrtspurl: gst_rtsp_url_get_request_uri: fix incorrect scheme for tls transport methods"
...
This reverts commit 024ef7659d
because it causes a regression:
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2412
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4294 >
2023-03-29 11:38:47 +00:00
Hugo Svirak
631c72b219
videorate: Fix incorrect drop value when drop_only is true
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4052 >
2023-03-27 19:56:55 +00:00
Haihua Hu
8541d6b990
decodebin3: fix hang issue when remove failing stream
...
Need mark selection_update to true when update selection,
otherwise, pipeline will not handle this selection update
sometimes when this flag has been reset
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4277 >
2023-03-27 13:52:42 +00:00
Shengqi Yu
96a46e31c7
appsink: add propose_allocation support
...
Adding propose_allocation is to meet the requirement of Application to
request buffers. Application sometimes need to create buffer pool
and request buffers to maintain buffer management itself, and Gstreamer plugin
import Application's buffers to use. So, add propose_allocation in
appsink like waylandsink and kmssink etc.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4185 >
2023-03-27 12:34:16 +03:00
Tim-Philipp Müller
330836db8e
taglist, plugins: fix compiler warnings with GLib >= 2.76
...
Fix compiler warnings about not using the return value when
freeing the GString segment with g_string_free(.., FALSE):
ignoring return value of ‘g_string_free_and_steal’ declared with attribute ‘warn_unused_result’
which we get with newer GLib versions. These were all harmless.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4273 >
2023-03-27 07:37:11 +00:00
Tobias Rapp
c467ac0869
gst-plugins-base: Add FourCC and type description for FFVHuff video
...
The FFVHuff video codec is a FFmpeg-specific variant of the lossless
HuffYUV codec with increased coverage of supported pixel formats and bit
depths.
Fixes #2389 .
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4250 >
2023-03-23 14:30:59 +00:00
Sebastian Dröge
b1cb36e74c
opusdec: Add support for decoding >8 channels
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4180 >
2023-03-23 08:46:50 +00:00
Sebastian Dröge
d78bed99e8
opusenc: Use downstream channel configuration when using channel mapping family 255
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4180 >
2023-03-23 08:46:50 +00:00
Sebastian Dröge
7e63427827
opusenc: Add support for encoding >8 channels and unknown/unpositioned layouts
...
This was kind of implemented before but missing a few pieces to actually
work correctly.
These configurations are mapped to channel mapping family 255.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4180 >
2023-03-23 08:46:50 +00:00
Edward Hervey
0be233a446
uridecodebin3: Remove play items that were never connected
...
This is a follow-up of the previous commit that enabled support for redirection.
The problem is that the urisourcebin that emitted the error redirection never
produced any pads, and therefore was never linked to decodebin3. This resulted
in the code waiting for that (output) item to finally switch over ... which will
never happen.
The fix is done by removing it early if it was never connected to decodebin3.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4252 >
2023-03-23 07:39:48 +01:00
Stéphane Cerveau
23661f0446
vulkan: gl: change symbols to static
...
Change window_proc and subclass_proc to static to avoid symbols
duplication.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4246 >
2023-03-23 00:56:04 +00:00
Edward Hervey
133c4b2ff9
uridecodebin3: Handle redirection errors
...
This is done by doing an immediate switch to the redirection URI if compatible.
Fixes #1562
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4242 >
2023-03-22 11:28:47 +00:00
Edward Hervey
095356b67e
parsebin: Improve elementary stream handling
...
The goal of parsebin is to figure out which elements to link together in order
to provide elementary streams given any random input.
The problem is that deciding whether a given stream should still have more
elements plugged in or not was dependent on ... the presence of compatible
decoders (sic).
Instead of that, if we can't plug anymore elements on a given stream *and* it is
detected as being an elementary stream, expose it.
Fixes #2118
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4231 >
2023-03-21 07:26:37 +00:00
Edward Hervey
cf3adbcfb3
urisourcebin: Activate pad before transferring sticky events
...
Otherwise they get refused since the pad is flushing
Fixes #2384 for good
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4226 >
2023-03-20 18:11:26 +00:00
Edward Hervey
ee759fb4bf
plugins: Fix wrong enum usage
...
gcc 13 now detects conflicting enum usages. Fix the various cases where it was wrong
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4225 >
2023-03-20 11:40:30 +00:00
Philippe Normand
47b8618b2d
glbasesrc: Reword error message
...
The initial glbasesrc implementation was based on a refactoring of gltestsrc,
but one error message wasn't updated accordingly and remained specific to the
gltestsrc implementation.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4222 >
2023-03-19 16:39:18 +00:00
Piotr Brzeziński
e448888e1e
allocators: Only build DRM allocator on Linux
...
This was causing issues when building the monorepo on macOS.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4208 >
2023-03-19 13:45:37 +00:00
Sebastian Dröge
ccad9a7338
plugins: Fix various trivial clang compiler warnings
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4210 >
2023-03-18 16:16:55 +02:00
Edward Hervey
7f1c5e2ef3
urisourcebin: Propagate sticky events from parsebin
...
If sticky events are present on parsebin source pads, we propagate them to the
multiqueue source pads. Those will be propagated on the new urisourcebin source
pads like in the other code paths.
This ensures that STREAM_START event are present on new source pads. If CAPS
event are also present (not guaranteed), they will also be available.
Fixes #2384
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4203 >
2023-03-17 23:48:43 +00:00
Víctor Manuel Jáquez Leal
d6dd81dbdd
video: remove spurious gst_caps_make_writable()
...
In gst_video_info_dma_drm_to_caps() the caps are newly created, so there's no
need for make it writable. In gst_video_info_dma_drm_from_caps() a copy of the
caps is done, which implies a gst_caps_make_writable().
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4195 >
2023-03-17 13:01:02 +00:00
Tim-Philipp Müller
8759b77a50
gst-plugins-base: re-indent with GNU indent 2.2.12
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4182 >
2023-03-17 03:18:53 +00:00
Nicolas Dufresne
7c7f2bb6df
allocators: Add a DRM Dumb Allocator
...
This allow allocating memory from any DRM driver that supports this
method. It additionally allow exporting DMABuf. This allocator depends
on libdrm and will be stubbed if the dependency is missing. This is derived
from kmssink dumb allocator.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3801 >
2023-03-14 21:50:57 +00:00
Carlos Falgueras García
76abb90477
gluploadelement: Delete unused types
...
`*GstGLUploadElementPrivate` is not defined or used anywhere.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4145 >
2023-03-13 06:15:03 +00:00
Víctor Manuel Jáquez Leal
6c71654991
tests: add tests for GstVideoInfoDmaDrm
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4043 >
2023-03-12 03:09:01 +00:00
He Junyan
67d0a911a5
video: add dma format and info helper functions
...
From the dmabuf.md[1], "drm-format" field in caps will replace the
traditional "format" field, so it needs to import some new helper
functions to support this.
1. https://gstreamer.freedesktop.org/documentation/additional/design/dmabuf.html
Co-authored-by: Yinhang Liu <yinhang.liu@intel.com>
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4043 >
2023-03-12 03:09:01 +00:00
Stéphane Cerveau
f6b2b716b2
timeoverlay: add buffer-count mode
...
This mode would allow to display the buffer
number received by the timeoverlay element.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3827 >
2023-03-10 16:00:53 +00:00
Edward Hervey
b4cadf35bd
uridecodebin3: Ensure atomic urisourcebin state change
...
When dynamically adding and synchronizing the state of urisourcebin, we need to
ensure that no-one else attempts to change the state in case of failures
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1803
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4125 >
2023-03-08 09:29:57 +00:00
Nicolas Beland
8e77f89e86
alsasink: Fix stall when going from PLAYING to NULL (stucked at PAUSED) with uac1 gadget
...
This happened with a uac1 gadget which for some reason does not behave nicely.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4095 >
2023-03-02 03:41:25 +00:00
Carlos Falgueras García
dafc024ed0
gldisplay: Remove unused code
...
The code related with environment variable `GST_GL_PLATFORM` is unused
since commit 33c60bdbf9
.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4090 >
2023-03-01 08:23:37 +00:00