Nicolas Dufresne [Tue, 30 Mar 2021 18:38:25 +0000 (14:38 -0400)]
video: Sort includes in video.h
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1128>
Sebastian Dröge [Tue, 4 May 2021 15:09:07 +0000 (18:09 +0300)]
multihandlesink: Use the monotonic clock for detecting timeouts and connection durations
Otherwise real-time clock changes can wrongly trigger timeouts, or not
cause timeouts to happen in time.
Unfortunately real-time clock times still have to be kept track inside
the elements for the statistics. Switching those over to the monotonic
clock would cause behaviour changes from the application point of view.
The statistics are extended with fields with monotonic times though.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1137>
Sebastian Dröge [Mon, 3 May 2021 14:10:20 +0000 (17:10 +0300)]
appsrc: Add test for testing the max-* and leaky-type properties
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1133>
Sebastian Dröge [Sun, 2 May 2021 17:46:00 +0000 (20:46 +0300)]
appsrc: Implement a leaky property similar to the queue element
This allows dropping the newest or oldest buffer when the internal queue
is full instead of blocking or continuing to grow.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1133>
Sebastian Dröge [Fri, 30 Apr 2021 16:22:46 +0000 (19:22 +0300)]
appsrc: Add new max-buffers / max-time / current-level-buffers / current-level-time properties
These work the same way as the corresponding properties on queue and
allow to control the internal buffer size of the appsrc in a more
flexible way.
Unlike in queue the max-buffers and max-time properties are 0 (i.e.
disabled) by default for backwards compatibility reasons.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1133>
François Laignel [Tue, 20 Apr 2021 17:53:01 +0000 (19:53 +0200)]
Use gst_element_request_pad_simple...
Instead of the deprecated gst_element_get_request_pad.
Matthew Waters [Tue, 4 May 2021 05:38:18 +0000 (15:38 +1000)]
rtp/hdrext: correct gst_rtp_get_header_extension_list() docs
The return value is a list of GstElementFactory's that when
gst_element_factory_create()ed will create a GstRTPHeaderExtension.
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/897
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1136>
Sebastian Dröge [Sun, 2 May 2021 17:45:01 +0000 (20:45 +0300)]
appsrc: Don't leak buffer list while wrongly unreffing buffer on EOS/flushing
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1134>
Sebastian Dröge [Sun, 2 May 2021 17:45:36 +0000 (20:45 +0300)]
app: Add gstappsrc.h to the enum headers in meson.build
It's already indirectly included but let's better be explicit here.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1134>
Stéphane Cerveau [Tue, 27 Apr 2021 08:30:15 +0000 (10:30 +0200)]
gst-play: add --start-position command line argument
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1126>
Nirbheek Chauhan [Fri, 30 Apr 2021 15:12:55 +0000 (20:42 +0530)]
videotestsrc: Fix a leak when computing alpha caps
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1131>
Stéphane Cerveau [Fri, 23 Apr 2021 12:45:07 +0000 (14:45 +0200)]
playback-test: add window title
If playbin mode, display the current uri
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1122>
Matthew Waters [Thu, 29 Apr 2021 11:16:10 +0000 (21:16 +1000)]
sdp/caps: support translating transport-cc rtcp-fb from caps to sdp attributes
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1130>
Doug Nazar [Sun, 11 Apr 2021 22:43:06 +0000 (18:43 -0400)]
rtp: Fix request-extension signal call
Signal is registered as taking a guint however was being passed a
guint64 which fails on 32-bit.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1102>
Víctor Manuel Jáquez Leal [Fri, 16 Apr 2021 16:10:38 +0000 (18:10 +0200)]
xvimagesink: Handle cropping when copying frames.
Cropping was not handled properly when frames have to be copied to
xvimage's buffer pool, first because the crop meta were dropped, and
second because the allocated frame size in xvimage's buffer pool were
smaller than the incoming frame.
This patch updates xvimagesink's video info when propose_allocation()
is called, and copies the GstVideoCropMeta from source frame to
destination one.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1088>
Víctor Manuel Jáquez Leal [Thu, 1 Apr 2021 13:30:41 +0000 (15:30 +0200)]
xvimagesink: Delay pool creation until it's needed.
Buffer pool is created every time setcaps() is called, but it's
required only when upstream doesn't use it, so it's only needed to
copy frames onto XV buffers.
This patch delay the creation of the buffer pool until it's frame copy
is required.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1088>
Matthew Waters [Wed, 17 Mar 2021 02:56:16 +0000 (13:56 +1100)]
gl/download: add support for output memory:NVMM buffers
Currently RGBA-only.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1071>
Matthew Waters [Wed, 17 Mar 2021 02:54:17 +0000 (13:54 +1100)]
gl/bufferpool: add api for retrieving the configure gl allocation params
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1071>
Matthew Waters [Fri, 26 Feb 2021 07:48:09 +0000 (18:48 +1100)]
glupload: add support for uploading memory:NVMM buffers
Currently RGBA-only.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1071>
Matthew Waters [Thu, 18 Mar 2021 03:20:34 +0000 (14:20 +1100)]
glupload: guard against glEGLImageTexture2D not existing
e.g. if targetting EGL/opengl, we would attempt to use this GLES
function when wrapping EGLImage's.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1071>
Xavier Claessens [Mon, 26 Apr 2021 18:25:03 +0000 (14:25 -0400)]
gstgl: Fix build when Meson >= 0.58.0rc1
"implicit_include_directories: false" now also means that current build
directory is not added to include paths by default any more. We have to
add it manually because we have some custom_target() that generate
headers in current build directory.
See https://github.com/mesonbuild/meson/issues/8700.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1125>
Doug Nazar [Fri, 23 Apr 2021 18:05:45 +0000 (14:05 -0400)]
opengl: Silence macOS OpenGL deprecations
As of macOS 10.14 the entire OpenGL system is deprecated. No need to
log the general warnings about it. Specific warnings are still enabled.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1123>
Stéphane Cerveau [Tue, 6 Apr 2021 12:55:39 +0000 (14:55 +0200)]
playback-test: fix seek crash
check that app->seek_format exists before seeking.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1095>
Doug Nazar [Wed, 21 Apr 2021 03:20:19 +0000 (23:20 -0400)]
tcp: Rework client start error handling.
Ensure errors are cleaned up properly at the right level.
Abort connection attempts if we're cancelled.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1115>
Jakub Adam [Wed, 21 Apr 2021 15:18:51 +0000 (17:18 +0200)]
rtpbasedepay: fix locking of GstRTPHeaderExtension
'ext' object unlocked if gst_rtp_header_extension_read() fails was never
locked in the first place.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1118>
Stéphane Cerveau [Wed, 21 Apr 2021 08:27:10 +0000 (10:27 +0200)]
vorbis: avoid duplicate symbols
Use TREMOR define to avoid duplicate symbols
of ivodebis and vorbis plugins when
static linking GStreamer.
Rearrange debug category init.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1116>
Seungha Yang [Tue, 20 Apr 2021 17:05:36 +0000 (02:05 +0900)]
uridecodebin: Don't force floating reference for future reusable decodebin
uridecodebin assumes that refcount of decodebins stored in pending_decodebins
are floating but it might not be true in case that refcount of the decodebin
was touched in other places. To avoid the floating refcount issue,
hold strong reference.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1113>
Seungha Yang [Tue, 20 Apr 2021 17:02:48 +0000 (02:02 +0900)]
uridecodebin: Use gst_object_ref instead of g_object_ref
It's more debugging friendly (tracer for example)
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1113>
Jordan Petridis [Tue, 20 Apr 2021 08:06:09 +0000 (11:06 +0300)]
gstvideoencoder: make sure the buffer is writable before modifying metadata
Similar to
ae8d0cf3acfaf79d8479647a55bd44b8453d07df
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1112>
Doug Nazar [Mon, 19 Apr 2021 19:54:18 +0000 (15:54 -0400)]
tcp: Convert tcpclientsink to new helpers.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1105>
Doug Nazar [Mon, 19 Apr 2021 19:54:04 +0000 (15:54 -0400)]
tcp: Convert tcpclientsrc to new helpers.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1105>
Doug Nazar [Mon, 19 Apr 2021 19:53:36 +0000 (15:53 -0400)]
tcp: Convert tcpserversink to new helpers.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1105>
Doug Nazar [Mon, 19 Apr 2021 19:52:35 +0000 (15:52 -0400)]
tcp: Convert tcpserversrc to new helpers.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1105>
Doug Nazar [Mon, 19 Apr 2021 19:48:18 +0000 (15:48 -0400)]
tcp: Add helper functions to lookup hostnames and create sockets.
Lookup will now maintain the full list of possible IP address(es).
We can now iterate over all available addresses in case certain
address families (IPv6) are disabled or try connecting to additional
addresses for the clients.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1105>
Doug Nazar [Mon, 19 Apr 2021 15:53:10 +0000 (11:53 -0400)]
tests/tcp: Fail if unable to start pipelines.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1105>
Doug Nazar [Mon, 19 Apr 2021 17:22:16 +0000 (13:22 -0400)]
tcp: cleanup files
consolidate gsttcp.h & gsttcpelements.h
rename gsttcpelement.c to match header
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1105>
Stéphane Cerveau [Mon, 19 Apr 2021 11:28:39 +0000 (13:28 +0200)]
videodecoder: use DTS if PTS unknown
The buffer should be set according to DTS if exists
when we are guessin the PTS instead of segment start.
The decoder can receive buffers which are before the segment
in case of seek for example.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1111>
Marijn Suijten [Tue, 30 Mar 2021 09:18:17 +0000 (11:18 +0200)]
Drop `@` documentation references from functions and external types
`@` references are used to reference function parameters, struct members
or enum variants _within_ the current type/function. It cannot and
should not be used to reference to types outside that.
Since C has no notion of member functions it makes little sense to
prefix these with `@`; most of the documentation here was referencing
functions on _different_ types anyway.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1090>
Mathieu Duponchelle [Mon, 12 Apr 2021 12:02:46 +0000 (14:02 +0200)]
playbin{2,3}: fix base_time selection when flush seeking live
This is a direct translation of
<https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/429>,
as playbin{2,3} insulates its sub groups state changes from the pipeline
base class, it needs to track whether the subgroup is live itself,
and handle RESET_TIME the same way GstPipeline does.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1104>
Doug Nazar [Sun, 11 Apr 2021 18:29:30 +0000 (14:29 -0400)]
overlaycomposition: Fix test for big endian.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1103>
Tim-Philipp Müller [Sun, 11 Apr 2021 22:42:13 +0000 (23:42 +0100)]
gl: fix up Since markers for newly-added _get_type() functions
Follow-up to !999 which wasn't backported into 1.18 in the end
after all.
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/857
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1101>
Robin Burchell [Tue, 6 Apr 2021 11:22:15 +0000 (13:22 +0200)]
gstgiobasesink: Handle incomplete writes in gst_gio_base_sink_render()
As the comment asked, yes, incomplete writes can happen.
I have encountered this with an sshfs mount, for example.
It seems like g_output_stream_write_all() is designed to handle this case,
by not returning until the requested buffer has been completely written,
or an error occurs, which seems to match up with the desired behaviour.
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/885
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1100>
Seungha Yang [Sun, 4 Apr 2021 15:34:21 +0000 (00:34 +0900)]
clockoverlay: Fix broken string formatting by strftime() on Windows
Like other foobarA variant APIs on Windows, formatted string
by strftime() is ANSI string, not unicode encoded one.
It would be problematic for non-english locale systems.
We should use unicode version API (wcsftime in this case)
whenever it's possible on Windows.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1093>
Doug Nazar [Wed, 7 Apr 2021 08:25:47 +0000 (04:25 -0400)]
audio/alsa: Exit write loop if underlying device is already paused.
If the alsasink thread starts the write loop but another thread pauses
the underlying alsa device, the sink thread will endlessly loop.
snd_pcm_writei() will return 0 if the state is SND_PCM_STATE_PAUSED
and the loop will never make any progress.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1097>
Xavier Claessens [Wed, 7 Apr 2021 12:28:40 +0000 (08:28 -0400)]
meson: Fix gstreamer-gl-prototypes-1.0.pc
This fix a warning because we were generating 2 pc files for gstgl
library. Also fix missing glesv2 in Requires.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1099>
Matej Knopp [Mon, 1 Jun 2020 10:45:36 +0000 (12:45 +0200)]
codec-utils: properly determine AAC Level
Table 1.10 – "Levels for the AAC Profile" only goes to 5 max channels
/ 7 max channel post amendmend, so I assume the number of channels
should not include LFE, otherwise there's no valid level for 5.1 resp.
7.1 (post amendmend)
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/680>
Binh Truong [Sun, 4 Apr 2021 14:18:59 +0000 (21:18 +0700)]
Fix build issue on MinGW64
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1094>
Jakub Adam [Thu, 18 Mar 2021 19:13:21 +0000 (20:13 +0100)]
rtpbuffer: make sure header extension buffer is initialized
Based upon valgrind finding:
Conditional jump or move depends on uninitialised value(s)
at 0x4AFF589: read_rtp_header_extensions (gstrtpbasedepayload.c:1197)
by 0x4AFF9E5: gst_rtp_base_depayload_set_headers
(gstrtpbasedepayload.c:1298)
by 0x4AFFEE0: gst_rtp_base_depayload_do_push
(gstrtpbasedepayload.c:1413)
by 0x4AFFF53: gst_rtp_base_depayload_push
(gstrtpbasedepayload.c:1448)
by 0x4AFDEBA: gst_rtp_base_depayload_handle_buffer
(gstrtpbasedepayload.c:801)
by 0x4AFE41E: gst_rtp_base_depayload_chain_list
(gstrtpbasedepayload.c:899)
by 0x48F262C: gst_pad_chain_data_unchecked (gstpad.c:4414)
by 0x48F3333: gst_pad_push_data (gstpad.c:4655)
by 0x48F3DF8: gst_pad_push_list (gstpad.c:4814)
by 0x4AFAD87: gst_rtp_base_payload_push_list
(gstrtpbasepayload.c:1978)
by 0x72B3154: gst_rtp_vp8_pay_handle_buffer (gstrtpvp8pay.c:672)
by 0x4AF7031: gst_rtp_base_payload_chain (gstrtpbasepayload.c:868)
Uninitialised value was created by a heap allocation
at 0x483C77F: malloc (in
/usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so)
by 0x4B8BA78: g_malloc (gmem.c:106)
by 0x4BA3A9D: g_slice_alloc (gslice.c:1069)
by 0x488D777: _sysmem_new_block (gstallocator.c:413)
by 0x488DB28: default_alloc (gstallocator.c:512)
by 0x488D3E8: gst_allocator_alloc (gstallocator.c:310)
by 0x4AE97E3: gst_rtp_buffer_set_extension_data (gstrtpbuffer.c:856)
by 0x4AF9EC6: set_headers (gstrtpbasepayload.c:1757)
by 0x489FE4D: gst_buffer_list_foreach (gstbufferlist.c:287)
by 0x4AFA87A: gst_rtp_base_payload_prepare_push
(gstrtpbasepayload.c:1915)
by 0x4AFAD06: gst_rtp_base_payload_push_list
(gstrtpbasepayload.c:1970)
by 0x72B3154: gst_rtp_vp8_pay_handle_buffer (gstrtpvp8pay.c:672)
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1075>
Chris White [Fri, 2 Apr 2021 01:44:10 +0000 (21:44 -0400)]
typefind: use new gst_type_find_suggest_empty_simple()
gst_type_find_suggest_simple() now requires a NULL terminator.
Use the new, simpler API for no-parameter calls.
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/774#note_861492
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1092>
Matthew Waters [Wed, 3 Mar 2021 07:28:54 +0000 (18:28 +1100)]
videoaggregator: allow selecting an alpha output from non-alpha inputs
e.g. if we have:
video-x/raw,format=I420 ! compositor ! video/x-raw,format=BGRA
This will currently produce a warning as the alpha-ness of the chosen
'best' format (I420) will be different from the value restricted by the
downstream caps filter.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1059>
Stéphane Cerveau [Mon, 29 Mar 2021 12:10:12 +0000 (14:10 +0200)]
xvimage: allow per feature registration
Split plugin into features including
dynamic types which can be indiviually
registered during a static build.
More details here:
https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1089>
Stéphane Cerveau [Mon, 29 Mar 2021 12:09:16 +0000 (14:09 +0200)]
ximage: allow per feature registration
Split plugin into features including
dynamic types which can be indiviually
registered during a static build.
More details here:
https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1089>
Stéphane Cerveau [Mon, 29 Mar 2021 12:07:00 +0000 (14:07 +0200)]
audiotestsrc: allow per feature registration
Split plugin into features including
dynamic types which can be indiviually
registered during a static build.
More details here:
https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1089>
Stéphane Cerveau [Mon, 29 Mar 2021 12:06:30 +0000 (14:06 +0200)]
audioresample: allow per feature registration
Split plugin into features including
dynamic types which can be indiviually
registered during a static build.
More details here:
https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1089>
Stéphane Cerveau [Mon, 29 Mar 2021 12:06:00 +0000 (14:06 +0200)]
audiorate: allow per feature registration
Split plugin into features including
dynamic types which can be indiviually
registered during a static build.
More details here:
https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1089>
Sebastian Dröge [Fri, 19 Mar 2021 08:31:58 +0000 (10:31 +0200)]
playback: Don't special-case G_SIGNAL_RUN_CLEANUP stage in signal accumulators
All these signals don't run the class handler in the CLEANUP stage.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1076>
Luke Yelavich [Wed, 24 Mar 2021 22:35:31 +0000 (09:35 +1100)]
tools: Fix incorrect argument in gst-device-monitor-1.0 manpage
The --include-hidden argument was --show-hidden in a previous iteration of
commit
ddf3e6669fcfcaeb3205af698d66c8ec1648f4b3, and I forgot to change the
example.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1080>
Edward Hervey [Thu, 25 Mar 2021 09:29:41 +0000 (10:29 +0100)]
decodebin3: Don't insert duplicated streams in collection
Filter out the ones which are already present. Can happen with several input
stream which have identical collections
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1083>
Edward Hervey [Fri, 11 Dec 2020 09:15:32 +0000 (10:15 +0100)]
parsebin: Put stream flags in GstStream
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1082>
Edward Hervey [Thu, 19 Nov 2020 09:49:01 +0000 (10:49 +0100)]
decodebin3: Make input activation "atomic"
When adding inputs dynamically, we need to make sure the new parsebin are
added *and* activated by the same thread (by taking the state change lock).
The rationale for this is that the calling thread might be an upstream streaming
thread and when activating parsebin it might call back upstream. If we don't use
the same thread (ex: when the application does a state change on decodebin3
between the moment we add parsebin to decodebin3 and we synchronize the state of
parsebin) then we would end up in different threads trying to take upstream
recursive locks.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/932>
Luke Yelavich [Sat, 20 Mar 2021 00:16:51 +0000 (11:16 +1100)]
device-monitor: Add argument to include devices from hidden providers
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1077>
Matthew Waters [Mon, 22 Mar 2021 02:59:39 +0000 (13:59 +1100)]
gl/wayland: provide a dummy global_remove function
Even if we don't care about any global objects being removed, wayland
will still error if globals are removed without a corresponding listener
set up for them. e.g. wl_output hotplugging
Discovered by: Matthias Clasen
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1079>
Jan Schmidt [Sun, 21 Mar 2021 05:46:54 +0000 (16:46 +1100)]
gstgiosrc: Don't leak scheme string in gst_gio_src_query()
Add a g_free() in the code path that forwards the query to the parent
handler.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1078>
Bing Song [Mon, 15 Mar 2021 06:35:29 +0000 (14:35 +0800)]
encodebin: handle video encoder preset fail.
Check video encoder preset before request muxer pad as MOV/MP4 don't
support addition/removal of tracks at random times.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1064>
Matthew Waters [Thu, 18 Mar 2021 08:18:36 +0000 (19:18 +1100)]
gst: don't use volatile to mean atomic
volatile is not sufficient to provide atomic guarantees and real atomics
should be used instead. GCC 11 has started warning about using volatile
with atomic operations.
https://gitlab.gnome.org/GNOME/glib/-/merge_requests/1719
Discovered in https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/868
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1073>
Stéphane Cerveau [Thu, 18 Mar 2021 14:58:01 +0000 (15:58 +0100)]
vorbis: fix debug category init
During the element splitting process,
the debug category initialization has
been dropped accidently.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1074>
Stéphane Cerveau [Wed, 17 Mar 2021 13:26:54 +0000 (14:26 +0100)]
audioconvert: update doc for mix-matrix
No need for specific cast in mix-matrix
syntax.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1072>
Stéphane Cerveau [Tue, 16 Mar 2021 16:53:54 +0000 (17:53 +0100)]
ogg: element_init returns void
no need to return boolean as it will
be always TRUE.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1029>
Stéphane Cerveau [Tue, 16 Mar 2021 11:59:14 +0000 (12:59 +0100)]
playback: element_init returns void
no need to return boolean as it will
be always TRUE.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1029>
Stéphane Cerveau [Tue, 16 Mar 2021 11:56:53 +0000 (12:56 +0100)]
ogg: element_init returns void
no need to return boolean as it will
be always TRUE.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1029>
Stéphane Cerveau [Tue, 16 Mar 2021 11:55:55 +0000 (12:55 +0100)]
alsa: element_init returns void
no need to return boolean as it will
be always TRUE.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1029>
Stéphane Cerveau [Thu, 11 Feb 2021 10:15:10 +0000 (11:15 +0100)]
volume: allow per feature registration
Split plugin into features including
dynamic types which can be indiviually
registered during a static build.
More details here:
https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1029>
Stéphane Cerveau [Thu, 11 Feb 2021 10:14:31 +0000 (11:14 +0100)]
videotestsrc: allow per feature registration
Split plugin into features including
dynamic types which can be indiviually
registered during a static build.
More details here:
https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1029>
Stéphane Cerveau [Thu, 11 Feb 2021 10:11:25 +0000 (11:11 +0100)]
videoscale: allow per feature registration
Split plugin into features including
dynamic types which can be indiviually
registered during a static build.
More details here:
https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1029>
Stéphane Cerveau [Thu, 11 Feb 2021 09:59:42 +0000 (10:59 +0100)]
videorate: allow per feature registration
Split plugin into features including
dynamic types which can be indiviually
registered during a static build.
More details here:
https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1029>
Stéphane Cerveau [Thu, 11 Feb 2021 09:55:25 +0000 (10:55 +0100)]
videoconvert: allow per feature registration
Split plugin into features including
dynamic types which can be indiviually
registered during a static build.
More details here:
https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1029>
Stéphane Cerveau [Thu, 11 Feb 2021 09:49:48 +0000 (10:49 +0100)]
overlaycomposition: allow per feature registration
Split plugin into features including
dynamic types which can be indiviually
registered during a static build.
More details here:
https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1029>
Stéphane Cerveau [Thu, 11 Feb 2021 09:43:14 +0000 (10:43 +0100)]
encoding: allow per feature registration
Split plugin into features including
dynamic types which can be indiviually
registered during a static build.
More details here:
https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1029>
Stéphane Cerveau [Thu, 11 Feb 2021 08:58:59 +0000 (09:58 +0100)]
compositor: allow per feature registration
Split plugin into features including
dynamic types which can be indiviually
registered during a static build.
More details here:
https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1029>
Stéphane Cerveau [Thu, 11 Feb 2021 08:37:02 +0000 (09:37 +0100)]
adder: allow per feature registration
Split plugin into features including
dynamic types which can be indiviually
registered during a static build.
More details here:
https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1029>
Stéphane Cerveau [Thu, 11 Feb 2021 08:34:13 +0000 (09:34 +0100)]
cdparanoiasrc: allow per feature registration
Split plugin into features including
dynamic types which can be indiviually
registered during a static build.
More details here:
https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1029>
Stéphane Cerveau [Fri, 11 Dec 2020 16:54:31 +0000 (17:54 +0100)]
audioconvert: allow per feature registration
Split plugin into features including
dynamic types which can be indiviually
registered during a static build.
More details here:
https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1029>
Stéphane Cerveau [Fri, 11 Dec 2020 17:47:41 +0000 (18:47 +0100)]
pango: allow per feature registration
Split plugin into features including
dynamic types which can be indiviually
registered during a static build.
More details here:
https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1029>
Stéphane Cerveau [Fri, 11 Dec 2020 17:46:20 +0000 (18:46 +0100)]
theora: allow per feature registration
Split plugin into features including
dynamic types which can be indiviually
registered during a static build.
More details here:
https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1029>
Stéphane Cerveau [Fri, 11 Dec 2020 16:56:13 +0000 (17:56 +0100)]
vorbis: allow per feature registration
Split plugin into features including
dynamic types which can be indiviually
registered during a static build.
More details here:
https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1029>
Stéphane Cerveau [Fri, 11 Dec 2020 15:59:50 +0000 (16:59 +0100)]
opus: allow per feature registration
Split plugin into features including
dynamic types which can be indiviually
registered during a static build.
More details here:
https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1029>
Stéphane Cerveau [Fri, 11 Dec 2020 14:42:32 +0000 (15:42 +0100)]
gl: allow per feature registration
Split plugin into features including
dynamic types which can be indiviually
registered during a static build.
More details here:
https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1029>
Stéphane Cerveau [Fri, 11 Dec 2020 14:12:29 +0000 (15:12 +0100)]
gio: allow per feature registration
Split plugin into features including
dynamic types which can be indiviually
registered during a static build.
More details here:
https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1029>
Stéphane Cerveau [Fri, 11 Dec 2020 14:02:03 +0000 (15:02 +0100)]
app: allow per feature registration
Split plugin into features including
dynamic types which can be indiviually
registered during a static build.
More details here:
https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1029>
Stéphane Cerveau [Fri, 11 Dec 2020 11:59:32 +0000 (12:59 +0100)]
audiomixer: allow per feature registration
Split plugin into features including
dynamic types which can be indiviually
registered during a static build.
More details here:
https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1029>
Stéphane Cerveau [Fri, 11 Dec 2020 11:42:03 +0000 (12:42 +0100)]
tcp: allow per feature registration
Split plugin into features including
dynamic types which can be indiviually
registered during a static build.
More details here:
https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1029>
Stéphane Cerveau [Tue, 1 Dec 2020 14:14:00 +0000 (15:14 +0100)]
rawparse: allow per feature registration
Split plugin into features including
dynamic types which can be indiviually
registered during a static build.
More details here:
https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1029>
Jan Alexander Steffens (heftig) [Mon, 15 Mar 2021 14:33:47 +0000 (15:33 +0100)]
audioaggregator: Consider converting for equal audio formats
The converter might have a non-passthrough mix-matrix. The converter
can determine whether it should pass through, so let it, then remove it
if it's indeed a passthrough.
FIXME: Not converting when we need to but the config is invalid (e.g.
because the mix-matrix is not the right size) produces garbage. An
invalid config should cause a GST_FLOW_NOT_NEGOTIATED.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1070>
Jan Alexander Steffens (heftig) [Tue, 16 Mar 2021 11:27:31 +0000 (12:27 +0100)]
audioaggregator: Clean up _convert_pad_update_converter
No functional change.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1070>
Nirbheek Chauhan [Mon, 15 Mar 2021 13:35:44 +0000 (19:05 +0530)]
rtspconnection: Consistently translate GIOError to GstRTSPResult
The users of this API need to be able to differentiate between EINTR
and ERROR. For example, in rtspsrc, gst_rtsp_conninfo_connect()
behaves differently when gst_rtsp_connection_connect_with_response_usec()
returns an ERROR or EINTR. The former is an element error while the
latter is simple a GST_ERROR since it was a user cancellation of the
connection attempt.
Due to this, rtspsrc was incorrectly emitting element errors while
going to NULL, which would or would not reach the application in
a racy manner.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1069>
Tim-Philipp Müller [Wed, 3 Mar 2021 01:08:25 +0000 (01:08 +0000)]
tag: id3v2: fix frame size check and potential invalid reads
Check the right variable when checking if there's
enough data left to read the frame size.
Closes https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/876
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1065>
Jakub Adam [Tue, 9 Feb 2021 21:09:52 +0000 (22:09 +0100)]
rtpbasedepayload: handle caps change partway through buffer list
While preparing a blist for pushing, some RTP header extension may
request caps change for a specific buffer in the list. When this
happens, depayloader should immediately push those buffers from the list
that precede the currently processed buffer (for which the caps change
was requested) and only then apply the new caps to the src pad.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1011>
Jakub Adam [Thu, 4 Feb 2021 16:08:04 +0000 (17:08 +0100)]
rtphdrext: allow updating depayloader src caps
Add overridable method that updates depayloader's src caps based on
the data from RTP header.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1011>
Jakub Adam [Tue, 12 Jan 2021 21:11:46 +0000 (22:11 +0100)]
rtphdrext: allow the extension to inspect payloader's sink caps
Some header extensions may need to read information from the payloader's
sink caps. Introduce gst_rtp_header_extension_update_from_sinkcaps ()
that passes the caps to the extension, which can then use it to update
its internal state.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1011>
Devarsh Thakkar [Tue, 9 Feb 2021 13:16:34 +0000 (05:16 -0800)]
ext: alsa: Set buffer time after period time
This because underlying driver may have constraint on
buffer size to be dependent on period size, so period
time needs to be set first.
For e.g. Xilinx ASoC driver requires
buffer size to be multiple of period size for it's DMA
operation.
alsa-utils also set period time first as seen in below commit :
https://github.com/alsa-project/alsa-utils/commit/
9b621eeac4d55c4e881f093be5b163ca07d01b63
Tested it on zcu106 board with HDMI based record and playback.
Also tested on Intel PC using Logitech C920 Webcam mic and ALC887-VD
Analog for playback.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1040>