Thibault Saunier
3963396716
gstutils: Add a utility to create a stream-id without a pad
...
We already have functions to generate a stream-id from pads but in the
end those pads are not even used in most cases. This adds functions to
generate a stream-id even before creating the source pads for the
element that is going to use it. For example a demuxer that is properly
implements the GstStream/GstStreamCollection API will not have a Pad but
already needs to generate a stream-id.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3160 >
2023-02-01 22:26:33 +00:00
Colin Kinloch
25b4e84fe5
validate: Allow Ctrl-C to quit on fault
...
Signed-off-by: Colin Kinloch <colin.kinloch@collabora.com>
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3868 >
2023-02-01 21:40:01 +00:00
Seungha Yang
29bd8de052
nvvp9dec: Fix return value
...
It should return GstFlowReturn value, not boolean
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3870 >
2023-02-02 05:07:44 +09:00
Sebastian Dröge
b12c66042b
aom: Include stream-format and alignment in the AV1 caps
...
The decoder does not work with arbitrary alignment and annexb stream
format and the encoder can give the information that it outputs
obu-stream/tu to downstream.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3862 >
2023-02-01 19:04:32 +00:00
Seungha Yang
09d29cca5a
pluginloader-win32: Watch child process handle on connection
...
... so that parent can avoid waiting if child process got terminated
unexpectedly
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3863 >
2023-02-01 17:00:11 +00:00
Seungha Yang
464a8be3a4
pluginloader-win32: Check pipe state in child process
...
Retry if server is not ready for the connection
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3863 >
2023-02-01 17:00:11 +00:00
Seungha Yang
0df7cd852c
pluginloader-win32: Enhance debug log
...
Change log level to ERROR if it's unexpected, and print error reasons
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3863 >
2023-02-01 17:00:10 +00:00
Seungha Yang
f314884b7d
pluginloader-win32: Zero initialize overlapped struct before use
...
Helper child process might be spawned multiple times for some reason
then overlapped struct can hold garbage data. Always clear the struct.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3863 >
2023-02-01 17:00:10 +00:00
Olivier Crête
16158df5b2
wayland: Export the _get_type() functions
...
Add the macro before the declaration so the types are properly exported,
this makes it possible to do dynamic casting and checks.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3858 >
2023-02-01 15:29:26 +00:00
James Hilliard
fc5159c2d8
Fix gstreamer-validate-1.0 dependency name
...
The gst-devtools project generates gstreamer-validate-1.0.pc, this
must match the dependency in gst-editing-services for detection
to work properly.
Fixes:
Run-time dependency gst-validate-1.0 found: NO (tried pkgconfig and cmake)
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3859 >
2023-02-01 14:15:45 +00:00
Matthew Waters
659c45ee7e
qml6: implement qml6gloverlay
...
Based on the Qt5 version of qmlgloverlay.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3845 >
2023-02-01 13:23:52 +00:00
Tim-Philipp Müller
aeb0fa9993
subprojects: Update libsrtp2 wrap to v2.5.0
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3860 >
2023-02-01 10:34:35 +00:00
Guillaume Desmottes
3d1390d31a
rtpptdemux: set different stream-id on each src pad
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3855 >
2023-02-01 09:17:33 +00:00
Guillaume Desmottes
cc2b8f6ae8
rtpssrcdemux: set different stream-id on each src pad
...
All the RTP src pads were sharing the same stream-id while each actually
carry a different stream.
This was causing problem for example when funneling the streams together
and then trying to split them using 'streamiddemux'.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3855 >
2023-02-01 09:17:33 +00:00
Sebastian Dröge
3ca85189fd
rtspsrc: Also consider "Method Not Valid In This State" error in broken control URL handling workaround
...
Some servers send a 455 error instead of any reasonable error when using
a correctly constructed control URL.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3854 >
2023-02-01 07:55:24 +00:00
Thibault Saunier
35e2ecd48b
clocksync: Add "QoS" support
...
When ClockSync synchronizes the data stream on the clock, it should also
push `QoS` events if the user wants to do it as, as stated in [the QoS
design doc] "Elements that synchronize buffers on the pipeline clock
will usually measure the current QoS".
The logic has been replicated from `GstBaseSink`.
[the QoS design doc]: https://gstreamer.freedesktop.org/documentation/plugin-development/advanced/qos.html
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2225 >
2023-02-01 07:02:19 +00:00
Jordan Petridis
dfc6545741
meson: Use gtk tarball for the subproject wrap
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3852 >
2023-02-01 06:29:11 +00:00
Mengkejiergeli Ba
dfe16a5cf2
msdkallocator: Use const ptr of videoinfo in func param
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3621 >
2023-02-01 04:31:23 +00:00
Benjamin Gaignard
16ad80179b
codec2json: Add av12json element
...
This element convert AV1 frame header into human readable
json data.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3734 >
2023-01-30 19:46:55 +00:00
Benjamin Gaignard
fd588a50e4
codec2json: Add vp82json element
...
This element convert vp8 frame header into human readable
json data.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3734 >
2023-01-30 19:46:55 +00:00
Matthew Waters
b134433e0b
examples/webrtc-sendrecv: add some dot file dumps on async-done and error messages
...
Just as a helpful thing if debugging is needed
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3823 >
2023-01-30 05:22:59 +00:00
Tim-Philipp Müller
9a300fc501
validate-scenario: fix g-i warning in annotation
...
gst-validate-scenario.c:2485: Warning: GstValidate: missing ":" at column 28:
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3841 >
2023-01-28 20:03:05 +00:00
Mathieu Duponchelle
4d240c27b7
BaseSrc: fix transfer annotation for fixate virtual method
...
The fixate virtual method has the same semantics as gst_caps_fixate(),
so the caps parameter must be marked as (transfer full).
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3830 >
2023-01-28 03:48:21 +00:00
Matthew Waters
293ad62035
qt6: add qml6glsrc element
...
Same functionality as qmlglsrc (Qt5) but for Qt6.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3737 >
2023-01-28 02:24:09 +00:00
Thibault Saunier
fa23e24f41
validate: Fix gst_validate_execute_action annotation
...
The action passed in is transfer full
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3829 >
2023-01-28 01:31:14 +00:00
Alicia Boya García
8a6023a38a
qtdemux: Use safer clearing functions in dispose()
...
In theory, `dispose()` functions should be idempotent and should be
prepared not to crash or cause a double-free if an unref done from
inside caused a recursive call to `dispose()` of the same object.
https://developer.gnome.org/gobject/stable/howto-gobject-destruction.html
This patch modifies the `dispose()` method to honor these constraints.
Since the double `dispose()` call won't actually occur in qtdemux (there
is no cycle detection mechanism that could invoke it to work that way),
this is more of a code cleanup than a user-facing problem fix.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3822 >
2023-01-28 00:32:57 +00:00
Tim-Philipp Müller
4051581ed8
codecparsers: vp9parser: use single allocation for parser structs
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3790 >
2023-01-27 23:50:19 +00:00
Thibault Saunier
d1e3941a89
uritranscodebin: Fix unref of NULL
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3831 >
2023-01-27 21:58:43 +00:00
Seungha Yang
c6a6c56cdf
win32ipc: Add support for zero-copy rendering
...
* Extend protocol so that client can notify of releasing shared memory
* Server will hold shared memory object until it's released by client
* Add allocator/buffer pool to reuse shared memory objects and buffers
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3765 >
2023-01-27 18:55:13 +00:00
Seungha Yang
c32b898cbb
mpegpsdemux: Ignore DTS if PTS < DTS
...
It's possibly timestamp rollover case. But PTS < DTS is already
invalid case anyway.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3657 >
2023-01-27 17:48:32 +00:00
Georges Basile Stavracas Neto
a8a7ee6d83
glvideomixer: Add xalign and yalign properties
...
With the addition of the 'keep-aspect-ratio' sizing policy, content
that doesn't fit the target size is downscaled according to its own
aspect ratio to fit that target size, and centered.
Centering might not always be the desired behaviour, however;
consumers of this API might want to align the resulting picture to
the left or to the right.
To account for any of these cases, add two new properties to the
glvideomixer pad: xalign, and yalign. They operate on normalized
coordinates (0.0 for start, 1.0 for end), and default to 0.5 which
centers content.
<https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3762 >
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3762 >
2023-01-27 16:21:28 +00:00
Sebastian Dröge
c5d211d45a
gldisplay: Mark gst_gl_display_create_context()
other_context
parameter as nullable
...
See https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/438
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3825 >
2023-01-27 16:22:06 +02:00
Mathieu Duponchelle
c8298a2787
BaseSrc, PushSrc: add nullable annotations to virtual methods
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3806 >
2023-01-26 22:35:31 +00:00
Daniel Knobe
5e9a32ed8c
imagefreeze: add bayer support
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3807 >
2023-01-26 21:30:51 +00:00
Tim-Philipp Müller
beb4f4bff1
sdpdemux: add "media" property to allow audio-only or video-only streaming
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3531 >
2023-01-26 16:17:21 +00:00
Tim-Philipp Müller
7f2a9d738a
sdpdemux: add "rtcp-mode" property to disable RTCP
...
If we know there's only one stream we care about and we
don't have to synchronise audio and video, or send RRs,
we might just as well not hook up all the RTCP bits and
use fewer threads and sockets and simplify the pipeline.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3531 >
2023-01-26 16:17:21 +00:00
Seungha Yang
983d78daa5
wasapi2src: Fix loopback capture on Windows 10 Anniversary Update
...
... or older. Work around an OS bug that loopback capture
device doesn't notify event.
Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1738
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3782 >
2023-01-26 13:31:20 +00:00
Víctor Manuel Jáquez Leal
6b04c8ee56
vulkan: imagebufferpool: Remove video meta handling.
...
Remove video meta handling since it's not used at all, also removed its usage in
vkvideofilter.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3722 >
2023-01-26 11:49:00 +00:00
Jan Alexander Steffens (heftig)
e3fa65abab
aggregator: Warn about the right segment's format
...
We were checking the head segment here, not the current segment.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/611 >
2023-01-26 10:39:08 +01:00
Jan Alexander Steffens (heftig)
08d4b0051a
aggregator: Always lock aggpad around update_time_level
...
`aggpad->segment` is protected by the `aggpad`'s object lock. We need to
take the lock before calling `update_time_level`.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/611 >
2023-01-26 10:39:08 +01:00
Bart Van Severen
024ef7659d
rtsp: gstrtspurl: gst_rtsp_url_get_request_uri: fix incorrect 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.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3568 >
2023-01-26 07:46:59 +00:00
Bart Van Severen
a62b07f3b4
sdp: gstmikey: gst_mikey_message_to_caps: extract salt and append to srtp-key
...
A KEMAC can hold both key and salt, so if salt is present, we should extract it
and append it to the srtp-key cap because libsrtp expects the srtp-key to hold
the concantenated srtp master key and salt.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3568 >
2023-01-26 07:46:59 +00:00
Bart Van Severen
5678151799
sdp: gstmikey: gst_mikey_message_to_caps: extract ROC from first crypto session
...
We need the ROC to decrypt a SRTP stream as the ROC is part of the AES IV.
So look for first crypto session, from which we can get the ROC and find corresponding
crypto policy.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3568 >
2023-01-26 07:46:59 +00:00
Daniel Ulery
befab7af72
filesink: Adds rb+ file mode
...
Adds rb+ file mode to filesink so that files can be pre-allocated. This
can be use to keep reduce fragmentation over time with splitmuxsink.
Fixes #955
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1532 >
2023-01-26 07:05:21 +00:00
Víctor Manuel Jáquez Leal
d8cb9d2ce3
vulkan: physicaldevice: Dump 1.3 features and properties.
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3721 >
2023-01-26 03:19:58 +00:00
Víctor Manuel Jáquez Leal
e54d334526
vulkan: memory: Flush non coherent memory after write.
...
Spec 7.1.3:
If a memory object does not have the VK_MEMORY_PROPERTY_HOST_COHERENT_BIT
property, then vkFlushMappedMemoryRanges must be called in order to guarantee
that writes to the memory object from the host are made available to the host
domain, where they can be further made available to the device domain via a
domain operation. Similarly, vkInvalidateMappedMemoryRanges must be called to
guarantee that writes which are available to the host domain are made visible to
host operations.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3723 >
2023-01-26 02:31:09 +00:00
Seungha Yang
621feb32e9
gst-plugin-scanner: Add support for Windows
...
Adding Win32 specific plugin loader implementation.
Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/11
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3512 >
2023-01-25 18:24:28 +00:00
U. Artie Eoff
d071ea714d
vp9parser: remove checks for g_new0 result
...
The g_new0 aborts the process if it fails. Thus,
there is no need to check if the g_new0 call succeeded.
This should silence a resource leak warning by static
scan.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3788 >
2023-01-25 17:36:54 +00:00
Nirbheek Chauhan
32e8ff4e2a
webrtc_sendrecv.py: Fix PEP8 warnings in CI lint
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3742 >
2023-01-25 16:53:17 +00:00
Nirbheek Chauhan
6a83602601
webrtc_sendrecv.py: Handle LATENCY messages
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3742 >
2023-01-25 16:53:17 +00:00