platform/upstream/gstreamer.git
6 years agogstinfo: Reduce code duplication around level pattern matching
Jan Alexander Steffens (heftig) [Tue, 27 Mar 2018 08:14:27 +0000 (10:14 +0200)]
gstinfo: Reduce code duplication around level pattern matching

Move the match, logging and set_threshold to a new function.

The log levels are different, so choose the higher one (LOG). Having two
equivalent messages at two different levels seems like a bad idea
anyway.

https://bugzilla.gnome.org/show_bug.cgi?id=794717

6 years agostreamcollection: embed GQueue into the private struct
Tim-Philipp Müller [Tue, 27 Mar 2018 16:16:05 +0000 (17:16 +0100)]
streamcollection: embed GQueue into the private struct

6 years agodocs: Update libs documentation
Edward Hervey [Mon, 2 Apr 2018 10:44:15 +0000 (12:44 +0200)]
docs: Update libs documentation

* Make sure all libcheck headers are ignored
* Add all missing symbols

6 years agodocs: Update gst core doc
Edward Hervey [Mon, 2 Apr 2018 10:43:57 +0000 (12:43 +0200)]
docs: Update gst core doc

6 years agogst: Documentation fixes
Edward Hervey [Mon, 2 Apr 2018 10:42:30 +0000 (12:42 +0200)]
gst: Documentation fixes

* Fix copy-paste error for GstParamSpecArray documentation
* Use proper field name for tracer utils documentation

6 years agolibs: Documentation fixes
Edward Hervey [Mon, 2 Apr 2018 10:41:48 +0000 (12:41 +0200)]
libs: Documentation fixes

* Symbols not properly exposed or wrongly named

6 years agobin: fix deep-element-added signal debug log message
Matthew Waters [Thu, 29 Mar 2018 01:36:11 +0000 (12:36 +1100)]
bin: fix deep-element-added signal debug log message

Adding the bin to the child element doesn't really make sense.

6 years agomeson: bump meson req for gnome.mkenums_simple()
Tim-Philipp Müller [Thu, 22 Mar 2018 13:00:21 +0000 (13:00 +0000)]
meson: bump meson req for gnome.mkenums_simple()

6 years agomeson: remove no longer needed core enumtypes template files
Tim-Philipp Müller [Thu, 22 Mar 2018 12:18:28 +0000 (12:18 +0000)]
meson: remove no longer needed core enumtypes template files

6 years agomeson: use gnome.mkenums_simple() to generate core enumtypes
Alessandro Decina [Thu, 20 Jul 2017 08:12:43 +0000 (18:12 +1000)]
meson: use gnome.mkenums_simple() to generate core enumtypes

6 years agomeson: use gnome.mkenums_simple() to generate controller enumtypes
Alessandro Decina [Thu, 20 Jul 2017 03:03:55 +0000 (13:03 +1000)]
meson: use gnome.mkenums_simple() to generate controller enumtypes

6 years agomeson: delete unused variable
Alessandro Decina [Wed, 19 Jul 2017 09:37:02 +0000 (19:37 +1000)]
meson: delete unused variable

6 years agotest: Pool now try to reset the size
Nicolas Dufresne [Thu, 22 Mar 2018 00:02:50 +0000 (20:02 -0400)]
test: Pool now try to reset the size

As a side effect, buffers are no longer expected to be discarded on
resize.

6 years agogstbuffer: reset buffer to its original size if intact
Petr Kulhavy [Mon, 14 Nov 2016 14:35:50 +0000 (15:35 +0100)]
gstbuffer: reset buffer to its original size if intact

Enhance default_reset_buffer() to resize the buffer to its full size if the
memory hasn't changed. This allows to reuse the buffer even if the offset has
changed or the size has shrunk, rather than freeing the buffer.

Change related to: https://bugzilla.gnome.org/show_bug.cgi?id=772841

6 years agonet: Include gstnetcontrolmessagemeta.h in net.h
Sebastian Dröge [Wed, 21 Mar 2018 08:20:14 +0000 (10:20 +0200)]
net: Include gstnetcontrolmessagemeta.h in net.h

6 years agoparamspecs: Set g-i annotation values for GST_PARAM_* constants
Sebastian Dröge [Wed, 21 Mar 2018 08:13:44 +0000 (10:13 +0200)]
paramspecs: Set g-i annotation values for GST_PARAM_* constants

6 years agoelementfactory: GST_ELEMENT_FACTORY_TYPE_DECODABLE had DECRYPTOR added, update g...
Sebastian Dröge [Wed, 21 Mar 2018 08:11:30 +0000 (10:11 +0200)]
elementfactory: GST_ELEMENT_FACTORY_TYPE_DECODABLE had DECRYPTOR added, update g-i annotation value

6 years agogst: Fix compilation with latest GLib
Sebastian Dröge [Tue, 20 Mar 2018 14:11:01 +0000 (16:11 +0200)]
gst: Fix compilation with latest GLib

g_object_ref() forwards the type of its argument nowadays.

./grammar.y:409:14: error: assignment from incompatible pointer type [-Werror=incompatible-pointer-types]
gstchildproxy.c:212:7: error: assignment from incompatible pointer type [-Werror=incompatible-pointer-types]

6 years agoBack to development
Tim-Philipp Müller [Tue, 20 Mar 2018 09:02:34 +0000 (09:02 +0000)]
Back to development

6 years agoRelease 1.14.0
Tim-Philipp Müller [Mon, 19 Mar 2018 20:09:51 +0000 (20:09 +0000)]
Release 1.14.0

6 years agoUpdate docs
Tim-Philipp Müller [Mon, 19 Mar 2018 20:09:51 +0000 (20:09 +0000)]
Update docs

6 years agoRelease 1.13.91
Tim-Philipp Müller [Tue, 13 Mar 2018 19:08:54 +0000 (19:08 +0000)]
Release 1.13.91

6 years agoUpdate docs
Tim-Philipp Müller [Tue, 13 Mar 2018 19:08:54 +0000 (19:08 +0000)]
Update docs

6 years agomeson: docs: update api decorators to ignore
Tim-Philipp Müller [Tue, 13 Mar 2018 11:54:42 +0000 (11:54 +0000)]
meson: docs: update api decorators to ignore

6 years agodocs: fixup for new libs API export decorators
Tim-Philipp Müller [Mon, 12 Mar 2018 23:12:13 +0000 (23:12 +0000)]
docs: fixup for new libs API export decorators

6 years agonet: GST_EXPORT -> GST_NET_API
Tim-Philipp Müller [Mon, 12 Mar 2018 23:03:26 +0000 (23:03 +0000)]
net: GST_EXPORT -> GST_NET_API

We need different export decorators for the different libs.
For now no actual change though, just rename before the release,
and add prelude headers to define the new decorator to GST_EXPORT.

6 years agocontroller: GST_EXPORT -> GST_CONTROLLER_API
Tim-Philipp Müller [Mon, 12 Mar 2018 23:03:26 +0000 (23:03 +0000)]
controller: GST_EXPORT -> GST_CONTROLLER_API

We need different export decorators for the different libs.
For now no actual change though, just rename before the release,
and add prelude headers to define the new decorator to GST_EXPORT.

6 years agocheck: GST_EXPORT -> GST_CHECK_API
Tim-Philipp Müller [Mon, 12 Mar 2018 23:03:26 +0000 (23:03 +0000)]
check: GST_EXPORT -> GST_CHECK_API

We need different export decorators for the different libs.
For now no actual change though, just rename before the release,
and add prelude headers to define the new decorator to GST_EXPORT.

6 years agobase: GST_EXPORT -> GST_BASE_API
Tim-Philipp Müller [Mon, 12 Mar 2018 23:03:26 +0000 (23:03 +0000)]
base: GST_EXPORT -> GST_BASE_API

We need different export decorators for the different libs.
For now no actual change though, just rename before the release,
and add prelude headers to define the new decorator to GST_EXPORT.

6 years agogst: GST_EXPORT -> GST_API
Tim-Philipp Müller [Mon, 12 Mar 2018 23:03:26 +0000 (23:03 +0000)]
gst: GST_EXPORT -> GST_API

We need different export decorators for the different libs.
For now no actual change though, just rename before the release,
and add prelude headers to define the new decorator to GST_EXPORT.

6 years agopromise: be more explicit in docs about who/when to use reply/interrupt/expire
Matthew Waters [Thu, 8 Mar 2018 02:30:30 +0000 (13:30 +1100)]
promise: be more explicit in docs about who/when to use reply/interrupt/expire

https://bugzilla.gnome.org/show_bug.cgi?id=794153

6 years agobasesrc: Balance unlock/unlock_stop in _src_stop()
Nicolas Dufresne [Wed, 7 Mar 2018 16:19:25 +0000 (11:19 -0500)]
basesrc: Balance unlock/unlock_stop in _src_stop()

Otherwise it's possible that we won't be able to start again
depending the implementation. We do start/stop in normal use cases
whenever GST_QUERY_SCHEDULING happens before we are started.

https://bugzilla.gnome.org/show_bug.cgi?id=794149

6 years agobasesrc: No need to stop flushing in start_complete
Nicolas Dufresne [Wed, 7 Mar 2018 16:16:00 +0000 (11:16 -0500)]
basesrc: No need to stop flushing in start_complete

The flushing state is handled a bit differently, there is no need
to stop flushing in start_complete. This would other result in
unlock_stop being called without unlock_start.

Unlike what the old comment says, there is no need to take the live
lock here, we are still single threaded at this point (app thread
or the state change thread). Also, we will wait for playing state
in create/getrange, no need to do that twice.

https://bugzilla.gnome.org/show_bug.cgi?id=794149

6 years agodebugutils: Change dot-file functions documentation to proper gtk-doc
Sebastian Dröge [Mon, 5 Mar 2018 09:52:24 +0000 (11:52 +0200)]
debugutils: Change dot-file functions documentation to proper gtk-doc

This way gobject-introspection also picks it up and handles our
annotations.

See https://gitlab.gnome.org/GNOME/gobject-introspection/issues/194

6 years agoqueuearray: Implement pop_tail_struct() for completeness
Sebastian Dröge [Sun, 4 Mar 2018 08:53:10 +0000 (10:53 +0200)]
queuearray: Implement pop_tail_struct() for completeness

All other variants of {peek,pop}_{head,tail}_{,struct} were already
implemented.

https://bugzilla.gnome.org/show_bug.cgi?id=794035

6 years agogst: Add some more (type filename) annotations
Sebastian Dröge [Sun, 4 Mar 2018 08:24:49 +0000 (10:24 +0200)]
gst: Add some more (type filename) annotations

6 years agoRelease 1.13.90
Tim-Philipp Müller [Sat, 3 Mar 2018 21:51:49 +0000 (21:51 +0000)]
Release 1.13.90

6 years agoUpdate docs
Tim-Philipp Müller [Sat, 3 Mar 2018 21:51:49 +0000 (21:51 +0000)]
Update docs

6 years agoplugins: Don't force 64-bit file/seek functions variants on android
Matthew Waters [Tue, 13 Feb 2018 11:20:18 +0000 (22:20 +1100)]
plugins: Don't force 64-bit file/seek functions variants on android

Most functions are automatically chosen from the _FILE_OFFSET_BITS
define, the remaining one (fstat) is only available on API >= 21 so
check for that

6 years agoAdd new symbol to docs and .def file
Tim-Philipp Müller [Thu, 1 Mar 2018 22:21:17 +0000 (22:21 +0000)]
Add new symbol to docs and .def file

Fixes make check

6 years agoqueue: Ignore thresholds if a query is queued
Olivier Crête [Thu, 1 Mar 2018 21:19:09 +0000 (16:19 -0500)]
queue: Ignore thresholds if a query is queued

The queue gets filled by the tail, so a query will always be the tail
object, not the head object. Also add a _peek_tail_struct() method to the
GstQueueArray to enable looking at the tail.

With unit test to prevent future regression.

https://bugzilla.gnome.org/show_bug.cgi?id=762875

6 years agomeson: -Wformat-* require -Wformat
Mathieu Duponchelle [Thu, 1 Mar 2018 17:38:01 +0000 (18:38 +0100)]
meson: -Wformat-* require -Wformat

6 years agomeson: enable more warnings
Mathieu Duponchelle [Thu, 1 Mar 2018 16:20:06 +0000 (17:20 +0100)]
meson: enable more warnings

Modeled on the autotools build, -W flags are only
added if the compiler supports them.

https://bugzilla.gnome.org/show_bug.cgi?id=793958

6 years agogstaggregator: pads must inherit from #GstAggregatorPad
Mathieu Duponchelle [Wed, 28 Feb 2018 23:31:11 +0000 (00:31 +0100)]
gstaggregator: pads must inherit from #GstAggregatorPad

Document this, and take advantage of that fact to use
GstAggregator.srcpad.segment instead of GstAggregator.segment

https://bugzilla.gnome.org/show_bug.cgi?id=793942

6 years agoRevert "gstaggregator: pads must inherit from #GstAggregatorPad"
Mathieu Duponchelle [Thu, 1 Mar 2018 00:15:34 +0000 (01:15 +0100)]
Revert "gstaggregator: pads must inherit from #GstAggregatorPad"

This reverts commit 9774b3775d8483e5697f9196a26c1e5831113bd6.

Pushed by mistake

6 years agoghostpad: ensure we build a ghost pad ..
Mathieu Duponchelle [Thu, 1 Mar 2018 00:12:07 +0000 (01:12 +0100)]
ghostpad: ensure we build a ghost pad ..

When we construct from a custom GType

6 years agopad: fix mixed declarations
Mathieu Duponchelle [Thu, 1 Mar 2018 00:09:48 +0000 (01:09 +0100)]
pad: fix mixed declarations

6 years agogstaggregator: pads must inherit from #GstAggregatorPad
Mathieu Duponchelle [Wed, 28 Feb 2018 23:31:11 +0000 (00:31 +0100)]
gstaggregator: pads must inherit from #GstAggregatorPad

Document this, and take advantage of that fact to use
GstAggregator.srcpad.segment instead of GstAggregator.segment

https://bugzilla.gnome.org/show_bug.cgi?id=793942

6 years agoaggregator: allow src GstAggregatorPads
Mathieu Duponchelle [Wed, 28 Feb 2018 18:53:42 +0000 (19:53 +0100)]
aggregator: allow src GstAggregatorPads

See https://bugzilla.gnome.org/show_bug.cgi?id=793917

https://bugzilla.gnome.org/show_bug.cgi?id=793934

6 years agopad, ghostpad: use the template gtype if specified
Mathieu Duponchelle [Wed, 28 Feb 2018 18:51:44 +0000 (19:51 +0100)]
pad, ghostpad: use the template gtype if specified

Also make sure the GType passed to the with_gtype versions
of the template constructors is_a GstPad

https://bugzilla.gnome.org/show_bug.cgi?id=793933

6 years agobaseparse: Fix integer overflow in bitrate calculation
Nicolas Dufresne [Thu, 22 Feb 2018 03:25:25 +0000 (22:25 -0500)]
baseparse: Fix integer overflow in bitrate calculation

https://bugzilla.gnome.org/show_bug.cgi?id=793284

6 years agobaseparse: Avoid overflow in update_interval calculation
Nicolas Dufresne [Thu, 22 Feb 2018 03:01:36 +0000 (22:01 -0500)]
baseparse: Avoid overflow in update_interval calculation

https://bugzilla.gnome.org/show_bug.cgi?id=793284

6 years agobaseparse: Fix check for update_interval
Nicolas Dufresne [Thu, 22 Feb 2018 02:43:59 +0000 (21:43 -0500)]
baseparse: Fix check for update_interval

update_interval may be -1

https://bugzilla.gnome.org/show_bug.cgi?id=793284

6 years agomeson: Use .dylib suffix if darwin
Justin Kim [Mon, 19 Feb 2018 06:39:46 +0000 (15:39 +0900)]
meson: Use .dylib suffix if darwin

For Mac OS, GST_EXTRA_MODULE_SUFFIX should be set as '.dylib'.
Otherwise, GStreamer fails to load its plugins.

https://bugzilla.gnome.org/show_bug.cgi?id=793584

6 years agoqueuearray: add _peek_tail() and _pop_tail()
Tim-Philipp Müller [Thu, 1 Feb 2018 18:29:27 +0000 (18:29 +0000)]
queuearray: add _peek_tail() and _pop_tail()

API: gst_queue_array_pop_tail()
API: gst_queue_array_peek_tail()

These will be needed later for appsrc.

6 years agogst: fix some GIR annotations
Mark Nauwelaerts [Tue, 13 Feb 2018 11:38:33 +0000 (12:38 +0100)]
gst: fix some GIR annotations

Mostly related to out parameters and their transfer

6 years agogstbasesink: Include segment.offset in the computation of position
Alicia Boya García [Wed, 10 Jan 2018 03:08:57 +0000 (04:08 +0100)]
gstbasesink: Include segment.offset in the computation of position

Position queries with GST_FORMAT_TIME are supposed to return stream
time.

gst_base_sink_get_position() estimates the current stream time on its
own instead of using gst_segment_to_stream_time(), but the algorithm
used was not taking segment.offset into account, resulting in invalid
values when this field was set to a non-zero value.

https://bugzilla.gnome.org/show_bug.cgi?id=792434

6 years agotracers: latency: allow for non parented pads to send latency probes
Matthew Waters [Thu, 15 Feb 2018 01:58:43 +0000 (12:58 +1100)]
tracers: latency: allow for non parented pads to send latency probes

Such a setup is used in rtspsrc for its TCP connection

https://bugzilla.gnome.org/show_bug.cgi?id=793478

6 years agoBack to development
Tim-Philipp Müller [Thu, 15 Feb 2018 19:44:14 +0000 (19:44 +0000)]
Back to development

6 years agoRelease 1.13.1
Tim-Philipp Müller [Thu, 15 Feb 2018 16:31:16 +0000 (16:31 +0000)]
Release 1.13.1

6 years agotests: pipeline: try to make test_pipeline_reset_start_time more reliable
Tim-Philipp Müller [Thu, 15 Feb 2018 13:36:26 +0000 (13:36 +0000)]
tests: pipeline: try to make test_pipeline_reset_start_time more reliable

Occasionally this test would fail, especially if the system is under load,
because the position query would pick up the last position from the
last buffer timestamp which has a lower timestamp than what we're
looking for. The sleep is long enough, however. It's unclear to me why
exactly this happens but there seems to be some kind of scheduling
issue going on as the streaming thread floods the sink with buffers.

Let's throttle the fakesrc to 100 buffers per second and make the sink
sync to the clock to restore some sanity. It should be totally sufficient
to test what we want to test, and seems to make things reliable here.

6 years agotests: uri: fix build without -DGST_DISABLE_DEPRECATED
Tim-Philipp Müller [Thu, 15 Feb 2018 12:03:20 +0000 (12:03 +0000)]
tests: uri: fix build without -DGST_DISABLE_DEPRECATED

Must undefine it before including gst headers, since the test
tests deprecated API.

6 years agogstconfig.h: want deprecation warnings if GST_DISABLE_DEPRECATED is *set*
Tim-Philipp Müller [Thu, 15 Feb 2018 12:09:31 +0000 (12:09 +0000)]
gstconfig.h: want deprecation warnings if GST_DISABLE_DEPRECATED is *set*

Fix inverted logic. If GST_DISABLE_DEPRECATED is undefined,
we don't want warnings about deprecated API, and if it's
defined we do want warnings.

6 years agopo: update translations
Tim-Philipp Müller [Thu, 15 Feb 2018 11:28:23 +0000 (11:28 +0000)]
po: update translations

6 years agodocs: add flow combiner ref/unref to docs
Tim-Philipp Müller [Wed, 14 Feb 2018 19:37:35 +0000 (19:37 +0000)]
docs: add flow combiner ref/unref to docs

So new-in-1.12 index actually has some entries.

6 years agodocs: add index for new symbols in 1.14
Tim-Philipp Müller [Wed, 14 Feb 2018 19:13:28 +0000 (19:13 +0000)]
docs: add index for new symbols in 1.14

6 years agodocs: add index for new symbols in 1.12
Tim-Philipp Müller [Wed, 14 Feb 2018 19:12:06 +0000 (19:12 +0000)]
docs: add index for new symbols in 1.12

6 years agomeson: make version numbers ints and fix int/string comparison
Tim-Philipp Müller [Thu, 8 Feb 2018 17:22:14 +0000 (17:22 +0000)]
meson: make version numbers ints and fix int/string comparison

WARNING: Trying to compare values of different types (str, int).
The result of this is undefined and will become a hard error
in a future Meson release.

6 years agoautotools: use -fno-strict-aliasing where supported
Tim-Philipp Müller [Sat, 3 Feb 2018 16:56:04 +0000 (17:56 +0100)]
autotools: use -fno-strict-aliasing where supported

https://bugzilla.gnome.org/show_bug.cgi?id=769183

6 years agobuffer: fix gtk-doc warning regarding _get_n_meta() declaration
Tim-Philipp Müller [Sat, 3 Feb 2018 16:55:29 +0000 (17:55 +0100)]
buffer: fix gtk-doc warning regarding _get_n_meta() declaration

6 years agogstpromise: add since 1.14 markers
Matthew Waters [Thu, 1 Feb 2018 13:24:20 +0000 (00:24 +1100)]
gstpromise: add since 1.14 markers

6 years agogst-uninstalled: add webrtc to libraries
Matthew Waters [Wed, 18 Oct 2017 10:24:19 +0000 (21:24 +1100)]
gst-uninstalled: add webrtc to libraries

6 years agogstbuffer.h: move FLAG_LAST documentation back to the bottom
Mathieu Duponchelle [Wed, 31 Jan 2018 13:01:36 +0000 (14:01 +0100)]
gstbuffer.h: move FLAG_LAST documentation back to the bottom

6 years agobasetransform: annotate virtual methods
Mathieu Duponchelle [Wed, 31 Jan 2018 12:36:15 +0000 (13:36 +0100)]
basetransform: annotate virtual methods

6 years agogstbuffer: add GST_BUFFER_FLAG_NON_DROPPABLE
Mathieu Duponchelle [Tue, 30 Jan 2018 15:41:39 +0000 (16:41 +0100)]
gstbuffer: add GST_BUFFER_FLAG_NON_DROPPABLE

This can be used to identify buffers for which a higher percentage
of redundancy should be allocated when performing forward error
correction, or to prevent still video frames from being dropped by
elements due to QoS.

https://bugzilla.gnome.org/show_bug.cgi?id=793008

6 years agomeson: use -fno-strict-aliasing if supported
Tim-Philipp Müller [Tue, 30 Jan 2018 20:30:47 +0000 (20:30 +0000)]
meson: use -fno-strict-aliasing if supported

https://bugzilla.gnome.org/show_bug.cgi?id=769183

6 years agobuffer: add gst_buffer_get_n_meta() convenience function
Tim-Philipp Müller [Sat, 23 Dec 2017 15:45:18 +0000 (16:45 +0100)]
buffer: add gst_buffer_get_n_meta() convenience function

Counts how many metas there are for a certain api type.

https://bugzilla.gnome.org/show_bug.cgi?id=791918

6 years agogst: Fix up a bunch of GIR annotations
Arun Raghavan [Sun, 22 Oct 2017 12:35:30 +0000 (18:05 +0530)]
gst: Fix up a bunch of GIR annotations

This is mostly on nullable return values, and some other minor ones that
I ran across.

https://bugzilla.gnome.org/show_bug.cgi?id=789319

6 years agodevicemonitor: Return NULL instead of FALSE
Arun Raghavan [Fri, 26 May 2017 23:49:20 +0000 (05:19 +0530)]
devicemonitor: Return NULL instead of FALSE

Same effect, meaning is clearer.

https://bugzilla.gnome.org/show_bug.cgi?id=789319

6 years agomessage: Add gst_message_writable_structure()
François Laignel [Fri, 26 Jan 2018 11:42:28 +0000 (12:42 +0100)]
message: Add gst_message_writable_structure()

Add gst_message_writable_structure() to be able to add extra fields to
messages (and be on par with GstEvent).

https://bugzilla.gnome.org/show_bug.cgi?id=792928

6 years agoaggregator: delegate buffer skipping to the aggregate thread
Mathieu Duponchelle [Tue, 23 Jan 2018 21:49:52 +0000 (22:49 +0100)]
aggregator: delegate buffer skipping to the aggregate thread

As we do that for serialized events as well, and the subclass will
most likely need to access pad->segment to make its decisions,
doing that from the sinkpad's streaming threads was racy.

6 years agoAPI: GstAggregatorPad.skip_buffer virtual method
Mathieu Duponchelle [Thu, 28 Dec 2017 11:12:45 +0000 (12:12 +0100)]
API: GstAggregatorPad.skip_buffer virtual method

Allows subclasses to prevent buffers from being queued.

https://bugzilla.gnome.org/show_bug.cgi?id=781928

6 years agobasesrc: Annotate some of the virtual methods
Mathieu Duponchelle [Tue, 23 Jan 2018 19:04:02 +0000 (20:04 +0100)]
basesrc: Annotate some of the virtual methods

6 years agoaggregator: rename _get_buffer() -> _peek_buffer() and _steal -> _pop
Tim-Philipp Müller [Tue, 23 Jan 2018 08:56:34 +0000 (08:56 +0000)]
aggregator: rename _get_buffer() -> _peek_buffer() and _steal -> _pop

https://bugzilla.gnome.org/show_bug.cgi?id=791204

6 years agochildproxy: gracefully handle methods being NULL
Tim-Philipp Müller [Sat, 20 Jan 2018 15:30:53 +0000 (15:30 +0000)]
childproxy: gracefully handle methods being NULL

Do this for all method invoke functions for consistency.

https://bugzilla.gnome.org/show_bug.cgi?id=750154

6 years agowin32: fix .def file for new API
Tim-Philipp Müller [Thu, 18 Jan 2018 18:11:59 +0000 (18:11 +0000)]
win32: fix .def file for new API

Fixes check + distcheck

6 years agoptp: fix build failure with #undef USE_MEASUREMENT_FILTERING
Michele Dionisio [Tue, 1 Aug 2017 08:43:32 +0000 (10:43 +0200)]
ptp: fix build failure with #undef USE_MEASUREMENT_FILTERING

"Label ‘out’ used but not defined", since it's also used by
the USE_MEDIAN_PRE_FILTERING branch.

https://bugzilla.gnome.org/show_bug.cgi?id=785631

6 years agopadtemplate: And add missing GST_EXPORT to gst_pad_template_new_with_gtype()
Sebastian Dröge [Thu, 18 Jan 2018 17:16:12 +0000 (19:16 +0200)]
padtemplate: And add missing GST_EXPORT to gst_pad_template_new_with_gtype()

6 years agopadtemplate: Add missing Since: 1.14 marker to gst_pad_template_new_with_gtype()
Sebastian Dröge [Thu, 18 Jan 2018 17:15:09 +0000 (19:15 +0200)]
padtemplate: Add missing Since: 1.14 marker to gst_pad_template_new_with_gtype()

6 years agopadtemplate: Add gst_pad_template_new_with_gtype()
Sebastian Dröge [Thu, 18 Jan 2018 17:08:10 +0000 (19:08 +0200)]
padtemplate: Add gst_pad_template_new_with_gtype()

For being able to create a pad template with GType without having a
static pad template.

6 years agopadtemplate: Add Since: 1.14 marker to gst_pad_template_new_from_static_pad_template_...
Sebastian Dröge [Thu, 18 Jan 2018 17:07:49 +0000 (19:07 +0200)]
padtemplate: Add Since: 1.14 marker to gst_pad_template_new_from_static_pad_template_with_gtype()

6 years agogstpad: Avoid stream-dead-lock on deactivation
Edward Hervey [Tue, 16 Jan 2018 09:17:58 +0000 (10:17 +0100)]
gstpad: Avoid stream-dead-lock on deactivation

The following case can happen when two thread try to activate and
deactivate a pad at the same time:
T1: starts to deactivate, calls pre_activate(), sets in_activation
    to TRUE and carries on
T2: starts to activate, calls pre_activate(), in_activation is TRUE
    so it waits on the GCond
T1: calls post_activate(), tries to acquire the streaming lock ..
    but can't because T2 is currently holding it

With this patch, the deadlock will no longer happen but does not
solve the problem that:
T2: will resume activation of the pad, set the pad mode to the target
   one (PUSH or PULL) and eventually the streaming lock gets released.
T1: is able to finish calling post_activate() ... but ... the pad
   wasn't deactivated (T2 was the last one to "activate" the pad.

https://bugzilla.gnome.org/show_bug.cgi?id=792341

6 years agogstpad: Release pending g_cond_wait() when stopping/pausing task
Edward Hervey [Mon, 15 Jan 2018 17:13:45 +0000 (18:13 +0100)]
gstpad: Release pending g_cond_wait() when stopping/pausing task

Otherwise we would deadlock waiting forever for the streaming lock
to be released

https://bugzilla.gnome.org/show_bug.cgi?id=792341

6 years agotypefindhelper: fix confusing debug log message
Jun Xie [Sat, 13 Jan 2018 03:08:00 +0000 (11:08 +0800)]
typefindhelper: fix confusing debug log message

In case of a short buffer, the debug log is quite confusing.
Distinguish the two types of failure cases to make it clearer.

https://bugzilla.gnome.org/show_bug.cgi?id=792486

6 years agodocs: explicit refer to GObject docs for floating refs
Tim-Philipp Müller [Fri, 12 Jan 2018 18:47:17 +0000 (18:47 +0000)]
docs: explicit refer to GObject docs for floating refs

https://bugzilla.gnome.org/show_bug.cgi?id=788477

6 years agotests: fakesink: make notify stress test work better on Windows
Tim-Philipp Müller [Thu, 11 Jan 2018 19:52:41 +0000 (19:52 +0000)]
tests: fakesink: make notify stress test work better on Windows

Set up all ten pipelines and preroll them first, and only set
them to playing to run wild after they're all set up. If we set
them to PLAYING directly and let those threads run wild, then
it might take ages (many seconds) for the other pipelines to
even get up and running, especially on machines with only one
or two cores, and operating systems that suck at scheduling.

Now the fakesink test takes 19 secs instead of 71 secs on a
single-cpu windows machine.

6 years agotests: filesrc: more Windows fixes
Tim-Philipp Müller [Thu, 11 Jan 2018 19:32:08 +0000 (19:32 +0000)]
tests: filesrc: more Windows fixes

Fix typo in newly-added windows uri test.

6 years agoutils: use g_get_monotonic_time() as fallback in gst_utils_get_timestamp()
Tim-Philipp Müller [Thu, 11 Jan 2018 18:44:50 +0000 (18:44 +0000)]
utils: use g_get_monotonic_time() as fallback in gst_utils_get_timestamp()

This is a better fit given that the function docs say this
should (only) be used for interval measurements, but also
this seems to give much better granularity on Windows
systems, where before this change there would often be
10-20 lines of debug log with the same timestamp up front.

6 years agotests: systemclock: scale stress test threads according to number of cpus
Tim-Philipp Müller [Thu, 11 Jan 2018 18:39:50 +0000 (18:39 +0000)]
tests: systemclock: scale stress test threads according to number of cpus

Scale the number of threads used in the stress tests according to
the number of cores/cpus. We want some contention, but we also
don't want too much contention, as some operating systems are
better at handling 100 threads running wild on a single core
than others.

6 years agoplugin: plugin_load() must return a ref even if it was loaded already
Tim-Philipp Müller [Thu, 11 Jan 2018 17:10:45 +0000 (17:10 +0000)]
plugin: plugin_load() must return a ref even if it was loaded already

Fix refcounting issue when plugin was loaded already.
gst_plugin_load() is supposed to return a ref, so it
must always return a ref.

This also fixes the gstplugin unit test on windows where
fork is not available and where test_load_coreelements()
would unref a plugin ref it didn't get and then mess up
the internal registry plugin list state for the next test,
in case where the test registry does not exist yet.