Commit graph

18673 commits

Author SHA1 Message Date
Niels De Graef 8d180557eb uri: Add gst_clear_uri()
Basically, you can use this instead of using `gst_uri_unref()` (which
needs to be preceded by a NULL-check).

See https://gitlab.freedesktop.org/gstreamer/gstreamer/issues/275
and https://gitlab.freedesktop.org/gstreamer/gstreamer/merge_requests/3
2019-05-10 14:59:23 +02:00
Víctor Manuel Jáquez Leal 19467a7d8d gstbasesink: Fix gir annotation 2019-05-09 08:59:59 +02:00
Aaron Boxer fa99a88558 gstbasesink: add stats getter method
fixes #355
2019-05-08 14:45:42 -04:00
Niels De Graef cfca53ce67 gst: Add support for g_autoptr(GstPromise) 2019-05-08 12:11:50 +02:00
Niklas Hambüchen f5ccb2215a Make get_flex_version.py script executable
Like all other scripts in the same dir.

It has a hashbang, so it should be executable.
2019-05-01 15:46:56 +02:00
Guillaume Desmottes ab60a330db gst-stats: format latency as GST_TIME
Latency is easier to read when formatted as time rather than displayed
as a flat number in ns.
Especially when displaying GST_CLOCK_TIME_NONE which is now formated as
99:99:99.999999999 instead of 18446744073709551615.
2019-04-25 06:28:26 +00:00
Andoni Morales Alastruey 38d535ff84 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=]
2019-04-24 16:34:08 +00:00
Mathieu Duponchelle 21a02e7672 gstsegment: Add GST_SEEK_FLAG_TRICKMODE_FORWARD_PREDICTED
This is generally useful, and mandated by the ONVIF streaming
spec, section 6.5.3

<https://www.onvif.org/specs/stream/ONVIF-Streaming-Spec.pdf>
2019-04-24 15:30:22 +00:00
Rasmus Thomsen cc9c3c3175 meson: check for libcap via pkg-config
It's possible that setcap is installed, but the libcap headers/libs aren't (e.g.
during cross compilation, when you have the program installed for the host,
but need the headers of the target). Also removes the need to manually check
for the libcap headers.
2019-04-24 13:27:42 +00:00
Sebastian Dröge f57e79a073 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));
                     ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2019-04-23 15:15:56 +00:00
Sebastian Dröge e823f02b5a base: Include gstbitwriter.h in the single-include header 2019-04-23 15:15:56 +00:00
Sebastian Dröge a42aaf87d5 gst: Fix various Since markers 2019-04-23 15:08:18 +03:00
Sebastian Dröge 52f1c98443 libs: Fix various Since markers 2019-04-23 15:07:08 +03:00
Sebastian Dröge 0a0496f98f aggregator: Mark all public structs as Since: 1.14 2019-04-23 14:54:03 +03:00
Sebastian Dröge 26aa7a6d36 caps: Add Since: 1.16 marker to gst_caps_copy() 2019-04-23 14:53:11 +03:00
Sebastian Dröge 0058eeb1de bitwriter: Mark the whole type as Since: 1.16 2019-04-23 14:53:11 +03:00
Robert Rosengren 3b5933eadd netutils: make gst_net_utils_set_socket_dscp external
Internal gst_net_utils_set_socket_dscp renamed and turned into external
function. Similar functionality exists in e.g. multidupsink, which could
instead use this one.
2019-04-22 09:01:14 +00:00
Robert Rosengren 3faab6f017 netutils: Add IPv6 support to QoS DSCP
Added IPv6 support as already implemented in multiudpsink
(gst-plugins-good).
2019-04-22 09:01:14 +00:00
Tim-Philipp Müller e54261c7eb docs: add index for new symbols in 1.16 2019-04-19 12:31:22 +01:00
Tim-Philipp Müller 3124cd602e Back to development 2019-04-19 11:00:06 +01:00
Tim-Philipp Müller 89c221a697 Release 1.16.0 2019-04-19 00:15:22 +01:00
Tim-Philipp Müller 7a391b42ae Update docs 2019-04-19 00:15:21 +01:00
Tim-Philipp Müller dcc48e7950 Update translations 2019-04-19 00:15:19 +01:00
Olivier Crête 61f2d9b07a 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.
2019-04-18 13:55:47 +00:00
Mathieu Duponchelle 5f21596795 tests: basesrc: unref gst_bus_timed_pop_filtered return 2019-04-17 23:03:56 +02:00
Mathieu Duponchelle dc5a62f702 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.
2019-04-17 23:03:56 +02:00
Tim-Philipp Müller 41f873fa0a 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.
2019-04-16 23:51:19 +01:00
Julian Bouzas 35788c8563 tracer: latency: Don't compare element name as element Id is already unique 2019-04-15 11:29:32 +00:00
Julian Bouzas e128c7310c tracer: latency: Remove redundant if conditions 2019-04-15 11:29:32 +00:00
Julian Bouzas 780bf26e43 tracer: latency: Make GST_DEBUG logs consistent 2019-04-15 11:29:32 +00:00
Julian Bouzas a376bab21d tracer: latency: Fix bug when dropping sub-latency probe event
Fixes #373
2019-04-15 11:29:32 +00:00
Philipp Zabel b99bca2790 event: fix seek event creation
Creating seek events segfaults on 32-bit ARM since commit 2fa15d5371
('event: add new seek parameter, "trickmode-interval"'), which missed
casting the trickmode-interval initializer in the variable argument list
to guint64.
2019-04-12 18:30:12 +02:00
Xavier Claessens 79ddce2043 gst-inspect: Do not print warning if 'less' is missing 2019-04-11 16:06:15 -04:00
Tim-Philipp Müller cd7075dcc2 Release 1.15.90 2019-04-11 00:19:12 +01:00
Tim-Philipp Müller de0ef22afe Update docs 2019-04-11 00:19:11 +01:00
Julian Bouzas d908dee9e9 tracer: latency: Fix typo bug 2019-04-10 09:17:01 -04:00
Julian Bouzas 308f505110 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.
2019-04-10 09:16:03 -04:00
Sebastian Dröge e0c9d4f879 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().
2019-04-10 10:18:54 +03:00
Julian Bouzas 1ec8114717 tracer: latency: Show element id, element name and pad name 2019-04-09 08:50:16 -04:00
Julian Bouzas e615a3ddee 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
2019-04-08 12:28:07 -04:00
Julian Bouzas 0f0403e5d9 tracer: latency: Show per-element reported latency 2019-04-08 12:28:07 -04:00
Julian Bouzas e975d5d1c4 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.
2019-04-08 12:28:07 -04:00
Nicolas Dufresne 5470f6df00 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.
2019-04-08 12:28:07 -04:00
Nicolas Dufresne bdb75a1450 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.
2019-04-08 12:28:07 -04:00
Nicolas Dufresne 6a35153e4e tracer: latency: Add per element latency tracer
This adds per element latency tracing.
2019-04-08 12:28:07 -04:00
Nicolas Dufresne 4585d22a8d 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.
2019-04-08 12:28:07 -04:00
Mathieu Duponchelle fee108f7cf basesrc: do not send EOS when automatic_eos is FALSE 2019-04-05 18:00:29 +00:00
Mathieu Duponchelle ae57b1c76d 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.
2019-04-05 12:13:54 +00:00
Antonio Ospite 90beb712a0 gst-inspect: fix printing the first field of a GstStructure
When printing a GstStructure property (e.g. the "stats" property in
rtpsession) the first field is printed on the same line of the type
description, and this is both inconsistent compared to  how Enum values
are printed and confusing as the reader might miss the first field.

To fix this, add a newline before printing GstStructure fields in
properties.

NOTE: this does not change the existing inconsistent behavior of an
extra newline *after* a GstStructure property, but the latter is not as
annoying and it would take more effort to fix because GstStructure
fields are printed in CAPS descriptions too.
2019-04-05 12:02:40 +02:00
Mathieu Duponchelle 2fa15d5371 event: add new seek parameter, "trickmode-interval"
When performing a key unit trickmode seek, it may be useful to
specify a minimum interval between the output frames, either
in very high rate cases, or as a protection against streams
that may contain an overly large amount of key frames.

One use case is ONVIF Section 6.5.3:

<https://www.onvif.org/specs/stream/ONVIF-Streaming-Spec.pdf>
2019-04-01 17:13:32 +00:00