platform/upstream/gstreamer.git
9 years agogstinfo: fix infinite loop in gst_debug_unset_threshold_for_name()
Jason Litzinger [Wed, 22 Apr 2015 18:03:33 +0000 (12:03 -0600)]
gstinfo: fix infinite loop in gst_debug_unset_threshold_for_name()

Ensure iterator is advanced. The current list iteration code only
advances the iterator (walk) if a match is found, which results
in an infinite loop when more than one entry exists in the list.

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

9 years agoscripts: create-uninstalled-setup: miscellaneous fixes
Tim-Philipp Müller [Wed, 22 Apr 2015 09:14:53 +0000 (10:14 +0100)]
scripts: create-uninstalled-setup: miscellaneous fixes

Error out if required build tools (flex, bison, pkg-config)
are not present, instead of printing a message and then
continuing.

Check out submodules when fetching the repositories, so
they're already there and ready later.

Remove some 0.10 cruft.

9 years agoAdd INSTALL to .gitignore
Tim-Philipp Müller [Wed, 22 Apr 2015 08:59:24 +0000 (09:59 +0100)]
Add INSTALL to .gitignore

9 years agotests: error out if test environment is not actually set up properly
Tim-Philipp Müller [Wed, 22 Apr 2015 08:56:55 +0000 (09:56 +0100)]
tests: error out if test environment is not actually set up properly

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

9 years agoconfigure: can use AM_SILENT_RULES unconditionally now
Tim-Philipp Müller [Wed, 22 Apr 2015 08:52:58 +0000 (09:52 +0100)]
configure: can use AM_SILENT_RULES unconditionally now

https://autotools.io/automake/silent.html

9 years agoconfigure: bump automake requirement to 1.14 and autoconf to 2.69
Tim-Philipp Müller [Wed, 22 Apr 2015 08:47:39 +0000 (09:47 +0100)]
configure: bump automake requirement to 1.14 and autoconf to 2.69

This is only required for builds from git, people can still
build tarballs if they only have older autotools.

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

9 years agoRemove INSTALL file
Sebastian Dröge [Wed, 22 Apr 2015 08:32:57 +0000 (10:32 +0200)]
Remove INSTALL file

autotools automatically generate this, and when using different versions
for autogen.sh there will always be changes to a file tracked by git.

9 years agogstreamer-uninstalled: Update path to the GstValidate scenarios
Thibault Saunier [Mon, 20 Apr 2015 20:07:34 +0000 (22:07 +0200)]
gstreamer-uninstalled: Update path to the GstValidate scenarios

9 years agobuffer: Check return value of meta transform function in gst_buffer_copy_into()
Sebastian Dröge [Mon, 20 Apr 2015 07:23:43 +0000 (09:23 +0200)]
buffer: Check return value of meta transform function in gst_buffer_copy_into()

... by printing some debug output whenever copying a GstMeta fails.

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

9 years agoevent: fix header formatting
Tim-Philipp Müller [Sat, 18 Apr 2015 11:31:02 +0000 (12:31 +0100)]
event: fix header formatting

9 years agotests: protection: fix leak in unit test
Tim-Philipp Müller [Sat, 18 Apr 2015 11:28:15 +0000 (12:28 +0100)]
tests: protection: fix leak in unit test

9 years agogst.h: include the new gstprotection.h header
Tim-Philipp Müller [Sat, 18 Apr 2015 11:27:46 +0000 (12:27 +0100)]
gst.h: include the new gstprotection.h header

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

9 years agoprotection: add GstProtectionMeta to support protected content
Alex Ashley [Wed, 15 Apr 2015 14:33:31 +0000 (15:33 +0100)]
protection: add GstProtectionMeta to support protected content

In order to support some types of protected streams (such as those
protected using DASH Common Encryption) some per-buffer information
needs to be passed between elements.

This commit adds a GstMeta type called GstProtectionMeta that allows
protection specific information to be added to a GstBuffer. An example
of its usage is qtdemux providing information to each output sample
that enables a downstream element to decrypt it.

This commit adds a utility function to select a supported protection
system from the installed Decryption elements found in the registry.
The gst_protection_select_system function that takes an array of
identifiers and searches the registry for a element of klass Decryptor that
supports one or more of the supplied identifiers. If multiple elements
are found, the one with the highest rank is selected.

This commit adds a unit test for the gst_protection_select_system
function that adds a fake Decryptor element to the registry and then
checks that it can correctly be selected by the utility function.

This commit adds a unit test for GstProtectionMeta that creates
GstProtectionMeta and adds & removes it from a buffer and performs some
simple reference count checks.

API: gst_buffer_add_protection_meta()
API: gst_buffer_get_protection_meta()
API: gst_protection_select_system()
API: gst_protection_meta_api_get_type()
API: gst_protection_meta_get_info()

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

9 years agoevent: add new GST_EVENT_PROTECTION
Alex Ashley [Mon, 16 Mar 2015 12:35:27 +0000 (12:35 +0000)]
event: add new GST_EVENT_PROTECTION

In order for a decrypter element to decrypt media protected using a
specific protection system, it first needs all the protection system
specific  information necessary (E.g. information on how to acquire
the decryption keys) for that stream.

The GST_EVENT_PROTECTION defined in this commit enables this information
to be passed from elements that extract it (e.g. qtdemux, dashdemux) to
elements that use it (E.g. a decrypter element).

API: GST_EVENT_PROTECTION
API: gst_event_new_protection()
API: gst_event_parse_protection()

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

9 years agotee: fix use of possibly-freed pad in debug statement
Tim-Philipp Müller [Sat, 18 Apr 2015 10:42:21 +0000 (11:42 +0100)]
tee: fix use of possibly-freed pad in debug statement

The gst_object_unref() in the block above may be dropping
the last ref to the pad and free the pad. Set pad pointer
to NULL here, so that we don't accidentally use a
possibly-freed pad pointer in the debug log statements
further below, and also use the tee element as log object
since that's more appropriate anyway.

Fixes valgrind warnings and crashes in tee test_stress
unit test when debug logging is enabled.

9 years agotests: info: fix unit test when run with GST_DEBUG=*:9
Tim-Philipp Müller [Sat, 18 Apr 2015 11:00:13 +0000 (12:00 +0100)]
tests: info: fix unit test when run with GST_DEBUG=*:9

Only save the messages we're interested in and expecting.
When run with *:9 we might get additional TRACE level
messages from other categories and then we don't end up
with the number of messages we expect.

9 years agotests: pad: fix buffer leak in new blocking_with_probe_type_idle test
Tim-Philipp Müller [Sat, 18 Apr 2015 10:25:16 +0000 (11:25 +0100)]
tests: pad: fix buffer leak in new blocking_with_probe_type_idle test

9 years agotests: pad: fix invalid memory access in debug log message
Tim-Philipp Müller [Sat, 18 Apr 2015 10:11:26 +0000 (11:11 +0100)]
tests: pad: fix invalid memory access in debug log message

The string we put in the buffer is not NUL-terminated, so
don't try to print that via %s in a debug log message.

9 years agohelpers: on OSX, MKDIR_P is install-sh -c -d
Mathieu Duponchelle [Fri, 17 Apr 2015 13:19:07 +0000 (15:19 +0200)]
helpers: on OSX, MKDIR_P is install-sh -c -d

So we need to call it before cding to the bin directory.

9 years agohelpers: install -D isn't portable, use $(MKDIR_P) instead.
Mathieu Duponchelle [Fri, 17 Apr 2015 11:02:12 +0000 (13:02 +0200)]
helpers: install -D isn't portable, use $(MKDIR_P) instead.

9 years agotests: pad: test that idle probe will block
Thiago Santos [Tue, 14 Apr 2015 13:47:20 +0000 (10:47 -0300)]
tests: pad: test that idle probe will block

This tests add an idle probe on an idle pad from a separate thread
so that the callback is called immediatelly. This callback will sit
still and then we try to push a buffer on this same pad. It verifies
that the idle probe blocks data passing

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

9 years agopad: block data flow when idle probe is running
Thiago Santos [Tue, 14 Apr 2015 20:06:36 +0000 (17:06 -0300)]
pad: block data flow when idle probe is running

When idle probe runs directly from the gst_pad_add_probe() function
we need to make sure that no data flow happens as idle probe
is a blocking probe. The idle probe will prevent that any
buffer, bufferlist or serialized events and queries are not
flowing while it is running.

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

9 years agodocs: clarify that return value of gst_filename_to_uri() must be freed
Tim-Philipp Müller [Thu, 16 Apr 2015 12:41:20 +0000 (13:41 +0100)]
docs: clarify that return value of gst_filename_to_uri() must be freed

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

9 years agobin: undo upward state changes on children when a child fails
Vincent Penquerc'h [Wed, 15 Apr 2015 10:02:54 +0000 (11:02 +0100)]
bin: undo upward state changes on children when a child fails

When a bin changes states upwards, and a child fails to change,
any child that was already switched will not be reset to its
original state, leaving its state inconsistent with the bin,
which does not change state due to the failure.

If the state change was from NULL to READY, it means that deleting
this bin will cause those children to be deleted while not in
NULL state, which is a Bad Thing. For other upward changes, it
is less of a problem, as a subsequent switch back to NULL will
cause an actual downwards change on those inconsistent elements,
albeit from the "wrong" state.

We now reset state to the original one when a child fails.

Includes unit test.

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

9 years agohelpers: use $(INSTALL) to ... install the helper.
Mathieu Duponchelle [Wed, 15 Apr 2015 12:45:21 +0000 (14:45 +0200)]
helpers: use $(INSTALL) to ... install the helper.

As it will create the folders and set permissions appropriately,
better than doing it manually.

9 years agohelpers: Fix Makefile.am to install the completion-helper correctly.
Mathieu Duponchelle [Wed, 15 Apr 2015 11:02:36 +0000 (13:02 +0200)]
helpers: Fix Makefile.am to install the completion-helper correctly.

+ The program is installed at install-exec time, we thus need
  to move it in install-exec-hook, not install-data-hook.

9 years agoRevert "basesrc: fix pool leak on allocation query error path"
Vincent Penquerc'h [Wed, 15 Apr 2015 10:38:35 +0000 (11:38 +0100)]
Revert "basesrc: fix pool leak on allocation query error path"

This reverts commit 84fdf50b2f98951a32fa14802b62621f1105cd35.

It seems the bug was fixed independently, and the merge was
automagic, yielding two extra free calls.

9 years agotests: clock: fix test clock name
Suhwang Kim [Tue, 14 Apr 2015 04:42:55 +0000 (13:42 +0900)]
tests: clock: fix test clock name

Don't call the slave test clock "Master".

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

9 years agoelementfactory: add ENCRYPTOR class defines
Tim-Philipp Müller [Tue, 14 Apr 2015 16:47:08 +0000 (17:47 +0100)]
elementfactory: add ENCRYPTOR class defines

to go with DECRYPTOR.

9 years agoelementfactory: add DECRYPTOR class defines
Alex Ashley [Mon, 16 Mar 2015 13:11:59 +0000 (13:11 +0000)]
elementfactory: add DECRYPTOR class defines

An element that performs decryption does not naturally fit within any
of the existing element factory class types. It is useful to be able
to easily get a list of all elements that support decryption so that
a union can be computed between the protection systems that have a
supported decryptor and the allowed protection systems for a particular
stream.

This commit adds a new GST_ELEMENT_FACTORY_TYPE_DECRYPTOR and its
associated string identifier "Decryptor". It also adds
GST_ELEMENT_FACTORY_TYPE_DECRYPTOR to GST_ELEMENT_FACTORY_TYPE_DECODABLE
so that uridecodebin can auto-plug a decryption element.

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

9 years agotypefindelement: Use gst_event_unref() instead of gst_mini_object_unref() + casting
Sebastian Dröge [Mon, 13 Apr 2015 15:01:41 +0000 (17:01 +0200)]
typefindelement: Use gst_event_unref() instead of gst_mini_object_unref() + casting

9 years agotypefind: fix leak in gst_type_find_element_src_event()
Guillaume Desmottes [Mon, 13 Apr 2015 12:40:22 +0000 (14:40 +0200)]
typefind: fix leak in gst_type_find_element_src_event()

gst_type_find_element_src_event() is supposed to consume @event but wasn't
doing so when it was handling the event itself.

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

Signed-off-by: Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
9 years agogstvalue: reset errno before g_ascii_strtoull call
Hyunjun Ko [Sat, 11 Apr 2015 11:44:02 +0000 (20:44 +0900)]
gstvalue: reset errno before g_ascii_strtoull call

"errno" already has meaningless value before g_ascii_strtoull call.
This causes invalid error check without reset.

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

9 years agobasesrc: Only set DTS to segment.start on the first buffer if subclass did not provid...
Sebastian Dröge [Sun, 12 Apr 2015 11:13:32 +0000 (13:13 +0200)]
basesrc: Only set DTS to segment.start on the first buffer if subclass did not provide PTS

Otherwise we're going to set a rather arbitrary DTS of segment.start (usually
0) for live sources, which confuses synchronization if the source started
capturing at a later time. And it's especially wrong for raw media, for which
we should not set any DTS at all.

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

9 years agotypefind: Run the default have-type handler after all application handlers
Sebastian Dröge [Tue, 2 Sep 2014 14:40:28 +0000 (17:40 +0300)]
typefind: Run the default have-type handler after all application handlers

Otherwise the CAPS event will already be forwarded downstream and
the application has no way to intervene anymore.

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

9 years agomultiqueue: Don't automatically enter the buffering state when use-buffering is set.
Duncan Palmer [Tue, 10 Mar 2015 02:57:44 +0000 (12:57 +1000)]
multiqueue: Don't automatically enter the buffering state when use-buffering is set.

There is no reason I can see to set mq->buffering = TRUE when
use_buffering is set; the code here also calls update_buffering(), which
will set mq->buffering = TRUE if this is warranted because of low buffer
levels.

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

9 years agoinputselector: fix cached buffer leak in chain function
Guillaume Desmottes [Fri, 10 Apr 2015 10:32:27 +0000 (12:32 +0200)]
inputselector: fix cached buffer leak in chain function

gst_selector_pad_chain() was popping cached buffers out of the queue without
freeing those. Make sure we don't steal the GstBuffer as the cached buffer ref
has been passed to the pad chain function.

This can be reproduced by running the
validate.file.playback.switch_subtitle_track_while_paused.test5_mkv scenario
with Valgrind.

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

Signed-off-by: Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
9 years agotests: Use AM_TESTS_ENVIRONMENT
Edward Hervey [Wed, 8 Apr 2015 14:04:11 +0000 (16:04 +0200)]
tests: Use AM_TESTS_ENVIRONMENT

Needed by the new automake test runner

9 years agobufferlist: make sure list is writable before adding or removing buffers
Prashant Gotarne [Tue, 7 Apr 2015 09:30:46 +0000 (15:00 +0530)]
bufferlist: make sure list is writable before adding or removing buffers

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

9 years agobufferlist: minor docs addition for gst_buffer_list_get()
Prashant Gotarne [Tue, 7 Apr 2015 09:04:58 +0000 (14:34 +0530)]
bufferlist: minor docs addition for gst_buffer_list_get()

Return buffer remains valid as long as list is valid
and buffer is not removed from list.

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

9 years agobasesrc: fix pool leak on allocation query error path
Vincent Penquerc'h [Tue, 7 Apr 2015 10:38:31 +0000 (11:38 +0100)]
basesrc: fix pool leak on allocation query error path

It could be triggered by:

gst-launch-1.0 videotestsrc num-buffers=20 ! videcrop bottom=214748364 ! videoconvert ! autovideosink

Spotted while testing:

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

9 years agobaseparse: Forward SEGMENT_DONE events immediately
Sebastian Dröge [Tue, 7 Apr 2015 01:45:37 +0000 (18:45 -0700)]
baseparse: Forward SEGMENT_DONE events immediately

There might be no more data coming afterwards, and we just drained everything
that was left to be pushed anyway.

9 years agodocs: fix cross-reference to environment variables in GstInfo
Tim-Philipp Müller [Mon, 6 Apr 2015 17:56:25 +0000 (18:56 +0100)]
docs: fix cross-reference to environment variables in GstInfo

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

9 years agomemory: add check for writablity in resize
Prashant Gotarne [Mon, 6 Apr 2015 04:48:15 +0000 (10:18 +0530)]
memory: add check for writablity in resize

Add guard to gst_memory_resize() to make sure the
memory to be resized is actually writable.

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

9 years agotests: multiqueue: add test to make sure initial events go through without buffers
Tim-Philipp Müller [Sun, 5 Apr 2015 15:47:26 +0000 (16:47 +0100)]
tests: multiqueue: add test to make sure initial events go through without buffers

9 years agotests: queue: check that the initial events are sent on immediately
Tim-Philipp Müller [Sun, 5 Apr 2015 15:06:44 +0000 (16:06 +0100)]
tests: queue: check that the initial events are sent on immediately

Add a check that makes sure stream-start, caps, and segment events
are passed on by queue without delay, i.e. even if no buffer is
sent.

9 years agopad: Print debug output from gst_pad_link_full() if preparing linking failed
Sebastian Dröge [Sun, 5 Apr 2015 01:33:18 +0000 (18:33 -0700)]
pad: Print debug output from gst_pad_link_full() if preparing linking failed

Makes it easier to find linking failures in debug logs.

9 years agosegment: small docs addition
Tim-Philipp Müller [Sat, 4 Apr 2015 18:29:51 +0000 (19:29 +0100)]
segment: small docs addition

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

9 years agodocs: design: fix some 0.10-isms in GstSegment docs
Tim-Philipp Müller [Sat, 4 Apr 2015 17:18:03 +0000 (18:18 +0100)]
docs: design: fix some 0.10-isms in GstSegment docs

1) segment.accum -> segment.base

2) Refer to GstSegment members as S.foo instead of
NS.foo, the event is now called a segment event
rather than newsegment event.

3) There's no more abs_rate field in GstSegment,
and there never was an abs_applied_rate field.

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

9 years agobasesrc: do not leak buffer pool in error case
Ilya Konstantinov [Sat, 4 Apr 2015 01:14:50 +0000 (04:14 +0300)]
basesrc: do not leak buffer pool in error case

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

9 years agouri: Silence a compiler warning
Nicolas Dufresne [Fri, 3 Apr 2015 23:12:48 +0000 (19:12 -0400)]
uri: Silence a compiler warning

This is a false positive for use initialized. The variable is set and
used enclosed in the safe if condition.

9 years agodoc: Add gst_segment_to_running_time_full
Nicolas Dufresne [Fri, 3 Apr 2015 20:32:16 +0000 (16:32 -0400)]
doc: Add gst_segment_to_running_time_full

9 years agobasesrc: Fix documentation, buffer pools are unreffed and not freed
Sebastian Dröge [Fri, 3 Apr 2015 20:19:13 +0000 (13:19 -0700)]
basesrc: Fix documentation, buffer pools are unreffed and not freed

9 years agoUpdate INSTALL to the automake 1.14 version
Tim-Philipp Müller [Fri, 3 Apr 2015 19:43:15 +0000 (20:43 +0100)]
Update INSTALL to the automake 1.14 version

9 years agoAutomatic update of common submodule
Tim-Philipp Müller [Fri, 3 Apr 2015 17:57:36 +0000 (18:57 +0100)]
Automatic update of common submodule

From bc76a8b to c8fb372

9 years agowin32: fix exports
Tim-Philipp Müller [Fri, 3 Apr 2015 15:27:10 +0000 (16:27 +0100)]
win32: fix exports

9 years agosegment: add gst_segment_is_equal
Vincent Penquerc'h [Thu, 19 Mar 2015 10:45:56 +0000 (10:45 +0000)]
segment: add gst_segment_is_equal

It beats memcmp due to the 'reserved' fields.

API: gst_segment_is_equal()

Found via, but probably not directly linked to,
https://bugzilla.gnome.org/show_bug.cgi?id=738216

9 years agowin32: add new API to exports
Tim-Philipp Müller [Thu, 2 Apr 2015 23:36:42 +0000 (00:36 +0100)]
win32: add new API to exports

9 years agopad: allow probes to remove the data item whilst returning PROBE_OK
Tim-Philipp Müller [Wed, 6 Aug 2014 09:32:39 +0000 (10:32 +0100)]
pad: allow probes to remove the data item whilst returning PROBE_OK

Use case: we want to block the source pad of a leaky queue and
drop the buffer that causes the block. If we return PROBE_DROP
then the buffer gets dropped, but we get called again. If we
return PROBE_OK we can't easily drop the buffer. If we just
replace the item into the GstPadProbeInfo structure with NULL,
GStreamer will push a NULL buffer to the next element when we
unblock the pad probe. This patch ensures it doesn't do that.

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

9 years agoelement: Document when a clock is available from gst_element_get_clock()
Olivier Crête [Fri, 13 Feb 2015 00:39:44 +0000 (19:39 -0500)]
element: Document when a clock is available from gst_element_get_clock()

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

9 years agopipeline: Add binding friendly gst_pipeline_get_pipeline_clock()
Olivier Crête [Fri, 13 Feb 2015 00:40:06 +0000 (19:40 -0500)]
pipeline: Add binding friendly gst_pipeline_get_pipeline_clock()

Also skip gst_pipeline_get_clock() and gst_pipeline_set_clock() from the
bindings as they are confused with gst_element_*_clock().

API: gst_pipeline_get_pipeline_clock()

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

9 years agobasetransform: Add Since mark for new method
Nicolas Dufresne [Thu, 2 Apr 2015 21:32:42 +0000 (17:32 -0400)]
basetransform: Add Since mark for new method

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

9 years agobasetransform: Add a method to let subclasses cleanly update srcpad caps
Thibault Saunier [Fri, 20 Feb 2015 16:50:48 +0000 (17:50 +0100)]
basetransform: Add a method to let subclasses cleanly update srcpad caps

API:
    gst_base_transform_update_src

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

9 years agodocs: pwg: fix missing comma and 0.10-ism in code sample
Tim-Philipp Müller [Thu, 2 Apr 2015 20:18:39 +0000 (21:18 +0100)]
docs: pwg: fix missing comma and 0.10-ism in code sample

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

9 years agomemory: improve docs for _copy() and _share()
Ilya Konstantinov [Thu, 2 Apr 2015 16:29:46 +0000 (19:29 +0300)]
memory: improve docs for _copy() and _share()

9 years agotest: filesink: add tests for buffers with multiple memory blocks
Prashant Gotarne [Thu, 2 Apr 2015 06:12:20 +0000 (11:42 +0530)]
test: filesink: add tests for buffers with multiple memory blocks

Update test_seeking testcase to verify the render and render_list
virtual method handle buffers and buffer list containing multiple
memory blocks correctly.

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

9 years agoelement: Add a FIXME for 2.0 about request_new_pad VS request_pad naming
Thibault Saunier [Thu, 2 Apr 2015 07:44:33 +0000 (09:44 +0200)]
element: Add a FIXME for 2.0 about request_new_pad VS request_pad naming

9 years agoelement: Fix request_new_pad introspection
Thibault Saunier [Thu, 2 Apr 2015 07:34:00 +0000 (09:34 +0200)]
element: Fix request_new_pad introspection

Marking gst_element_request_pad as the caller of the ->request_new_pad
virtual method.

9 years agotests: filesink: add check for render_list virtual method
Prashant Gotarne [Wed, 1 Apr 2015 03:50:24 +0000 (09:20 +0530)]
tests: filesink: add check for render_list virtual method

GstFileSink implements the render_list virtual method to render
a list of buffers. Update the test_seeking test case to also
check the render_list method implementation.

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

9 years agodebugutils: nicer printing of caps features
Tim-Philipp Müller [Wed, 1 Apr 2015 11:13:17 +0000 (12:13 +0100)]
debugutils: nicer printing of caps features

Only print interesting caps features, don't
append (memory:SystemMemory) to all caps,
which makes them much more unwieldy and
harder to read. Also use internal function
to get caps features so that our printing
has no side effects on the caps.

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

9 years agodebugutils: plot caps features
Lubosz Sarnecki [Thu, 26 Mar 2015 12:05:57 +0000 (13:05 +0100)]
debugutils: plot caps features

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

9 years agopad: Fix a typo in a docstring
Wonchul Lee [Tue, 31 Mar 2015 14:48:22 +0000 (23:48 +0900)]
pad: Fix a typo in a docstring

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

9 years agointrospection: Don't use g-ir-scanner cache at compile time
Edward Hervey [Tue, 31 Mar 2015 09:15:10 +0000 (11:15 +0200)]
introspection: Don't use g-ir-scanner cache at compile time

It pollutes user directories and we don't need to cache it

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

9 years agopad: fix outdated debug message
Tim-Philipp Müller [Sat, 28 Mar 2015 14:45:35 +0000 (14:45 +0000)]
pad: fix outdated debug message

Buffer lists don't have groups any more in 1.0

9 years agobasesrc: Flush-stop starts live task in paused
Nicolas Dufresne [Fri, 27 Mar 2015 22:20:37 +0000 (18:20 -0400)]
basesrc: Flush-stop starts live task in paused

The flush-stop event should not restart the task for live sources unless
the element is playing. This was breaking seeks in pause with the rtpsrc.

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

9 years agotests: check location isn't truncated
Luis de Bethencourt [Fri, 27 Mar 2015 16:23:40 +0000 (16:23 +0000)]
tests: check location isn't truncated

Test covering the recent commit where location='".abc' won't get truncated
to '.ab' anymore

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

9 years agogstvalue: only unwrap string delimited with "
Luis de Bethencourt [Thu, 26 Mar 2015 17:01:06 +0000 (17:01 +0000)]
gstvalue: only unwrap string delimited with "

Don't unwrap strings that start but don't finish with a double quote. If a
string is delimited by two quotes we unescape them and any special characters
in the middle (like \" or \\). If the first character or the last character
aren't a quote we assume it's part of an unescaped string.

Moved some deserialize_string unit tests because we don't try to unwrap strings
missing that second quote anymore.

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

9 years agoparse: check before truncating strings
Luis de Bethencourt [Fri, 27 Mar 2015 17:16:03 +0000 (17:16 +0000)]
parse: check before truncating strings

Don't truncate the last character of a string if it isn't necessary.

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

9 years agobus: Add guards against invalid arguments to set_flushing() and poll()
Sebastian Dröge [Fri, 27 Mar 2015 09:15:16 +0000 (10:15 +0100)]
bus: Add guards against invalid arguments to set_flushing() and poll()

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

9 years agobaseparse: only post 'no valid frames' error if buffers were received
Thiago Santos [Wed, 25 Mar 2015 13:49:08 +0000 (10:49 -0300)]
baseparse: only post 'no valid frames' error if buffers were received

Otherwise baseparse will consider empty streams to be an error while
an empty stream is a valid scenario. With this patch, errors would
only be emitted if the parser received data but wasn't able to
produce any output from it.

This change is only for push-mode operation as in pull mode an
empty file can be considered an error for the one driving the
pipeline

Includes a unit test for it

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

9 years agotee: Add allow-not-linked property
Jose Antonio Santos Cadenas [Thu, 19 Mar 2015 09:36:11 +0000 (10:36 +0100)]
tee: Add allow-not-linked property

This property avoids not linked error when all the pads are unlinked
or when there are no source pads. This is useful in dynamic pipelines
where it can happen that for a short time there are no pads at all or
all downstream pads are not linked yet.

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

9 years agodocs: Fix typos
Michael Catanzaro [Sat, 21 Mar 2015 22:13:18 +0000 (17:13 -0500)]
docs: Fix typos

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

9 years agopluginloader: Fix typos
Michael Catanzaro [Sat, 21 Mar 2015 20:46:50 +0000 (15:46 -0500)]
pluginloader: Fix typos

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

9 years agooutput-selector: add drain handling
Thiago Santos [Tue, 24 Mar 2015 19:04:16 +0000 (16:04 -0300)]
output-selector: add drain handling

Release the latest buffer, if any, and then just let
the drain be pushed downstream

9 years agoRevert "Fix distcheck"
Mathieu Duponchelle [Tue, 24 Mar 2015 18:32:49 +0000 (19:32 +0100)]
Revert "Fix distcheck"

This reverts commit 56dd2d89c4eac460cbc37e2a51c1dd9e792999e8.

Installing completions to a custom prefix is now fixed.

9 years agohelpers: remove completion-helper on uninstall
Mathieu Duponchelle [Tue, 24 Mar 2015 18:30:52 +0000 (19:30 +0100)]
helpers: remove completion-helper on uninstall

+ And add it to CLEANFILES

9 years agocompletions: remove last unnamespaced symbols.
Mathieu Duponchelle [Wed, 18 Mar 2015 18:38:15 +0000 (19:38 +0100)]
completions: remove last unnamespaced symbols.

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

9 years agocompletions: remove deprecated shell syntax.
Mathieu Duponchelle [Wed, 18 Mar 2015 13:44:21 +0000 (14:44 +0100)]
completions: remove deprecated shell syntax.

https://bugzilla.gnome.org/show_bug.cgi?id=744877#c21

9 years agocompletions: prefix shell functions with _gst
Mathieu Duponchelle [Wed, 18 Mar 2015 13:37:11 +0000 (14:37 +0100)]
completions: prefix shell functions with _gst

+ To make it more difficult for them to conflict in the
  global namespace.

https://bugzilla.gnome.org/show_bug.cgi?id=744877#c21

9 years agobash-completion: Respect the prefix
Nicolas Dufresne [Tue, 24 Mar 2015 17:13:29 +0000 (13:13 -0400)]
bash-completion: Respect the prefix

Don't try and install the bash helpers outside the defined prefix.

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

9 years agoinput-selector: Rename _activate_sinkpad to _get_active_sinkpad
Jan Alexander Steffens (heftig) [Wed, 19 Nov 2014 12:08:45 +0000 (13:08 +0100)]
input-selector: Rename _activate_sinkpad to _get_active_sinkpad

Removes the now unused 'pad' parameter and renames the function
to something more appropriate.

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

9 years agoinput-selector: Remove pad's 'active' field
Jan Alexander Steffens (heftig) [Wed, 19 Nov 2014 12:03:21 +0000 (13:03 +0100)]
input-selector: Remove pad's 'active' field

This is now never read.

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

9 years agoinput-selector: Use segment-presence for running_time check
Jan Alexander Steffens (heftig) [Wed, 19 Nov 2014 11:59:12 +0000 (12:59 +0100)]
input-selector: Use segment-presence for running_time check

When determining whether the running_time of a pad can be
calculated, check if the segment is in TIME format instead
of using the 'active' field.

Since the latter is set through *any* activity, it's not a
reliable indicator of segment presence.

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

9 years agoinput-selector: Remove 'blocked' flag
Jan Alexander Steffens (heftig) [Mon, 23 Mar 2015 12:20:34 +0000 (13:20 +0100)]
input-selector: Remove 'blocked' flag

With the disappearance of the 'block' signal, this
flag cannot be set to TRUE.

gst_input_selector_wait disappears as it never waits
and just returns self->flushing.

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

9 years agoinput-selector: Remove obsolete 'block' signal
Jan Alexander Steffens (heftig) [Mon, 23 Mar 2015 11:12:51 +0000 (12:12 +0100)]
input-selector: Remove obsolete 'block' signal

This signal blocks the input-selector with no means of unblocking
other than a state change back to READY. It seems this signal was
part of an old way of synchronously switching the selector,
together with the already-removed 'switch' signal.

Removing the signal is safe, as attempting to use it could only
end in deadlocks. Attempting to emit an unknown signal just causes
g_criticals.

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

9 years agoinput-selector: Fix waiting on EOS
Jan Alexander Steffens (heftig) [Mon, 23 Mar 2015 12:05:30 +0000 (13:05 +0100)]
input-selector: Fix waiting on EOS

This apparently got broken by bc1ec4e. Since self->blocked is always
FALSE, gst_input_selector_wait never actually waits.

Using (!self->eos || self->blocked) && ... as the loop condition would
be incorrect as well, because then the other call to the function in
_chain would block until EOS, so the functions cannot be merged trivially.

Since blocking is obsolete, gst_input_selector_wait will get removed anyway.
As such, just inline the loop.

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

9 years agotests: input-selector: new tests for EOS handling
Thiago Santos [Fri, 20 Mar 2015 10:23:53 +0000 (07:23 -0300)]
tests: input-selector: new tests for EOS handling

3 new tests:

1) Tests that a stream that is empty (just an EOS event)
   on inactive pad doesn't get through and tamper
   with the active pad that still has data

2) Tests that a stream that is shorter than the active one
   (pushes EOS earlier) doesn't has its EOS pushed

3) Tests that switching to an inactive stream that has received
   EOS will make input-selector push EOS

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

9 years agotests: selector: remove weird semicolons at the end of test functions
Thiago Santos [Thu, 19 Mar 2015 12:11:19 +0000 (12:11 +0000)]
tests: selector: remove weird semicolons at the end of test functions

Even though it works, it is not needed and seems more natural
to not have semicolons at the end of function declarations

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

9 years agoqueue2: Process SEEKING query
Jan Alexander Steffens (heftig) [Thu, 17 Jul 2014 14:33:29 +0000 (16:33 +0200)]
queue2: Process SEEKING query

Add QUERY_SEEKING handling to queue2, so RTMP live streams become
seekable when a queue2 in download or ringbuffer mode is inserted:

rtmpsrc ! queue2 ! flvdemux

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

9 years agocheck: Fix uninitialized variable compiler warning with gcc
Sebastian Dröge [Sat, 21 Mar 2015 18:37:30 +0000 (19:37 +0100)]
check: Fix uninitialized variable compiler warning with gcc

check_run.c: In function 'sig_handler':
check_run.c:127:13: warning: 'child_sig' may be used uninitialized in this function [-Wmaybe-uninitialized]
             killpg(group_pid, child_sig);
             ^
check_run.c:130:31: warning: 'idx' may be used uninitialized in this function [-Wmaybe-uninitialized]
             sigaction(sig_nr, &old_action[idx], NULL);
                               ^