platform/upstream/gstreamer.git
9 years agotracer: switch to quarks and add another hook for buffer flow
Stefan Sauer [Sun, 27 Oct 2013 16:04:32 +0000 (17:04 +0100)]
tracer: switch to quarks and add another hook for buffer flow

Use pre-defines quarks as this will be called quite often.

9 years agotracer: add the hook-id to the invoke signature
Stefan Sauer [Sun, 27 Oct 2013 11:45:54 +0000 (12:45 +0100)]
tracer: add the hook-id to the invoke signature

Tracers that subscribe to multiple hooks can know what hook was used.

9 years agoinspect: add support for the new factory
Stefan Sauer [Sat, 26 Oct 2013 20:05:13 +0000 (22:05 +0200)]
inspect: add support for the new factory

Handle tracer modules.

9 years agotracer: initial prototype for the tracing subsystem
Stefan Sauer [Thu, 24 Oct 2013 12:47:48 +0000 (14:47 +0200)]
tracer: initial prototype for the tracing subsystem

9 years agotests/gst-launch: Fix sample memory leak
Vineeth TM [Mon, 5 Oct 2015 02:12:47 +0000 (11:12 +0900)]
tests/gst-launch: Fix sample memory leak

When sample is got using gst_tag_list_get_sample_index, it should
be free'd.

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

9 years agoUpdate GLib dependency to 2.40.0
Sebastian Dröge [Fri, 2 Oct 2015 19:17:04 +0000 (22:17 +0300)]
Update GLib dependency to 2.40.0

9 years agogstreamer: Fix memory leaks when context parse fails
Vineeth TM [Thu, 20 Aug 2015 07:21:59 +0000 (16:21 +0900)]
gstreamer: Fix memory leaks when context parse fails

When g_option_context_parse fails, context and error variables are not getting free'd
which results in memory leaks. Free'ing the same.

And replacing g_error_free with g_clear_error, which checks if the error being passed
is not NULL and sets the variable to NULL on free'ing.

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

9 years agotimedvaluecontrolsource: Use g_sequence_lookup where possible
Jan Alexander Steffens (heftig) [Wed, 23 Sep 2015 21:03:29 +0000 (23:03 +0200)]
timedvaluecontrolsource: Use g_sequence_lookup where possible

When looking for exact matches in the sequence, this results
in much simpler code than when using g_sequence_search.

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

9 years agointerpolationcontrolsource: fix write over the array size
Stefan Sauer [Thu, 1 Oct 2015 20:09:58 +0000 (22:09 +0200)]
interpolationcontrolsource: fix write over the array size

The '++' got incidentially added during the refactoring in
2fe3939ce7ea84c45dd922e7f1097dd07f11fc5d.

9 years agocontrolpoint: change the padding to be of arch-independent size
Stefan Sauer [Wed, 30 Sep 2015 15:29:16 +0000 (17:29 +0200)]
controlpoint: change the padding to be of arch-independent size

The default padding I introduced in d4f81fb4e62d34a4c1dabc65b23ede7ce7694c63 is
actually only 4 pointers and on 32bit platforms already smaller than the union.
Replace it with a fixed 64byte padding. Don't add the normal padding for now.

Fixes #755822

9 years agogstreamer-uninstalled: add path for OpenCV haar cascade files
Luis de Bethencourt [Fri, 21 Aug 2015 16:42:52 +0000 (17:42 +0100)]
gstreamer-uninstalled: add path for OpenCV haar cascade files

Some OpenCV plugins use haar cascade files that are included in the
GStreamer sources. To be able to use these from uninstalled, they need
to be found through an environment variable.

Adding this environment variable pointing to haar cascade files to
gst-uninstalled.

9 years agocheck: fix 'format string is not a string literal' warning with clang
Tim-Philipp Müller [Mon, 28 Sep 2015 15:01:55 +0000 (16:01 +0100)]
check: fix 'format string is not a string literal' warning with clang

Broke this when I removed the G_GNUC_PRINTF in a previous
commit to fix indentation, since it was not really needed.
Turns out unlike gcc clang warns though if a non-literal
format string is passed then. Fix indentation differently.

http://clang.llvm.org/docs/AttributeReference.html#format-gnu-format

9 years agotests: fix the manual tests by setting the right env-vars
Stefan Sauer [Mon, 28 Sep 2015 14:45:47 +0000 (16:45 +0200)]
tests: fix the manual tests by setting the right env-vars

9 years agodirectcontrolbinding: fix formatting
Stefan Sauer [Mon, 28 Sep 2015 14:22:36 +0000 (16:22 +0200)]
directcontrolbinding: fix formatting

9 years agoindex: mark two structs that don't have abi padding
Stefan Sauer [Mon, 28 Sep 2015 14:21:55 +0000 (16:21 +0200)]
index: mark two structs that don't have abi padding

9 years agocontroller: add the missing abi padding
Stefan Sauer [Mon, 28 Sep 2015 14:19:40 +0000 (16:19 +0200)]
controller: add the missing abi padding

While this technically is an abi break, we decided to do this:
1) the struct is documented to be internal
2) the struct is alloced and freed inside the library
3) there are no public methods that receive or return instances
4) the only code known to use this struct are classes containd here

9 years agobin: implement context propagation when adding elements
Matthew Waters [Wed, 23 Sep 2015 14:04:48 +0000 (00:04 +1000)]
bin: implement context propagation when adding elements

When adding an element to a bin we need to propagate the GstContext's
to/from the element.

This moves the GstContext list from GstBin to GstElement and adds
convenience functions to get the currently set list of GstContext's.

This does not deal with the collection of GstContext's propagated
using GST_CONTEXT_QUERY.  Element subclasses are advised to call
gst_element_set_context if they need to propagate GstContext's
received from the context query.

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

9 years agointerpolationcontrolsource: add cubic_mono interpolation
Stefan Sauer [Mon, 7 Sep 2015 07:39:32 +0000 (09:39 +0200)]
interpolationcontrolsource: add cubic_mono interpolation

This new mode won't overshoot the min/max y values set by the control-points.
Fixes #754678
API: GST_INTERPOLATION_MODE_CUBIC_MONO

9 years agointerpolationcontrolsource: refactor code
Stefan Sauer [Mon, 7 Sep 2015 07:37:05 +0000 (09:37 +0200)]
interpolationcontrolsource: refactor code

Extract common code that looks up the control-points around the timestamp. Add
some comments for future investigation.

9 years agotests/examples: add a demo for the interpolation control source modes
Stefan Sauer [Fri, 4 Sep 2015 14:38:37 +0000 (16:38 +0200)]
tests/examples: add a demo for the interpolation control source modes

This is in preparation for new modes to be added. In particullar it demonstrates
how the cubic splines overshoot the range.

9 years agocapsfilter: remove proxying of accept-caps downstream
Thiago Santos [Wed, 9 Sep 2015 14:55:28 +0000 (11:55 -0300)]
capsfilter: remove proxying of accept-caps downstream

The design is to only do a local check

9 years agopad: don't fallback to caps queries with proxy pads
Thiago Santos [Tue, 25 Aug 2015 22:37:30 +0000 (19:37 -0300)]
pad: don't fallback to caps queries with proxy pads

A proxy-pad should always proxy the caps related queries
and events to its down or upstream peers on the other side
of the element. Falling back to a caps query seems wrong.

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

9 years agoharness: minor doc fixes
Tim-Philipp Müller [Sat, 26 Sep 2015 10:03:24 +0000 (11:03 +0100)]
harness: minor doc fixes

9 years agosegment: Replaced gst_segment_to_position with gst_segment_position_from_running_time
Vivia Nikolaidou [Wed, 2 Sep 2015 14:58:38 +0000 (17:58 +0300)]
segment: Replaced gst_segment_to_position with gst_segment_position_from_running_time

gst_segment_to_position might cause confusion, especially with the addition of
gst_segment_position_from_stream_time . Deprecated gst_segment_to_position
now, and replaced it with gst_segment_position_from_running_time.

Also added unit tests.

9 years agosegment: Added unit tests for gst_segment_position_from_stream_time
Vivia Nikolaidou [Wed, 2 Sep 2015 14:38:25 +0000 (17:38 +0300)]
segment: Added unit tests for gst_segment_position_from_stream_time

9 years agosegment: gst_segment_to_stream_time: Renamed 'result' to 'stream_time'
Vivia Nikolaidou [Fri, 25 Sep 2015 12:57:16 +0000 (15:57 +0300)]
segment: gst_segment_to_stream_time: Renamed 'result' to 'stream_time'

Renamed the "result" variable to "stream_time" for better readability.

9 years agosegment: Added gst_segment_position_from_stream_time()
Vivia Nikolaidou [Fri, 25 Sep 2015 12:56:45 +0000 (15:56 +0300)]
segment: Added gst_segment_position_from_stream_time()

gst_segment_position_from_stream_time() will convert stream time into a
position in the segment so that gst_segment_to_stream_time() with that
position returns the same stream time. It will return -1 if the stream time
given is not inside the segment.

9 years agosegment: Rewording of struct field descriptions
Vivia Nikolaidou [Wed, 2 Sep 2015 13:36:35 +0000 (16:36 +0300)]
segment: Rewording of struct field descriptions

The new wording makes it easier to understand exactly what each field of the
GstSegment struct represents.

9 years agoevent: Make sure that timestamp + diff in QoS events is never smaller than 0
Sebastian Dröge [Mon, 31 Aug 2015 12:35:11 +0000 (15:35 +0300)]
event: Make sure that timestamp + diff in QoS events is never smaller than 0

When a running-time-offset is stored in the event, it could become smaller
than 0 although the event is otherwise correct. This can happen when pad
offsets are used.

To prevent this, we set the timestamp to -diff, so that in the end the sum of
both is exactly 0.

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

9 years agouri: Add test for correct absolute URI handling in gst_uri_from_string_with_base()
Sebastian Dröge [Wed, 16 Sep 2015 21:40:44 +0000 (23:40 +0200)]
uri: Add test for correct absolute URI handling in gst_uri_from_string_with_base()

If the second parameter is an absolute URI, the base should have no effect and
the second parameter should be returned again.

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

9 years agoBack to development
Sebastian Dröge [Fri, 25 Sep 2015 21:51:03 +0000 (23:51 +0200)]
Back to development

9 years agoRelease 1.6.0
Sebastian Dröge [Fri, 25 Sep 2015 21:14:33 +0000 (23:14 +0200)]
Release 1.6.0

9 years agoUpdate .po files
Sebastian Dröge [Fri, 25 Sep 2015 20:41:16 +0000 (22:41 +0200)]
Update .po files

9 years agoptpclock: Fix error leak during failures
Vineeth TM [Fri, 25 Sep 2015 01:18:07 +0000 (10:18 +0900)]
ptpclock: Fix error leak during failures

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

9 years agofunnel: Fix racy state change
Stian Selnes [Mon, 21 Sep 2015 11:58:51 +0000 (13:58 +0200)]
funnel: Fix racy state change

Iterator may need to be resynced, for instance if pads are released
during state change.

got_eos should be protected by the object lock of the element, not of
the pad, as is the case throughout the rest of the funnel code.

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

9 years agobin: element: Ignore activate result for removed pads on state change
Stian Selnes [Mon, 21 Sep 2015 13:22:19 +0000 (15:22 +0200)]
bin: element: Ignore activate result for removed pads on state change

This fixes a race where a state change may return failure if it has
request pads that are deactivated and removed (and thus have no
parent) at the same time as the element changes state and (de)activates
its pads.

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

9 years agoharness: don't crash when adding a sink-harness without h->sinkpad
Havard Graff [Thu, 24 Sep 2015 08:23:14 +0000 (10:23 +0200)]
harness: don't crash when adding a sink-harness without h->sinkpad

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

9 years agobasetransform: Print buffer PTS when submitting an input buffer
Sebastian Dröge [Wed, 23 Sep 2015 18:31:48 +0000 (20:31 +0200)]
basetransform: Print buffer PTS when submitting an input buffer

9 years agoinputselector: Fix buffer leak in sync_streams & cache_buffers mode
Eunhae Choi [Mon, 21 Sep 2015 05:58:46 +0000 (14:58 +0900)]
inputselector: Fix buffer leak in sync_streams & cache_buffers mode

After doing gst_pad_push() in case of sync_streams and cache_buffers,
if the buffer can not be kept in cache, it should be unreffed to avoid
memory leackage.

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

9 years agogst: Documentation typo fix in caps & pad APIs
Vikram Fugro [Sat, 19 Sep 2015 11:27:26 +0000 (16:57 +0530)]
gst: Documentation typo fix in caps & pad APIs

gst_caps_can_intersect() & GST_PAD_IS_ACCEPT_INTERSECT()
documentation typo fix.

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

9 years agoRelease 1.5.91
Sebastian Dröge [Fri, 18 Sep 2015 17:07:18 +0000 (19:07 +0200)]
Release 1.5.91

9 years agoUpdate .po files
Sebastian Dröge [Fri, 18 Sep 2015 17:07:10 +0000 (19:07 +0200)]
Update .po files

9 years agopo: Update translations
Sebastian Dröge [Fri, 18 Sep 2015 09:49:03 +0000 (11:49 +0200)]
po: Update translations

9 years agodownloadbuffer, benchmarks: fix error leaks in failure code paths
Vineeth TM [Tue, 15 Sep 2015 01:56:40 +0000 (10:56 +0900)]
downloadbuffer, benchmarks: fix error leaks in failure code paths

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

9 years agocheck: Fix indentation
Vineeth TM [Tue, 15 Sep 2015 01:52:55 +0000 (10:52 +0900)]
check: Fix indentation

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

9 years agobufferpool: sprinkle some allow-none and out annotations for g-i
Tim-Philipp Müller [Tue, 15 Sep 2015 17:05:11 +0000 (18:05 +0100)]
bufferpool: sprinkle some allow-none and out annotations for g-i

9 years agobin: fix typo in log message when threadpool alloc fails
Vineeth TM [Mon, 14 Sep 2015 02:01:11 +0000 (11:01 +0900)]
bin: fix typo in log message when threadpool alloc fails

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

9 years agoconfigure: Check for socketpair() in -lsocket too
Igor Rondarev [Fri, 11 Sep 2015 14:58:48 +0000 (17:58 +0300)]
configure: Check for socketpair() in -lsocket too

On e.g. QNX it is in an external library, not libc.

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

9 years agoRevert "docs: Make sure gst_debug_bin_to_dot_data() is documented"
Arun Raghavan [Wed, 9 Sep 2015 07:40:04 +0000 (13:10 +0530)]
Revert "docs: Make sure gst_debug_bin_to_dot_data() is documented"

This reverts commit 0dffeb03018d12be522c2d97aaaf8102153bd7c0.

The commit is erroneous and documents the function twice.

9 years agodocs: Make sure gst_debug_bin_to_dot_data() is documented
Arun Raghavan [Thu, 23 Jul 2015 06:48:51 +0000 (12:18 +0530)]
docs: Make sure gst_debug_bin_to_dot_data() is documented

Thanks to Nirbheek Chauhan <nirbheek@centricular.com> for pointing this
out.

9 years agoharness: Fix race for gst_harness_element_ref
Stian Selnes [Wed, 5 Aug 2015 08:07:50 +0000 (10:07 +0200)]
harness: Fix race for gst_harness_element_ref

In order for gst_harness_new_full to be MT-safe the increase and
decrease of HARNESS_REF must be MT-safe. This allows for creating
multiple harnesses from different threads wrapping the same element.

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

9 years agoharness: Allow-none for custom stress init func
Stian Selnes [Wed, 5 Aug 2015 07:59:39 +0000 (09:59 +0200)]
harness: Allow-none for custom stress init func

It should be allowed to not have a function to initialize the user data
since it's often not necessary; it may already be initialized.

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

9 years agodocs: remove signal that no longer exists from docs
Tim-Philipp Müller [Sun, 6 Sep 2015 08:58:09 +0000 (09:58 +0100)]
docs: remove signal that no longer exists from docs

9 years agopo: update for translated string changes
Tim-Philipp Müller [Sat, 5 Sep 2015 10:20:49 +0000 (11:20 +0100)]
po: update for translated string changes

9 years agotools: gst-launch: fix --exclude command line option
Tim-Philipp Müller [Sat, 5 Sep 2015 10:18:27 +0000 (11:18 +0100)]
tools: gst-launch: fix --exclude command line option

This has not worked (as in: crashed) since 2005, so
perhaps it should just be removed instead.

9 years agoRevert "queue2: Process SEEKING query"
Tim-Philipp Müller [Mon, 31 Aug 2015 11:07:10 +0000 (12:07 +0100)]
Revert "queue2: Process SEEKING query"

This caused problems with oggdemux when queue2 was
operating in queue mode and the souphttpsrc upstream
is not seekable because the server doesn't support
range requests. It would then still claim seekability
and then things go wrong from there.

This reverts commit 7b0b93dafe4ac547552cdb66ade5d8aa0405e7b4.

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

9 years agoharness: misc bugfixes
Havard Graff [Sat, 29 Aug 2015 18:14:44 +0000 (20:14 +0200)]
harness: misc bugfixes

1. Get a list of pad templates from the element class, not the
factory. This allows us to interact with test-elements that does
not have a factory.

2. Use the pad_template_caps in caps-queries when caps is not set
explicitly on the pad. Not doing so is simply wrong, and prohibits
interactions with special templates used for testing.

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

9 years agotests: event: fix build failure
Thiago Santos [Wed, 26 Aug 2015 12:29:05 +0000 (09:29 -0300)]
tests: event: fix build failure

gst/gstevent.c:250:5: error: ‘for’ loop initial declarations are only
allowed in C99 or C11 mode

9 years agobin: Make sure we don't add/remove a bin to/from itself
Vivia Nikolaidou [Mon, 24 Aug 2015 18:04:37 +0000 (21:04 +0300)]
bin: Make sure we don't add/remove a bin to/from itself

Doing so would deadlock from trying to acquire the object lock twice

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

9 years agobasetransform: Reconfigure before propose_allocation
Nicolas Dufresne [Fri, 21 Aug 2015 21:28:48 +0000 (14:28 -0700)]
basetransform: Reconfigure before propose_allocation

There exist cases where a reconfigure event was propagated from
downstream, but caps didn't change. In this case, we would
reconfigure only when the next buffer arrives. The problem is that
due to the allocation query being cached, the return query parameters
endup outdated.

In this patch we refactor the reconfigurating code into a function, and
along with reconfiguring when a new buffer comes in, we also reconfigure
when a query allocation arrives.

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

9 years agobasesrc-test: Fix race testing segment update
Nicolas Dufresne [Fri, 7 Aug 2015 19:39:59 +0000 (15:39 -0400)]
basesrc-test: Fix race testing segment update

As this test is using a short sleep (GST_USECOND, which is 10ms
in microsecond), sometimes that EOS event is received before the
loop in basesrc have run _do_seek() and pushed the update segment.
To solve this issue, we wait for the initial segment (and flush it)
then we wait for the second segment before sending EOS.

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

9 years agobin: Add NLE to GST_PLUGIN_PATH
Thibault Saunier [Wed, 19 Aug 2015 09:46:07 +0000 (11:46 +0200)]
bin: Add NLE to GST_PLUGIN_PATH

9 years agoRelease 1.5.90
Sebastian Dröge [Wed, 19 Aug 2015 09:50:56 +0000 (12:50 +0300)]
Release 1.5.90

9 years agoUpdate .po files
Sebastian Dröge [Wed, 19 Aug 2015 09:33:41 +0000 (12:33 +0300)]
Update .po files

9 years agopo: Update translations
Sebastian Dröge [Wed, 19 Aug 2015 08:17:29 +0000 (11:17 +0300)]
po: Update translations

9 years agobaseparse: avoid tag list spam if upstream provides bitrate tags already
Tim-Philipp Müller [Tue, 18 Aug 2015 14:44:02 +0000 (15:44 +0100)]
baseparse: avoid tag list spam if upstream provides bitrate tags already

Explicitly keep track again whether upstream tags or parser tags
already contain bitrate information, and only force a tag update
for a bitrate if we are actually going to add the bitrate to the
taglist later. This fixes constant re-sending of the same taglist,
because upstream provided a bitrate already and we didn't add it,
so we didn't save the 'posted' bitrate, which would then in turn
again trigger the 'bitrate has changed too much, update tags'
code path. Fixes tag spam with m4a files for example.

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

9 years agodebugutils: bring the dot style a bit closer to what we use in the docs
Stefan Sauer [Mon, 17 Aug 2015 20:06:11 +0000 (22:06 +0200)]
debugutils: bring the dot style a bit closer to what we use in the docs

Use round corners for bins and elements. Put sink pads on the left and src pads
on the right of elements.

9 years agobaseparse: fix tag handling
Tim-Philipp Müller [Sat, 15 Aug 2015 17:30:15 +0000 (18:30 +0100)]
baseparse: fix tag handling

In 0.10 there were no sticky events, and all tag events
sent would just be merged with the previously-received
tags. In 1.x we have sticky events, and the tags in the
tag event(s) should at all times carry the complete tags,
so we can't just push some tags and then just push tags
with just bitrates to update the bitrates, etc.

Instead we need to keep track of the upstream stream tags
received, of the tags set by the video decoder subclass,
and send an updated tag event with the combined tags
including our own bitrate tags (if applicable) whenever
the upstream tags, the subclass tags or any of our bitrates
change.

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

9 years agobaseparse: add API for subclass to set tags
Tim-Philipp Müller [Sun, 16 Aug 2015 09:15:56 +0000 (10:15 +0100)]
baseparse: add API for subclass to set tags

This is needed so that we can do proper tag handling
all around, and combine the upstream tags with the
tags set by the subclass and any extra tags the
base class may want to add.

API: gst_base_parse_merge_tags()

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

9 years agobaseparse: save upstream stream tags
Tim-Philipp Müller [Sat, 15 Aug 2015 15:01:28 +0000 (16:01 +0100)]
baseparse: save upstream stream tags

We'll need those later.

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

9 years agobaseparse: minor code simplification
Tim-Philipp Müller [Sat, 15 Aug 2015 15:39:40 +0000 (16:39 +0100)]
baseparse: minor code simplification

Use gst_pad_peer_query_duration() and remove a few
unnecessary levels of indentation. Rest of code might
looks a bit questionable, but leave it as is for now.

9 years agopad: Break sticky event array iterations if the type is bigger than the one we look for
Sebastian Dröge [Sat, 15 Aug 2015 15:59:21 +0000 (17:59 +0200)]
pad: Break sticky event array iterations if the type is bigger than the one we look for

Microoptimization we can do because the array is sorted by type.

9 years agogstpad: Add a new GST_PROBE_HANDLED return value for probes
Edward Hervey [Wed, 29 Apr 2015 13:49:17 +0000 (15:49 +0200)]
gstpad: Add a new GST_PROBE_HANDLED return value for probes

In some cases, probes might want to handle the buffer/event/query
themselves and stop the data from travelling further downstream.

While this was somewhat possible with buffer/events and using
GST_PROBE_DROP, it was not applicable to queries, and would result
in the query failing.

With this new GST_PROBE_HANDLED value, the buffer/event/query will
be considered as successfully handled, will not be pushed further
and the appropriate return value (TRUE or GST_FLOW_OK) will be returned

This also allows probes to return a non-default GstFlowReturn when dealing
with buffer push. This can be done by setting the
GST_PAD_PROBE_INFO_FLOW_RETURN() field accordingly

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

9 years agogstversion: Add missing include in .in file.
Mathieu Duponchelle [Sat, 15 Aug 2015 11:25:35 +0000 (13:25 +0200)]
gstversion: Add missing include in .in file.

9 years agoHeaders: add missing includes.
Mathieu Duponchelle [Mon, 10 Aug 2015 22:35:21 +0000 (00:35 +0200)]
Headers: add missing includes.

9 years agodocs: add the new pad accept-template flag to the docs
Thiago Santos [Sat, 15 Aug 2015 09:41:14 +0000 (06:41 -0300)]
docs: add the new pad accept-template flag to the docs

9 years agodocs: section entry missing for gst_direct_control_binding_new_absolute
Nirbheek Chauhan [Fri, 14 Aug 2015 17:14:50 +0000 (22:44 +0530)]
docs: section entry missing for gst_direct_control_binding_new_absolute

9 years agotests: pad: tests for accept-caps default handling
Thiago Santos [Fri, 14 Aug 2015 11:14:52 +0000 (08:14 -0300)]
tests: pad: tests for accept-caps default handling

Check if all the default 4 accept-caps possibilities are working:
subset or intersect check and query-caps or template caps comparisons.

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

9 years agopad: add GST_PAD_FLAG_ACCEPT_TEMPLATE
Thiago Santos [Fri, 14 Aug 2015 10:51:07 +0000 (07:51 -0300)]
pad: add GST_PAD_FLAG_ACCEPT_TEMPLATE

It will make the default accept-caps handler use the pad template
caps instead of the query-caps result to check if the caps is
acceptable. This is aligned with what the design docs says the
accept-caps should do (be non-recursive) and should be faster. It
is *not* enabled by default, though.

API: GST_PAD_FLAG_ACCEPT_TEMPLATE
API: GST_PAD_IS_ACCEPT_TEMPLATE
API: GST_PAD_SET_ACCEPT_TEMPLATE
API: GST_PAD_UNSET_ACCEPT_TEMPLATE

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

9 years agocheck: Rename states unit test
Edward Hervey [Fri, 14 Aug 2015 09:10:03 +0000 (11:10 +0200)]
check: Rename states unit test

Makes it easier to differentiate from other modules states unit test

9 years agobasetransform: rework accept-caps
Thiago Santos [Thu, 13 Aug 2015 16:08:03 +0000 (13:08 -0300)]
basetransform: rework accept-caps

According to the design docs:
The ACCEPT_CAPS query is not required to work recursively, it can simply
return TRUE if a subsequent CAPS event with those caps would return
success.

So make it a shallow check instead of recursivelly check downstream.

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

9 years agobasetransform: remove some dead code
Thiago Santos [Thu, 13 Aug 2015 15:44:29 +0000 (12:44 -0300)]
basetransform: remove some dead code

Doesn't seem like it is going to get back to life anytime soon

Also removes a {} block that was likely used to keep the dead
code around.

9 years agobasetransform: respect accept-caps intersect flag
Thiago Santos [Tue, 11 Aug 2015 11:07:53 +0000 (08:07 -0300)]
basetransform: respect accept-caps intersect flag

GstPad has a flag for suggesting if the accept-caps
query should use intersect instead of the default
subset caps operation to verify if the caps would be
acceptable.

basetransform currently always uses the subset check and
this patch makes it honor the flag for using intersect
if it is set.

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

9 years agobasetransform: remove unreachable return statement
Vineeth TM [Wed, 12 Aug 2015 04:12:38 +0000 (13:12 +0900)]
basetransform: remove unreachable return statement

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

9 years agotests: ignore new harness test binary
Tim-Philipp Müller [Tue, 11 Aug 2015 10:09:24 +0000 (11:09 +0100)]
tests: ignore new harness test binary

9 years agodatetime: accept just a time as ISO 8601 string and use today's date then
Vivia Nikolaidou [Mon, 10 Aug 2015 12:31:37 +0000 (15:31 +0300)]
datetime: accept just a time as ISO 8601 string and use today's date then

If no date and only a time is given in gst_date_time_new_from_iso8601_string(),
assume that it is "today" and try to parse the time-only string. "Today" is
assumed to be in the timezone provided by the user (if any), otherwise Z -
just like the behavior of the existing code.

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

9 years agoharness: add _set_forwarding function
Havard Graff [Thu, 23 Jul 2015 22:41:57 +0000 (00:41 +0200)]
harness: add _set_forwarding function

To be able to disable the slightly "magic" forwarding of the
necessary events between the harnesses.

Also introduce a new test-suite for GstHarness, that documents the
feature, and should hopefully expand into documenting most of the
features the harness possesses.

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

9 years agodevicemonitor: fix provider leak
Wim Taymans [Sat, 8 Aug 2015 15:59:51 +0000 (17:59 +0200)]
devicemonitor: fix provider leak

9 years agopad: Fix previous commit
Edward Hervey [Sat, 8 Aug 2015 13:28:19 +0000 (15:28 +0200)]
pad: Fix previous commit

We want to get the caps query *result*

9 years agodeviceprovider: Add method to hide devices from a provider
Wim Taymans [Thu, 16 Jul 2015 16:56:00 +0000 (18:56 +0200)]
deviceprovider: Add method to hide devices from a provider

Add methods to add/remove the providers that should be hidden by this
provider. Also make a method to get a list of hidden providers.

This makes it possible to have multiple systems monitor the same devices
and remove duplicates.

Add a property to see all devices, even duplicate ones from hidden
providers.

9 years agopad: get_allowed_caps() should go through both pads
Edward Hervey [Sat, 8 Aug 2015 12:42:52 +0000 (14:42 +0200)]
pad: get_allowed_caps() should go through both pads

The previous implementation was doing a direct call to the peer pad,
which resulted in query probes never being called on the original pad.

Instead of that, get the peer pad caps by using gst_pad_peer_query()
which will call probes in the expected fashion.

9 years agovalue: free caps during failure
Vineeth TM [Fri, 7 Aug 2015 01:08:21 +0000 (10:08 +0900)]
value: free caps during failure

While calling gst_value_deserialize_sample, if there is a failure
after caps is ref'ed, then caps is getting leaked. Hence checking for
caps in fail: goto condition and unref'ing it

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

9 years agoregistry: Add plugins to the registry we are loading and not default one
Thibault Saunier [Tue, 21 Jul 2015 11:35:33 +0000 (13:35 +0200)]
registry: Add plugins to the registry we are loading and not default one

When running gst_registry_scan_plugin_file we were losing the
information about the registry being loaded and ended up adding the
plugin to the default registry which was not correct.

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

9 years agobasesink: Only drop buffer if their PTS is out of segment
Nicolas Dufresne [Wed, 5 Aug 2015 19:51:27 +0000 (15:51 -0400)]
basesink: Only drop buffer if their PTS is out of segment

As of now, even for stream completly inside segment, there is no
guarantied that the DTS will be inside the segment. Specifically
for H.264 with B-Frames, the first few frames often have DTS that
are before the segment.

Instead of using the sync timestamp to clip out of segment buffer,
take the duration from the start/stop provided by the sub-class, and
check if the pts and pts_end is out of segment.

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

9 years agoharness: don't run code inside g_assert
Luis de Bethencourt [Wed, 5 Aug 2015 13:05:25 +0000 (14:05 +0100)]
harness: don't run code inside g_assert

Even though asserts can't be disabled in GstHarness, Coverity still
complains about running code inside them. Moving the code to outside the
g_asserts().

CID #1311326, #1311327, #1311328

9 years agodevicemonitor: get a list of currently monitored providers
Wim Taymans [Fri, 17 Jul 2015 08:18:02 +0000 (10:18 +0200)]
devicemonitor: get a list of currently monitored providers

Get a list of the currently monitored providers.

9 years agopad: fix invalid unref after IDLE probe on non-OK flow return
George Kiagiadakis [Sun, 2 Aug 2015 15:38:14 +0000 (17:38 +0200)]
pad: fix invalid unref after IDLE probe on non-OK flow return

In case there is an IDLE probe fired from gst_pad_push_data and it
doesn't return GST_FLOW_OK, the code jumps to the probe_stopped
label which tries to unref the data object. However, at this point
the data object belongs downstream and must not be touched.
By setting data = NULL, the code skips this unref.

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

9 years agobuffer: Fix the name of the parentbuffermeta debug category.
Jan Schmidt [Tue, 4 Aug 2015 10:08:04 +0000 (20:08 +1000)]
buffer: Fix the name of the parentbuffermeta debug category.

Don't use 'glbufferrefmeta' as the debug category for the
parent buffer meta.

9 years agoqueue2: not update upstream size with negative value
Eunhae Choi [Tue, 4 Aug 2015 04:45:09 +0000 (13:45 +0900)]
queue2: not update upstream size with negative value

upstream_size can be negative but queue->upstream_size is unsigned type.
to get a chance to update queue->upstream_size in gst_queue2_get_range()
it should keep the default value.

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

9 years agobuffer: Remove extra debug symbol from exports
Jan Schmidt [Tue, 4 Aug 2015 09:59:28 +0000 (19:59 +1000)]
buffer: Remove extra debug symbol from exports

Don't export the debug variable for the parent_buffer_meta.

This was accidentally exported and shouldn't be public