Jan Schmidt [Wed, 8 Apr 2020 07:53:17 +0000 (17:53 +1000)]
baseparse: Don't return more data than asked for in pull_range()
Even when pulling a new 64KB buffer from upstream, don't return
more data than was asked for in the pull_range() method and then
return less later, as that confused subclasses like h264parse.
Add a unit test that when a subclass asks for more data, it always
receives a larger buffer on the next iteration, never less.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/530
Change-Id: Id2e903a3a859b048baebb387b00cebf6658b477d
Jan Schmidt [Tue, 31 Mar 2020 15:36:40 +0000 (02:36 +1100)]
baseparse: Fix upstream read caching
When running in pull mode (for e.g. mp3 reading),
baseparse currently reads 64KB from upstream, then mp3parse
consumes typically around 417/418 bytes of it. Then
on the next loop, it will read a full fresh 64KB again,
which is a big waste.
Fix the read loop to use the available cache buffer first
before going for more data, until the cache drops to < 1KB.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/issues/518
Change-Id: Ica6d6cf09e3797eff16e2450de405bfef0ac16a2
Gilbok Lee [Thu, 21 May 2020 02:06:25 +0000 (11:06 +0900)]
spec: Add typelib
- for python, C# bindings
Change-Id: I669b12b2bd376d60694c7b84c58e1d3695f42d54
Gilbok Lee [Fri, 10 Apr 2020 03:20:58 +0000 (12:20 +0900)]
gdb: Import print_function for using python3
Change-Id: I46449697102d388580c0f4da4b861463f359a17e
Víctor Manuel Jáquez Leal [Sat, 2 Nov 2019 14:06:28 +0000 (15:06 +0100)]
elementfactory: add GST_ELEMENT_FACTORY_TYPE_HARDWARE
This new symbol matches with the elements within "Hardware" class.
cherry-pick from upstream
commit id:
9707db909d1438d9a1bc85554be8a2a741be4771
Change-Id: I1d28757bd68fe3247321bad188daf24107769399
Eunhye Choi [Fri, 13 Mar 2020 02:51:14 +0000 (11:51 +0900)]
input-selector: resolve deadlock issue
- deadlock can be occurred by bitrate query during
pipeline reconfiguration.
- the query is required by queue2 and almost demux reply
the request but not all.
- deadlock can be resolved by forwarding the query to srcpad directly.
- queue2: revert
bea8fc39a4798aafa5daeec6bc785937f916311d
which is temporary patch to avoid deadlock
Change-Id: I499d1fe27cfd9db3ef66197b5b3b752c71d3446d
Gilbok Lee [Wed, 4 Mar 2020 01:25:16 +0000 (10:25 +0900)]
gstutil: Add GST_API to the missing function
- For external uses, macro is applied.
Change-Id: I28470f85c8f5677a039ca790cacfd1866bd20bff
Gilbok Lee [Tue, 3 Mar 2020 03:44:53 +0000 (12:44 +0900)]
queue2: Didn't qeury bitrate when receive reconfigure event
- some streaming case(rtsp, mp3/ogv http streaming) occurs deadlock
Change-Id: I5cfefe81e46efa786ae3852582370275f2be4b90
Gilbok Lee [Fri, 21 Feb 2020 06:21:02 +0000 (15:21 +0900)]
Merge branch 'tizen_gst_1.16.2' into tizen
Change-Id: I34a9393f94c541fe1858823bc8a8b05bd2a8520e
Eunhye Choi [Thu, 20 Feb 2020 07:41:05 +0000 (16:41 +0900)]
queue2: remove file buffering patch
- tizen do not use file buffering.
remove the file buffering related patches.
Change-Id: I0563fe6d9dcb777f7ad7baa237416a6ff563cf6c
Gilbok Lee [Fri, 17 Jan 2020 06:23:33 +0000 (15:23 +0900)]
Merge branch 'upstream/1.16' into tizen_gst_1.16.2
Change-Id: Id3610264e91d151112ccf14d486e27e251f3ca78
Eunhye Choi [Wed, 8 Jan 2020 08:20:59 +0000 (17:20 +0900)]
queue2: handle overwriting the current range correctly
- resolve the range handle issue
side issue of below upstream patch.
https://gitlab.freedesktop.org/gstreamer/gstreamer/commit/
b3802f7a9e7988901367196dd3dc45cf4053d850
and the new patch is under reviewing.
https://gitlab.freedesktop.org/gstreamer/gstreamer/issues/208
Change-Id: Id368b546cb6fd40b29681c4111037c2913d9cd80
Eunhye Choi [Fri, 27 Dec 2019 01:36:24 +0000 (10:36 +0900)]
multiqueue: include time criteria to check buffer level
if the bytes is disabled,
time should be used to check buffer level.
Change-Id: I55983123cf20c8a5c81ce037ccdd02cf53041ac9
Tim-Philipp Müller [Tue, 3 Dec 2019 10:57:30 +0000 (10:57 +0000)]
Release 1.16.2
Tim-Philipp Müller [Tue, 3 Dec 2019 10:57:30 +0000 (10:57 +0000)]
Update docs
Tim-Philipp Müller [Tue, 3 Dec 2019 10:57:29 +0000 (10:57 +0000)]
Update translations
Tim-Philipp Müller [Tue, 3 Dec 2019 10:40:37 +0000 (10:40 +0000)]
Revert "gst/parse: define pure-parser depending on bison version"
This reverts commit
77141834bb5d124fb5781ed3be6230cc66cb42de.
This breaks the autotools build and it seems too much effort to
fix that up just to fix a bison warning.
Edward Hervey [Wed, 27 Nov 2019 14:47:32 +0000 (15:47 +0100)]
tracers: Don't leak temporary GstStructure
CID: 1455462
Víctor Manuel Jáquez Leal [Mon, 26 Aug 2019 10:48:28 +0000 (12:48 +0200)]
gst/parse: define pure-parser depending on bison version
After release bison 2.5 the declaration %pure-parser was deprecated
in favor of %define api.pure
Nonetheless, until bison 3.4, the declaration was treated as backward
compatibility, but now bison shows a warning:
warning: deprecated directive, use ‘%define api.pure’
The patch's approach is to handle both directives according with the
used bison's version, by string replacement at source configuration
stage.
Sebastian Dröge [Thu, 24 Oct 2019 22:41:27 +0000 (01:41 +0300)]
tee: First deactivate the pad and then remove it when releasing pads
This reverts
a96002bb28c21b30fb9338a4620ad20504c70aa5, which is not
necessary anymore. If we release the pad after removing it then none of
the deactivation code will actually be called because the pad has no
parent anymore, and we require a parent on the pad for deactivation to
happen.
This can then, among other things, cause a streaming thread to be still
stuck in a pad probe because the pad was never flushed, and waiting
there forever because now the pad will actually never be flushed anymore.
Sebastian Dröge [Thu, 24 Oct 2019 22:39:50 +0000 (01:39 +0300)]
tee: Check for the removed pad flag also in the slow pushing path
If a pad is currently being released we don't want to forward the
FLUSHING flow return but instead consider it as NOT_LINKED. FLUSHING
would also cause upstream to be FLUSHING.
This part was missed in
a3c4a3201a705eb1934ceeea34d1ca42d4571c07 and
resulted in a different (and wrong) workaround in
a96002bb28c21b30fb9338a4620ad20504c70aa5.
Sebastian Dröge [Thu, 24 Oct 2019 22:39:05 +0000 (01:39 +0300)]
tee: Lock mutex before reading the removed flag of the pads
Otherwise we're not guaranteed to read the very latest value that
another thread might've written in there when the pad was released, and
could instead work with an old value.
Sebastian Dröge [Mon, 30 Sep 2019 08:34:51 +0000 (11:34 +0300)]
bin: Drop need-context messages without source instead of crashing
Sebastian Dröge [Mon, 30 Sep 2019 08:49:35 +0000 (11:49 +0300)]
gst: Don't pass miniobjects to GST_DEBUG_OBJECT() and similar macros
The argument must be at least a GObject according to the GstLogFunction
definition, and while the default C log function handles miniobjects
just fine this is crashing bindings and user-supplied log functions that
(rightfully) don't expect anything but GObjects.
Seungha Yang [Mon, 19 Aug 2019 16:02:48 +0000 (01:02 +0900)]
gst-launch: Use gst_print* instead of g_print* to fix broken stdout on Windows
Concurrent Windows' colored debug message and g_print will print
string hard to read. Instead, use gst_print* which serialize
debug output and the APIs call.
Seungha Yang [Mon, 19 Aug 2019 15:59:15 +0000 (00:59 +0900)]
info: Take lock around all prinf on Windows
On Windows, concurrent colored gstreamr debug output and usual
stdout/stderr string will cause broken output on terminal.
Since it's OS specific behavior, that's hard to completely avoid it
but we can protect it at least among our printing interfaces side.
Tim-Philipp Müller [Mon, 23 Sep 2019 10:01:50 +0000 (11:01 +0100)]
Release 1.16.1
Tim-Philipp Müller [Mon, 23 Sep 2019 10:01:50 +0000 (11:01 +0100)]
Update docs
Tim-Philipp Müller [Mon, 23 Sep 2019 10:01:47 +0000 (11:01 +0100)]
Update translations
Sebastian Dröge [Thu, 12 Sep 2019 07:09:18 +0000 (10:09 +0300)]
element: Enforce that elements created by gst_element_factory_create/make() are floating
Bindings might have a hard time making sure that the reference is indeed
still floating after returning here.
See https://gitlab.freedesktop.org/gstreamer/gstreamer/issues/444
Sebastian Dröge [Thu, 12 Sep 2019 07:08:39 +0000 (10:08 +0300)]
device: Enforce that elements created by gst_device_create_element() are floating
Bindings might have a hard time making sure that the reference is indeed
still floating after returning here.
See https://gitlab.freedesktop.org/gstreamer/gstreamer/issues/444
Sebastian Dröge [Thu, 12 Sep 2019 07:03:08 +0000 (10:03 +0300)]
device: gst_device_create_element() is `transfer floating`, not `transfer full`
Fixing the annotation fixes leaking of the created element in all
bindings using GObject-Introspection.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/issues/444
Eunhye Choi [Tue, 10 Sep 2019 03:41:20 +0000 (12:41 +0900)]
[ptp-helper] set none as permission opt
- setuid bit is enabled by the default permission opt.
- set none for permission option to resolve security issue
Change-Id: Ic809b971a9a2f235a6905a8772b37a76a26cda1b
Jim Mason [Sat, 7 Sep 2019 11:32:40 +0000 (12:32 +0100)]
consolidated IOV_MAX/UIO_MAXIOV handling per GLib + legacy behaviour for osx/ios
Jim Mason [Fri, 6 Sep 2019 18:23:01 +0000 (19:23 +0100)]
gst_writev: respect IOV_MAX for the writev iovec array #439
David Svensson Fors [Tue, 3 Sep 2019 08:38:13 +0000 (10:38 +0200)]
miniobject: free qdata array when the last qdata is removed
In cases with many long-lived buffers that have qdata only very
briefly, the memory overhead of keeping an array of 16 GstQData
structs for each buffer can be significant. We free the array when
the last qdata is removed, like it was done in 1.14.
Fixes #436
Nicolas Dufresne [Tue, 3 Sep 2019 17:44:24 +0000 (13:44 -0400)]
bin: Fix minor race when adding to a bin
This patch simply add a null check around a case where a child may have
been unparented concurrently to the deep_add_remove operation. This was
found by accident in the form of an "IS_GST_OBJECT" assertion, but had
no other known side effect in that test.
Tim-Philipp Müller [Thu, 15 Aug 2019 11:56:06 +0000 (12:56 +0100)]
meson: fix warning about configure_file() install kwarg
The install kwarg on configure_file() was only added in
Meson 0.50 but we're targetting older versions as well,
which caused a warning. The install kwarg is not needed
here as we specify install_dir, so we can just drop it.
Fixes #379
Sebastian Dröge [Wed, 14 Aug 2019 06:51:55 +0000 (09:51 +0300)]
aggregator: Actually handle NEED_DATA return from update_src_caps()
The documentation says that this allows the subclass to signal that it
needs more data before it can decide on caps, so let's actually
implement it that way.
Sebastian Dröge [Tue, 13 Aug 2019 16:57:08 +0000 (19:57 +0300)]
aggregator: Assert if the sink/src pad type that is to be used is not a GstAggregatorPad or subclass thereof
Sebastian Dröge [Tue, 13 Aug 2019 16:55:59 +0000 (19:55 +0300)]
aggregator: Ensure that the source pad is created as a GstAggregatorPad if no type is given in the pad template
Otherwise we would create a GstPad and that causes invalid memory
accesses later.
Guillaume Desmottes [Tue, 6 Aug 2019 04:39:22 +0000 (10:09 +0530)]
latency: fix custom event leaks
If the element before the sink needs $n buffers to produce one output
buffer, we were reffing $n events and unreffing only one.
Prevent this by using g_object_set_qdata_full() to handle the event
unreffing so we're sure no ref will be lost.
Guillaume Desmottes [Fri, 2 Aug 2019 07:37:58 +0000 (13:07 +0530)]
tracers: set MAY_BE_LEAKED on tracer records
The records are static and so appear as false positives when using those
tracers with the leaks tracer as well.
The leaks tracer was already setting this flag on its record so let's
set it on the other ones as well.
Guillaume Desmottes [Thu, 20 Jun 2019 11:12:01 +0000 (16:42 +0530)]
latency: display event pointer in logs
This is quite useful for debugging when tracer is reporting the wrong
latency because of an element breaking the events/buffers ordering.
Alicia Boya García [Mon, 22 Jul 2019 15:06:20 +0000 (15:06 +0000)]
downloadbuffer: Check for flush after seek
In gst_download_buffer_wait_for_data(), when a seek is made with
perform_seek_to_offset() the `qlock` is released temporarily. Therefore,
the flushing condition can be set during this period and should be
checked.
This was not being checked before, causing occasional deadlocks when
GST_DOWNLOAD_BUFFER_WAIT_ADD_CHECK() was called.
GST_DOWNLOAD_BUFFER_WAIT_ADD_CHECK() assumes that the caller has already
checked that we're not flushing before, since this is done when
acquiring the lock; so if we release it temporarily somewhere, we need
to check for flush again.
Without that check, the function would keep waiting for the condition
variable to be notified before checking for flushing condition again,
and that may very well never happen. This was reproduced when during pad
deactivation when running WebKit in gdb.
Sebastian Dröge [Thu, 8 Aug 2019 10:49:07 +0000 (13:49 +0300)]
registry: Use plugin directory from the build system for relocateable Windows builds
Instead of guessing something based on preprocessor defines and magic.
Tim-Philipp Müller [Mon, 5 Aug 2019 23:05:22 +0000 (00:05 +0100)]
message: fix up enum value for GST_MESSAGE_DEVICE_CHANGED
This was added in 1.16 and accidentally duplicated the value of
the existing GST_MESSAGE_REDIRECT.
As the only known user of this message is GStreamer core itself,
and it is quite an obscure message, it seems best to just fix up
the enum value even if that technically breaks API.
Fixes #418
Doug Nazar [Wed, 31 Jul 2019 01:40:47 +0000 (21:40 -0400)]
info: Fix deadlock in gst_ring_buffer_logger_log
gst_ring_buffer_logger_log calls several functions while formatting
the message which may in turn log a message while we already hold
the mutex. Do all formatting first before acquiring the mutex to
avoid this and reduce the time we hold the mutex.
Nicolas Dufresne [Sat, 20 Jul 2019 01:57:09 +0000 (21:57 -0400)]
identity: Non-live upstream have no max latency
sync=TRUE implementation changes the latency query of a non-live
upstream into live, though it wrongly set the upstream max latency to 0.
As non-live sources won't loose data if we wait longer, this should have
been reported as have no max latency limite (-1).
Philippe Normand [Thu, 11 Jul 2019 16:53:53 +0000 (17:53 +0100)]
identity: Fix the ts-offset property getter
Previous code was a copy/paste from the property setter function.
Sebastian Dröge [Mon, 8 Jul 2019 16:09:03 +0000 (19:09 +0300)]
aggregator: Make parsing of explicit sink pad names more robust
When passing "sink_%d" twice to aggregator before it would create two
pads called "sink_0", because it failed to parse "%d" as integer and
used 0 instead then.
Instead validate that parsing was actually successful and also don't
even try to parse if the requested pad name contains a '%'.
Nicolas Dufresne [Sat, 29 Jun 2019 13:22:05 +0000 (09:22 -0400)]
bufferpool: Fix the buffer size reset code
The offset in gst_buffer_resize() is additive. So to move back the
offset to zero, we need to pass the opposite of the current offset. This
was raised through the related unit test failingon 32bit as on 64bit
the alignment padding was enough to hide the issue. The test was
modified to also fail on 64bit. This patch will remove spurious
assertions like:
assertion 'bufmax >= bufoffs + offset + size' failed
Fixes #316
Guillaume Desmottes [Thu, 20 Jun 2019 08:19:14 +0000 (13:49 +0530)]
gstelements_private: sync gst_buffer_get_flags_string() with new flags
Thibault Saunier [Thu, 20 Jun 2019 03:29:24 +0000 (23:29 -0400)]
multiqueue: never unref queries we do not own
The `query` argument of gst_pad_query is "transfer none".
Query objects are "borrowed" by the pad query handlers and those
should never unref them.
This was leading to double freed queries in a very racy way with nested
GESTimelines.
Sebastian Dröge [Tue, 4 Jun 2019 14:55:30 +0000 (17:55 +0300)]
concat: Reset last_stop on FLUSH_STOP too
Otherwise when seeking backwards we would keep the last_stop at the last
position we saw until playback passed the seek position again, and if
switching to the next pad happens in the meantime we would set the wrong
offset in the outgoing segment.
Sebastian Dröge [Tue, 4 Jun 2019 14:56:30 +0000 (17:56 +0300)]
concat: Improve debug output a bit
Tim-Philipp Müller [Wed, 29 Jul 2015 10:48:33 +0000 (11:48 +0100)]
aggregator: fix flow-return boolean return type mismatch
Not that it matters, since we don't check the return value
anyway. Unclear why the aggregator pad flush function should
have a return value at all really, and perhaps it should be
called reset anyway. Spotted by dv on irc.
Edward Hervey [Mon, 13 May 2019 14:42:04 +0000 (16:42 +0200)]
gstpad: Probes that return HANDLED can reset the data info field
Before GST_PAD_PROBE_HANDLED was introduced, we had to handle the case
where some probes would reset the probe info data field to NULL. This would
be considered an invalid use-case.
But with GST_PAD_PROBE_HANDLED it is totally fine to reset that, since
the probe has "handled" it.
Nirbheek Chauhan [Mon, 13 May 2019 07:54:42 +0000 (13:24 +0530)]
meson: Link to objects instea of static helper library
Otherwise the objects from that static helper library are not included
in the gstreamer-1.0 static library. This was supposed to be fixed in
Meson, but the pull request hasn't been merged yet:
https://github.com/mesonbuild/meson/pull/3939
Closes https://gitlab.freedesktop.org/gstreamer/gstreamer/issues/398
Nirbheek Chauhan [Mon, 13 May 2019 09:12:28 +0000 (14:42 +0530)]
meson: Pass -DGST_STATIC_COMPILATION for static builds
This is only needed on Windows when building with MSVC, but it is safe
to pass it everywhere.
Closes https://gitlab.freedesktop.org/gstreamer/gstreamer/issues/398
Michael Olbrich [Sat, 11 May 2019 16:21:19 +0000 (18:21 +0200)]
meson: set correct install path for gdb helper
The original version of the patch used glib-2.0 but that was later changed
to gstreamer-1.0 for autotools. The meson file was forgotten.
Fix the path to match the one used in libgstreamer-gdb.py.in.
Niels De Graef [Wed, 8 May 2019 10:11:50 +0000 (12:11 +0200)]
gst: Add support for g_autoptr(GstPromise)
Niklas Hambüchen [Wed, 1 May 2019 13:46:56 +0000 (15:46 +0200)]
Make get_flex_version.py script executable
Like all other scripts in the same dir.
It has a hashbang, so it should be executable.
Andoni Morales Alastruey [Wed, 24 Apr 2019 16:22:06 +0000 (18:22 +0200)]
gst-inspect: fix unused-const-variable error in windows
../tools/gst-inspect.c:44:20: error: 'DEFAULT_PAGER' defined but not used [-Werror=unused-const-variable=]
Sebastian Dröge [Tue, 23 Apr 2019 14:33:34 +0000 (17:33 +0300)]
base: Include gstbitwriter.h in the single-include header
Sebastian Dröge [Tue, 23 Apr 2019 15:00:59 +0000 (18:00 +0300)]
bitwriter: Fix inclusion of header in C++ code
../subprojects/gstreamer/libs/gst/base/gstbitwriter.h: In function 'gboolean _gst_bit_writer_check_remaining(GstBitWriter*, guint32)':
../subprojects/gstreamer/libs/gst/base/gstbitwriter.h:161:31: error: invalid conversion from 'gpointer' {aka 'void*'} to 'guint8*' {aka 'unsigned char*'} [-fpermissive]
bitwriter->data = g_realloc (bitwriter->data, (new_bit_size >> 3));
~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Sebastian Dröge [Tue, 23 Apr 2019 09:31:07 +0000 (12:31 +0300)]
bitwriter: Mark the whole type as Since: 1.16
Sebastian Dröge [Tue, 23 Apr 2019 11:39:48 +0000 (14:39 +0300)]
caps: Add Since: 1.16 marker to gst_caps_copy()
Sebastian Dröge [Tue, 23 Apr 2019 11:54:03 +0000 (14:54 +0300)]
aggregator: Mark all public structs as Since: 1.14
Sebastian Dröge [Tue, 23 Apr 2019 12:07:08 +0000 (15:07 +0300)]
libs: Fix various Since markers
Sebastian Dröge [Tue, 23 Apr 2019 12:08:18 +0000 (15:08 +0300)]
gst: Fix various Since markers
Tim-Philipp Müller [Thu, 2 May 2019 11:35:17 +0000 (12:35 +0100)]
ci: use template from 1.16 branch
Tim-Philipp Müller [Thu, 18 Apr 2019 23:15:21 +0000 (00:15 +0100)]
Release 1.16.0
Tim-Philipp Müller [Thu, 18 Apr 2019 23:15:21 +0000 (00:15 +0100)]
Update docs
Tim-Philipp Müller [Thu, 18 Apr 2019 23:15:19 +0000 (00:15 +0100)]
Update translations
Olivier Crête [Thu, 18 Apr 2019 08:13:51 +0000 (10:13 +0200)]
basesrc: Downgrade EOS warning
In the case of pushfilesrc, this is the expected behaviour, so let's
downgrade the warning to a debug message to avoid confusing users.
Mathieu Duponchelle [Wed, 17 Apr 2019 18:46:58 +0000 (20:46 +0200)]
tests: basesrc: unref gst_bus_timed_pop_filtered return
Mathieu Duponchelle [Tue, 16 Apr 2019 11:29:00 +0000 (13:29 +0200)]
gstinfo: clean up function pointer names hashtable
And add strduped function pointer names to the global quark
table, so that they don't get reported as lost by valgrind.
This allows us to use GST_DEBUG when running tests under
valgrind.
Tim-Philipp Müller [Tue, 16 Apr 2019 22:50:15 +0000 (23:50 +0100)]
aggregator: fix doc chunk for new buffer-consumed signal
Fixes 'Warning: GstBase: incorrect number of parameters in
comment block, parameter annotations will be ignored.' from
g-ir-scanner.
Julian Bouzas [Fri, 12 Apr 2019 13:23:52 +0000 (09:23 -0400)]
tracer: latency: Don't compare element name as element Id is already unique
Julian Bouzas [Fri, 12 Apr 2019 12:38:03 +0000 (08:38 -0400)]
tracer: latency: Remove redundant if conditions
Julian Bouzas [Fri, 12 Apr 2019 12:34:49 +0000 (08:34 -0400)]
tracer: latency: Make GST_DEBUG logs consistent
Julian Bouzas [Fri, 12 Apr 2019 12:28:22 +0000 (08:28 -0400)]
tracer: latency: Fix bug when dropping sub-latency probe event
Fixes #373
Philipp Zabel [Fri, 12 Apr 2019 14:37:18 +0000 (16:37 +0200)]
event: fix seek event creation
Creating seek events segfaults on 32-bit ARM since commit
2fa15d53717c
('event: add new seek parameter, "trickmode-interval"'), which missed
casting the trickmode-interval initializer in the variable argument list
to guint64.
Xavier Claessens [Thu, 11 Apr 2019 19:32:51 +0000 (15:32 -0400)]
gst-inspect: Do not print warning if 'less' is missing
Tim-Philipp Müller [Wed, 10 Apr 2019 23:19:11 +0000 (00:19 +0100)]
Release 1.15.90
Tim-Philipp Müller [Wed, 10 Apr 2019 23:19:11 +0000 (00:19 +0100)]
Update docs
Julian Bouzas [Wed, 10 Apr 2019 13:17:01 +0000 (09:17 -0400)]
tracer: latency: Fix typo bug
Julian Bouzas [Wed, 10 Apr 2019 13:13:53 +0000 (09:13 -0400)]
tracer: latency: Fix bug when storing latency probe event
The pad name sotred in the latency event has no longer the name of the element,
so we have to get the element Id, element name and pad name values from the data
structure and compare all 3 values.
Sebastian Dröge [Wed, 10 Apr 2019 07:18:54 +0000 (10:18 +0300)]
controlbinding: Check if the weak pointer was cleared before explicitly removing it
Otherwise we'll get an assertion if the object behind the weak pointer
was already destroyed in the meantime as we would pass NULL as first
argument to g_object_remove_weak_pointer().
Julian Bouzas [Tue, 9 Apr 2019 12:05:09 +0000 (08:05 -0400)]
tracer: latency: Show element id, element name and pad name
Julian Bouzas [Mon, 25 Mar 2019 14:36:08 +0000 (15:36 +0100)]
gst-stats: Add element latency support
This will output latency information when parsing a log file with gst-stats that
has latency trace information. It will show the min, max and mean latency for
the pipeline and all its elements. It will also show the reported latency for
each element of the pipeline. Output example:
Latency Statistics:
pulsesrc0_src|fakesink0_sink: mean=
190000043 min=
190000043 max=
190000043
Element Latency Statistics:
flacparse0_src: mean=
45561281 min=654988 max=
90467575
flacenc0_src: mean=
89938883 min=
81913512 max=
97964254
flacdec0_src: mean=
45804881 min=228962 max=
91380801
Element Reported Latency:
pulsesrc0: min=
10000000 max=
200000000 ts=0:00:00.
262846528
flacenc0: min=
104489795 max=
104489795 ts=0:00:00.
262898616
flacparse0: min=0 max=0 ts=0:00:00.
262927962
Julian Bouzas [Thu, 21 Mar 2019 09:37:34 +0000 (10:37 +0100)]
tracer: latency: Show per-element reported latency
Julian Bouzas [Wed, 20 Mar 2019 11:20:48 +0000 (12:20 +0100)]
tracer: latency: Show element's source pad name instead of element's name
The full pad name gives more information than the element's name, which is very
useful when elements have multiple source pads.
Nicolas Dufresne [Tue, 19 Mar 2019 01:55:50 +0000 (21:55 -0400)]
latency: Dot not override already stored events
First, the event would be leaved, but also when an element takes
several buffers before producing one, we want the reported latency to be
the aggregation, so the distance from the oldest buffer.
Nicolas Dufresne [Wed, 31 Oct 2018 20:50:48 +0000 (16:50 -0400)]
tracer: latency: Add parameter to select latency type
This sets back the default to trace only pipeline latency, and add flags
to enabled element tracing. It is now possible to only trace element
latency, only trace pipeline latency, trace both or none.
Nicolas Dufresne [Fri, 6 Jul 2018 21:08:24 +0000 (17:08 -0400)]
tracer: latency: Add per element latency tracer
This adds per element latency tracing.
Nicolas Dufresne [Wed, 4 Jul 2018 18:18:42 +0000 (14:18 -0400)]
tracer: Don't pass pads inside GstEvent
This removes the passing of pad inside of a GstEvent. While this is not
a bug, it may affect the live time of the pad, hense change the pipeline
behaviour.
Mathieu Duponchelle [Tue, 13 Nov 2018 20:19:22 +0000 (21:19 +0100)]
basesrc: do not send EOS when automatic_eos is FALSE
Mathieu Duponchelle [Mon, 1 Apr 2019 10:22:49 +0000 (12:22 +0200)]
aggregator: add buffer-consumed pad signal
The signal will be emitted when a buffer was consumed on
a pad, if the newly-added "emit-signals" property has been
set to TRUE.
Handlers connected to the signal will receive a valid reference on
the consumed buffer, allowing for example the retrieval of metas in
order to forward them once an output buffer is pushed out.