platform/upstream/gstreamer.git
9 years agoidentity: send gap events when dropping buffers
Vincent Penquerc'h [Wed, 14 Jan 2015 10:52:11 +0000 (10:52 +0000)]
identity: send gap events when dropping buffers

9 years agopreset: fix incorrect preset version comparison
Phillip Wood [Tue, 13 Jan 2015 18:11:39 +0000 (18:11 +0000)]
preset: fix incorrect preset version comparison

Use app_version if there are no system presets, so that if the
application presets are newer than the user presets they are merged.

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

9 years agoinputselector: Don't dereference NULL pointer
Sebastian Dröge [Mon, 12 Jan 2015 15:03:02 +0000 (16:03 +0100)]
inputselector: Don't dereference NULL pointer

CID 1262286

9 years agoAutomatic update of common submodule
Stefan Sauer [Mon, 12 Jan 2015 14:55:47 +0000 (15:55 +0100)]
Automatic update of common submodule

From f2c6b95 to bc76a8b

9 years agopreset: fix sorting presets
Stefan Sauer [Sun, 11 Jan 2015 22:00:29 +0000 (23:00 +0100)]
preset: fix sorting presets

The glib docs are not clear on this, but the qsort man-page is - the
GCompareDataFunc does not get the strings, but pointers to them.

9 years agoinputselector: fix silly GQueue iteration code
Tim-Philipp Müller [Wed, 31 Dec 2014 18:52:34 +0000 (18:52 +0000)]
inputselector: fix silly GQueue iteration code

Not active by default though.

9 years agopreset: don't return empty preset lists
Stefan Sauer [Sun, 4 Jan 2015 22:24:53 +0000 (23:24 +0100)]
preset: don't return empty preset lists

Add a shortcut for the cases where an element implements the preset iface but
has no presets and return NULL instead of an empty list in that case.

9 years agogst-inspect: only print presets line if num-presets > 0
Stefan Sauer [Sun, 4 Jan 2015 22:08:47 +0000 (23:08 +0100)]
gst-inspect: only print presets line if num-presets > 0

Also check for an empty strv.

9 years agogst-inspect: fix output for -a
Stefan Sauer [Sun, 4 Jan 2015 21:51:09 +0000 (22:51 +0100)]
gst-inspect: fix output for -a

Use n_print to ensure all lines are prefixed with the element name.

9 years agodocs: ignore libcheck headers that use doxygen comments
Stefan Sauer [Mon, 29 Dec 2014 10:54:00 +0000 (11:54 +0100)]
docs: ignore libcheck headers that use doxygen comments

9 years agodocs: fix two gtk-doc warnings
Stefan Sauer [Mon, 29 Dec 2014 10:52:22 +0000 (11:52 +0100)]
docs: fix two gtk-doc warnings

One by correcting the end-of-comment marker and one by making sure the function
prototype in the header is in sync with the c file and doc-blob.

9 years agodocs: Add missing interfaces to documentation
Sebastian Rasmussen [Fri, 26 Dec 2014 22:22:30 +0000 (23:22 +0100)]
docs: Add missing interfaces to documentation

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

9 years agoiterator: Fix outdated example code and accompanying documentation
Nirbheek Chauhan [Sat, 27 Dec 2014 09:45:30 +0000 (15:15 +0530)]
iterator: Fix outdated example code and accompanying documentation

GstIterator no longer returns a refcounted gpointer

9 years agoinputselector: Use the same waiting function for EOS and non-EOS waiting
Sebastian Dröge [Wed, 24 Dec 2014 12:46:28 +0000 (13:46 +0100)]
inputselector: Use the same waiting function for EOS and non-EOS waiting

9 years agoinputselector: Wake up all waitings pads directly if we forward the EOS event
Sebastian Dröge [Wed, 24 Dec 2014 12:44:09 +0000 (13:44 +0100)]
inputselector: Wake up all waitings pads directly if we forward the EOS event

Otherwise they might wait a bit longer unnecessarily.

Also do some minor cleanup.

9 years agoinputselector: Block when receiving an EOS event on a deactivated pad
Song Bing [Wed, 24 Dec 2014 02:13:51 +0000 (10:13 +0800)]
inputselector: Block when receiving an EOS event on a deactivated pad

... and only unblock when either a) the pad becomes active and the event
should be forwarded or b) the active pad went EOS itself.

Otherwise it can happen that we switch from a longer track that is not EOS yet
to a shorter track that already is EOS, but the shorter track won't have any
possibility to send its EOS event downstream anymore.

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

9 years agoinputselector: Keep a ref of the currently active sinkpad around
Sebastian Dröge [Tue, 23 Dec 2014 11:54:50 +0000 (12:54 +0100)]
inputselector: Keep a ref of the currently active sinkpad around

Otherwise we can't be sure that the pointer points to a still existing
pad instance after releasing the lock.

9 years agoinputselector: Get the active sinkpad again after taking the lock when handling events
Song Bing [Tue, 23 Dec 2014 11:53:58 +0000 (12:53 +0100)]
inputselector: Get the active sinkpad again after taking the lock when handling events

It might have changed in the meantime.

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

9 years agobasetransform: Short-circuit CAPS query handling if transform_caps returns EMPTY...
Sebastian Dröge [Mon, 22 Dec 2014 12:08:37 +0000 (13:08 +0100)]
basetransform: Short-circuit CAPS query handling if transform_caps returns EMPTY caps

Both for the peer filter caps and the converted caps based on the peer caps.

If the peer filter caps are EMPTY, the peer caps query will also return
EMPTY. There's no ned to both downstream/upstream with this query.

9 years agoMAINTAINERS: Update my mail address
Sebastian Dröge [Mon, 22 Dec 2014 10:45:13 +0000 (11:45 +0100)]
MAINTAINERS: Update my mail address

9 years agodebugutils: use a constant for the max param length
Stefan Sauer [Sun, 21 Dec 2014 13:12:29 +0000 (14:12 +0100)]
debugutils: use a constant for the max param length

Improve readability by using a define for the max-chars. Also use the unicode
ellipsis as dot files are utf-8.

9 years agogst-inspect: print preset names
Stefan Sauer [Mon, 15 Dec 2014 13:03:54 +0000 (14:03 +0100)]
gst-inspect: print preset names

If the element supports presets and ships some, print them.
Fixes #741427

9 years agogstinfo: Add new maximum level debugging
Edward Hervey [Fri, 19 Dec 2014 10:35:24 +0000 (11:35 +0100)]
gstinfo: Add new maximum level debugging

API: GST_LEVEL_MAX

By compiling gstreamer (or plugins) with GST_LEVEL_MAX defined, only
the debugging statements at or below that level will be compiled in.

This allows compiling in some debugging (like errors and warnings) which
helps in debugging, but without the full cpu/memory overhead of all debugging
enabled.

9 years agogstcheck: fix GI annotation
Thiago Santos [Thu, 18 Dec 2014 15:04:22 +0000 (12:04 -0300)]
gstcheck: fix GI annotation

Add missing : to annotation

9 years agobaseparse: jump over large skips in pull mode
Vincent Penquerc'h [Thu, 13 Nov 2014 14:53:59 +0000 (14:53 +0000)]
baseparse: jump over large skips in pull mode

This bypasses the dumping of buffers we still have to do in push mode.

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

9 years agodebugutils: Truncate parameter values that are too long
Arun Raghavan [Sat, 25 Oct 2014 11:46:25 +0000 (17:16 +0530)]
debugutils: Truncate parameter values that are too long

This removes some information from the dumps, but improves readability.

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

9 years agoAutomatic update of common submodule
Sebastian Dröge [Thu, 18 Dec 2014 09:53:02 +0000 (10:53 +0100)]
Automatic update of common submodule

From ef1ffdc to f2c6b95

9 years agostructure/caps: Add gst_{structure,caps}_filter_and_map_in_place()
Sebastian Dröge [Tue, 16 Dec 2014 15:31:21 +0000 (16:31 +0100)]
structure/caps: Add gst_{structure,caps}_filter_and_map_in_place()

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

9 years agostructure: Add simple unit test for foreach() and map_in_place()
Sebastian Dröge [Tue, 16 Dec 2014 17:14:22 +0000 (18:14 +0100)]
structure: Add simple unit test for foreach() and map_in_place()

9 years agocaps: Add gst_caps_foreach() and gst_caps_map_in_place()
Sebastian Dröge [Fri, 7 Nov 2014 10:15:09 +0000 (11:15 +0100)]
caps: Add gst_caps_foreach() and gst_caps_map_in_place()

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

9 years agopo: update for new translatable strings
Tim-Philipp Müller [Tue, 16 Dec 2014 15:53:06 +0000 (15:53 +0000)]
po: update for new translatable strings

9 years agocheck: Have autotools generate internal-check.h
Sebastian Rasmussen [Sun, 14 Dec 2014 11:54:32 +0000 (12:54 +0100)]
check: Have autotools generate internal-check.h

Previously GStreamer got access to the libcheck interface by including
libs/gst/check/check.h which in turn included internal-check.h in the
same directory. internal-check.h was generated by copying
libs/gst/check/libcheck/check.h which in turn was generated from
check.h.in in the same directory. In this case generating
libs/gst/check/libcheck/check.h is unnecessary, in addition this file
was accidentally distributed in generated project tarballs.

Now libs/gst/check/internal-check.h is generated directly from
libs/gst/check/libcheck/check.h.in by configure. This means that the
libcheck source must include internal-check.h instead of the previously
generated libs/gst/check/libcheck/check.h. However the unnecessary
intermediate step is now skipped.

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

9 years agobufferpool: Don't check size in config validation
Nicolas Dufresne [Tue, 16 Dec 2014 15:13:03 +0000 (10:13 -0500)]
bufferpool: Don't check size in config validation

Pools are allowed to change the size in order to adapt padding. So
don't check the size. Normally pool will change the size without
failing set_config(), but it they endup changing the size before
the validate method may fail on a false positive.

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

9 years agobufferpool: log reason for discarded buffers
Wim Taymans [Tue, 16 Dec 2014 11:21:59 +0000 (12:21 +0100)]
bufferpool: log reason for discarded buffers

PERFORMANCE log the reason why a buffer could not be recycled in the
bufferpool.

9 years agocheck: Update version number of included libcheck
Sebastian Rasmussen [Mon, 15 Dec 2014 13:53:28 +0000 (14:53 +0100)]
check: Update version number of included libcheck

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

9 years agowin32: update exports
Tim-Philipp Müller [Fri, 12 Dec 2014 21:02:22 +0000 (21:02 +0000)]
win32: update exports

9 years agodocs: add new preset api
Stefan Sauer [Fri, 12 Dec 2014 20:54:01 +0000 (21:54 +0100)]
docs: add new preset api

9 years agopreset: add gst_preset_is_editable()
Stefan Sauer [Fri, 12 Dec 2014 20:38:26 +0000 (21:38 +0100)]
preset: add gst_preset_is_editable()

Add a function to check if the preset iface implementation is editable and
document this from the implementers perspective.
API: gst_preset_is_editable()

9 years agowin32: Update def file
Edward Hervey [Fri, 12 Dec 2014 13:23:19 +0000 (14:23 +0100)]
win32: Update def file

9 years agodebugutils: Fix compiler warning
Sebastian Dröge [Fri, 12 Dec 2014 12:57:39 +0000 (13:57 +0100)]
debugutils: Fix compiler warning

gstdebugutils.c: In function 'gst_debug_bin_to_dot_data':
gstdebugutils.c:683:530: error: 'return' with no value, in function returning non-void [-Werror]
   g_return_if_fail (GST_IS_BIN (bin));

9 years agodebugutils: Add a gst_debug_bin_to_dot_data() method
Arun Raghavan [Fri, 12 Dec 2014 07:45:02 +0000 (13:15 +0530)]
debugutils: Add a gst_debug_bin_to_dot_data() method

This provides the dot file as a string, rather than dumping to a file.

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

9 years agotypefind: minor cosmetic change
Tim-Philipp Müller [Wed, 10 Dec 2014 11:17:11 +0000 (11:17 +0000)]
typefind: minor cosmetic change

No nee to abbrev variab nam here, nicer to read if full.

9 years agotypefind: use GST_BUFFER_OFFSET_NONE for buffer offset
Tim-Philipp Müller [Wed, 10 Dec 2014 11:16:09 +0000 (11:16 +0000)]
typefind: use GST_BUFFER_OFFSET_NONE for buffer offset

9 years agocheck: Avoid requring (u)intmax_t in macros
Sebastian Rasmussen [Sun, 7 Dec 2014 11:55:26 +0000 (12:55 +0100)]
check: Avoid requring (u)intmax_t in macros

Previously embedded libcheck versions did not depend on (u)intmax_t and
doing so would require projects using GStreamer's check framework to add
AX_CREATE_STDINT_H to their configure.ac. A workaround is to fallback to
glib types. This patch assumes that glib.h is always included before
internal-check.h which is ok since everything Gstreamer would include
gst/gstcheck.h instead of directly including internal-check.h.

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

9 years agocheck: Fix compilation error for iOS
Sebastian Rasmussen [Sat, 6 Dec 2014 18:03:04 +0000 (19:03 +0100)]
check: Fix compilation error for iOS

libcheck includes CoreServices for its compat for clock_gettime(),
even though it never uses anything it declares. Let's remove it.

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

9 years agocheck: Apply GStreamer-specific patches
Sebastian Rasmussen [Sat, 15 Nov 2014 12:26:47 +0000 (13:26 +0100)]
check: Apply GStreamer-specific patches

Reintroduced patches:

 * Make sure that fail_if(1) actually fails
   from commit 9f99d056a263e71a5e6181224829def906cf0226

New patches due to updated libcheck (based on 0.9.14):

 * Checks in m4/check-checks.m4 to cater for new dependencies
 * Conditional compile-time compat POSIX fallbacks for libcheck
 * Avoid relative paths for libcheck header files
 * Make timer_create() usage depend on posix timers, not librt
 * Rely on default AX_PTHREAD behavior to allow HAVE_PTHREAD to be used
   when checking for types and functions (like clock_gettime())
 * Avoid double declaration of clock_gettime() when availabe outside of
   librt by making compat clock_gettime() declaration conditional
 * check 0.9.9 renamed _fail_unless() and 0.9.12 later renamed it again
   to _ck_assert_failed(), so ASSERT_{CRITICAL,WARNING}() now calls this
   function
 * Remove libcheck fallback infrastructure for malloc(), realloc(),
   gettimeofday() and snprintf() since either they appear to be
   available or they introduce even more dependencies.

The result is an embedded check in gstreamer that has been tested by
running check tests in core, -base, -good, -bad, -ugly and rtsp-server
on Linux, OSX and Windows.

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

9 years agocheck: Import version 0.9.14
Sebastian Rasmussen [Sat, 15 Nov 2014 11:53:32 +0000 (12:53 +0100)]
check: Import version 0.9.14

This lifts the files almost verbatim (the changes being running though
gst-indent and fixing the FSF address) from the upstream respository.
Therefore this commit reverts some GStreamer-specific patches to check
that will be reintroduced next.

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

9 years agotypefind: Propagate input buffer offset
Edward Hervey [Tue, 4 Nov 2014 18:11:50 +0000 (19:11 +0100)]
typefind: Propagate input buffer offset

The initial buffers might have non-default offsets, make sure they get
propagated if present.

9 years agobasesink: clamp reported position based on direction
Edward Hervey [Tue, 7 Oct 2014 14:44:45 +0000 (16:44 +0200)]
basesink: clamp reported position based on direction

When using a negative rate (rate being segment.rate * segment.applied_rate),
we will end up reporting decreasing positions, therefore adjust the clamping
against last reported value accordingly.

Fixes positions getting properly reported with applied_rate < 0.0

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

9 years agoDon't compare booleans for equality to TRUE and FALSE
Sebastian Dröge [Fri, 28 Nov 2014 13:17:54 +0000 (14:17 +0100)]
Don't compare booleans for equality to TRUE and FALSE

TRUE is 1, but every other non-zero value is also considered true. Comparing
for equality with TRUE would only consider 1 but not the others.

Also normalize booleans in a few places.

9 years agoplugins: fix build on windows
Tim-Philipp Müller [Sun, 30 Nov 2014 23:50:53 +0000 (23:50 +0000)]
plugins: fix build on windows

gstelements_private.c: In function 'gst_writev_buffers':
gstelements_private.c:236:51: error: 'EWOULDBLOCK' undeclared

9 years agofilesink: use writev() in ::render() to write out memories without merging them
Tim-Philipp Müller [Fri, 28 Nov 2014 15:09:16 +0000 (15:09 +0000)]
filesink: use writev() in ::render() to write out memories without merging them

9 years agofilesink: implement ::render_list() function that uses writev()
Tim-Philipp Müller [Fri, 28 Nov 2014 15:04:27 +0000 (15:04 +0000)]
filesink: implement ::render_list() function that uses writev()

9 years agofdsink: use writev() in ::render() to write out memories without merging them
Tim-Philipp Müller [Fri, 28 Nov 2014 14:47:20 +0000 (14:47 +0000)]
fdsink: use writev() in ::render() to write out memories without merging them

9 years agofdsink: implement ::render_list() using writev()
Tim-Philipp Müller [Fri, 28 Nov 2014 14:39:33 +0000 (14:39 +0000)]
fdsink: implement ::render_list() using writev()

Write out multiple buffers possibly containing multiple
memories with one writev() call, without merging the
buffer memories first, like ::render() does currently.

9 years agoplugins: add helper function for writing buffers out with writev()
Tim-Philipp Müller [Fri, 28 Nov 2014 14:38:30 +0000 (14:38 +0000)]
plugins: add helper function for writing buffers out with writev()

9 years agobaseparse: update the duration variable before emitting the bus
Thiago Santos [Fri, 28 Nov 2014 17:15:30 +0000 (14:15 -0300)]
baseparse: update the duration variable before emitting the bus

Otherwise the application might still get the old value if it asks
between the message and the real update.

9 years agoelement: Fix doc and default implementation of send_event
Edward Hervey [Fri, 28 Nov 2014 15:25:02 +0000 (16:25 +0100)]
element: Fix doc and default implementation of send_event

The documentation states that gst_element_send_event is to "send an event
to an element".

Therefore we *send* upstream events to a source pad and downstream events
to a sink pad

9 years agoelement: Figure default send_event direction handling
Edward Hervey [Fri, 28 Nov 2014 10:16:00 +0000 (11:16 +0100)]
element: Figure default send_event direction handling

If we get a downstream event we want to send it to a random SINK pad
(and vice-versa).

9 years agobasetransform: Compare correct caps variable against NULL before comparing caps
Sebastian Dröge [Thu, 27 Nov 2014 17:00:57 +0000 (18:00 +0100)]
basetransform: Compare correct caps variable against NULL before comparing caps

9 years agoAutomatic update of common submodule
Edward Hervey [Thu, 27 Nov 2014 16:10:19 +0000 (17:10 +0100)]
Automatic update of common submodule

From f32cfcd to ef1ffdc

9 years agoscripts:uninstalled: Make sur the GES TestManager is registered
Thibault Saunier [Mon, 10 Nov 2014 08:58:47 +0000 (09:58 +0100)]
scripts:uninstalled: Make sur the GES TestManager is registered

So that whenever user work with GstValidate they can run GES tests
within the gst-uninstalled environment

9 years agobuild: Update ax_pthread.m4 and move it to common
Arun Raghavan [Wed, 26 Nov 2014 16:18:05 +0000 (21:48 +0530)]
build: Update ax_pthread.m4 and move it to common

Has some updates for Clang support (might not work with newer Clang
properly, yet), AIX support, and some misc fixes.

9 years agotriggercontrolsource: Fix short description for the docs
Sebastian Dröge [Tue, 25 Nov 2014 16:46:12 +0000 (17:46 +0100)]
triggercontrolsource: Fix short description for the docs

9 years agodocs: add GST_GL_* environment variables to 'Running GStreamer' section
Tim-Philipp Müller [Tue, 25 Nov 2014 09:39:40 +0000 (09:39 +0000)]
docs: add GST_GL_* environment variables to 'Running GStreamer' section

9 years agoqueue2: percentage is relative to high-percent
Thiago Santos [Sun, 23 Nov 2014 08:45:24 +0000 (05:45 -0300)]
queue2: percentage is relative to high-percent

When comparing percentage values, compare with 0-100 scale as it
has already been made relative to 0-high_percent, otherwise we mark
the queue as not buffering and report a 50% to the user. This leads to
a buffering stall as the user assumes the queue is still buffering but
it thinks it isn't.

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

9 years agomultiqueue: percentage is an absolute value
Thiago Santos [Sun, 23 Nov 2014 08:42:51 +0000 (05:42 -0300)]
multiqueue: percentage is an absolute value

multiqueue's queues stored percent value is the percentage from 0
to 100 (max-size-*) and should be compared with the requested limit
(high_percentage) set by the user and not with 100% to check if
buffering should stop. Otherwise we are only stopping buffering when the
queue gets completely full.

9 years agobasetransform: Fix caps equality check
Sebastian Dröge [Thu, 20 Nov 2014 20:33:59 +0000 (21:33 +0100)]
basetransform: Fix caps equality check

Instead of checking if our outcaps are equivalent to the previous incaps, and
if that is the case not setting any caps on the pad... compare against our
previous outcaps because that's what we care about.

Fixes some cases where the outcaps became equivalent to the previous incaps,
but the previous outcaps were different and we were then sending buffers
downstream that were corresponding to the caps we forgot to set on the pad.
Resulting in crashes or image corruption.

9 years agocommon: update for bison version check patch
Tim-Philipp Müller [Thu, 20 Nov 2014 13:33:12 +0000 (13:33 +0000)]
common: update for bison version check patch

Fix configure check with bison development version.

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

9 years agostructure: don't overread input when searching for "
Wim Taymans [Thu, 20 Nov 2014 12:34:32 +0000 (13:34 +0100)]
structure: don't overread input when searching for "

When searching for the string terminator don't read past the ending
0-byte when escaping characters.
Add unit test for various escaping cases.

9 years agopad: fail dropped queries
Vincent Penquerc'h [Mon, 3 Nov 2014 17:46:57 +0000 (17:46 +0000)]
pad: fail dropped queries

Previously, dropping a query from a pad probe would deem the
query succeeded, and the caller might then assume the query's
results are valid, and thus dereference an invalid object
such as a GstCaps.

We now assume dropped queries did not succeed. Dropped events
and buffers are still deemed a success.

Added back after previous revert, as it's been double checked.

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

9 years agoRevert "pad: fail dropped queries"
Vincent Penquerc'h [Wed, 12 Nov 2014 13:55:23 +0000 (13:55 +0000)]
Revert "pad: fail dropped queries"

This was pushed by mistake along with an unrelated patch.

This reverts commit c7103ce4b8c1da7dcfbcf2ec83a42a376fb896e1.

9 years agobaseparse: allow skipping more data than we currently have
Vincent Penquerc'h [Tue, 13 May 2014 10:18:08 +0000 (11:18 +0100)]
baseparse: allow skipping more data than we currently have

This can be useful for skipping large unwanted data, such as
large album art, when we know the size of it from a metadata
header.

9 years agopad: fail dropped queries
Vincent Penquerc'h [Mon, 3 Nov 2014 17:46:57 +0000 (17:46 +0000)]
pad: fail dropped queries

Previously, dropping a query from a pad probe would deem the
query succeeded, and the caller might then assume the query's
results are valid, and thus dereference an invalid object
such as a GstCaps.

We now assume dropped queries did not succeed. Dropped events
and buffers are still deemed a success.

9 years agotask: Fix pause/stop race condition
Haakon Sporsheim [Wed, 12 Nov 2014 10:30:51 +0000 (11:30 +0100)]
task: Fix pause/stop race condition

If a task thread is calling pause on it self and the
controlling/"main" thread stops the task, it could end in a race
where gst_task_func loops and then checks for paused after the
controlling thread just changed the task state to stopped.
Hence the task would actually call func again even though it was
both paused and stopped.

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

9 years agogstobject: Don't check booleans for equality in the unit test
Sebastian Dröge [Mon, 10 Nov 2014 09:01:02 +0000 (10:01 +0100)]
gstobject: Don't check booleans for equality in the unit test

Every value other than 0/FALSE is TRUE, == TRUE will only check for 1.

9 years agogstobject: Add gst_object_has_parent()
Jan Alexander Steffens (heftig) [Wed, 5 Nov 2014 10:50:47 +0000 (11:50 +0100)]
gstobject: Add gst_object_has_parent()

Adds gst_object_has_parent, which works like gst_object_has_ancestor
but does not ascend further.

API: gst_object_has_parent()

9 years agobasetransform: Don't bother the subclass with setting the same caps multiple times
Sebastian Dröge [Sun, 9 Nov 2014 09:37:42 +0000 (10:37 +0100)]
basetransform: Don't bother the subclass with setting the same caps multiple times

9 years agobasesink: Don't bother the subclass with setting the same caps multiple times
Sebastian Dröge [Sun, 9 Nov 2014 09:32:18 +0000 (10:32 +0100)]
basesink: Don't bother the subclass with setting the same caps multiple times

9 years agobasesrc: Don't bother the subclass with setting the same caps multiple times
Sebastian Dröge [Sun, 9 Nov 2014 09:29:57 +0000 (10:29 +0100)]
basesrc: Don't bother the subclass with setting the same caps multiple times

9 years agostructure: remove conditional for G_VALUE_COLLECT_INIT
Stefan Sauer [Fri, 7 Nov 2014 07:22:02 +0000 (08:22 +0100)]
structure: remove conditional for G_VALUE_COLLECT_INIT

This API is in glib since 2.24 and we currently require 2.32 and already use
this unconditionally elsewhere.

9 years agopreset: remove commented code
Stefan Sauer [Wed, 5 Nov 2014 18:09:39 +0000 (19:09 +0100)]
preset: remove commented code

The GQuark was never used.

9 years agogstconfig: Put gstconfig.h into $(libdir)/gstreamer-1.0/include
Sebastian Dröge [Fri, 7 Nov 2014 10:34:08 +0000 (11:34 +0100)]
gstconfig: Put gstconfig.h into $(libdir)/gstreamer-1.0/include

It's architecture dependent and should not be placed into the include
directory as the assumption is that all those headers are architecture
independent.

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

9 years agouri: Fix gobject-introspection warnings
Sebastian Dröge [Fri, 7 Nov 2014 09:56:42 +0000 (10:56 +0100)]
uri: Fix gobject-introspection warnings

gsturi.c:997: Error: Gst: Skipping invalid GTK-Doc comment block:
/** private GstUri functions **/
^
gsturi.c:1179: Error: Gst: Skipping invalid GTK-Doc comment block:
/** RFC 3986 functions **/
^

9 years agodataqueue: Fix gst_data_queue_new() description.
Jan Schmidt [Fri, 24 Oct 2014 10:25:54 +0000 (21:25 +1100)]
dataqueue: Fix gst_data_queue_new() description.

Reword the function docs, which haven't made any sense since
gst_data_queue_new_full() was removed a few years ago.

9 years agobasesink: Answer the query position when receiving it from upstream
Thibault Saunier [Mon, 3 Nov 2014 17:27:21 +0000 (18:27 +0100)]
basesink: Answer the query position when receiving it from upstream

Currently we are just returning FALSE, but we do have the information
we should just answer the query the same way as when answering through
the GstElement.query vmethod default implementation.

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

9 years agocapsfilter: Add an optional delayed caps change mode
Sebastian Dröge [Wed, 22 Oct 2014 12:07:09 +0000 (14:07 +0200)]
capsfilter: Add an optional delayed caps change mode

In this mode we accept previously set filter caps until
upstream renegotiates to something that is compatible
to the current filter caps.

This allows dynamic caps changes in the pipeline even
if there is a queue between any conversion element
and the capsfilter. Without this we would get not-negotiated
errors if timing is bad.

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

9 years agotoc: minor code clean-up
Tim-Philipp Müller [Sun, 2 Nov 2014 20:16:53 +0000 (20:16 +0000)]
toc: minor code clean-up

And get rid of g_list_prepend/g_list_reverse
anti-pattern while we're at it.

9 years agogst: ensure GStreamer initialization debug message is displayed
Luis de Bethencourt [Sun, 2 Nov 2014 18:51:08 +0000 (18:51 +0000)]
gst: ensure GStreamer initialization debug message is displayed

The GST_INFO ("initialized GStreamer succesfully") is currently at the end of
gst_init_check which isn't guaranteed to be run since GStreamer can be
initialized by using init_pre and init_post directly from GOptionContext like
gst-launch does. Ensure this message is displayed by moving it to init_post.

9 years agodoc: Do not use deprecated gtk-doc 'Rename to' tag
Luis de Bethencourt [Sat, 1 Nov 2014 19:56:41 +0000 (19:56 +0000)]
doc: Do not use deprecated gtk-doc 'Rename to' tag

GObject introspection GTK-Doc tag "Rename to" has been deprecated, changing to
rename-to annotation.

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

9 years agogst-inspect: add G_PARAM_DEPRECATED to known flags
Aurélien Zanelli [Sat, 1 Nov 2014 21:30:30 +0000 (22:30 +0100)]
gst-inspect: add G_PARAM_DEPRECATED to known flags

Display 'deprecated' instead of flag value when using G_PARAM_DEPRECATED
in element properties.

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

9 years agotests: refactor tools check a little
Tim-Philipp Müller [Fri, 31 Oct 2014 16:10:01 +0000 (16:10 +0000)]
tests: refactor tools check a little

Use an array of constant strings so if arguments get
removed from it they are not considered leaked, and
valgrind is happy. Still some stuff leaking in GLib
though.

9 years agotests: fix out-of-bounds memory access in bytereader unit test
Tim-Philipp Müller [Thu, 30 Oct 2014 23:14:59 +0000 (23:14 +0000)]
tests: fix out-of-bounds memory access in bytereader unit test

Caught by -fsanitize=address / libasan.

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

9 years agogst: make gst_init() thread-safe
Tim-Philipp Müller [Tue, 28 Oct 2014 19:16:52 +0000 (19:16 +0000)]
gst: make gst_init() thread-safe

Because we can, and there isn't really any
reason not to do so.

9 years agotests: fdsrc: don't ignore return value of write()
Tim-Philipp Müller [Tue, 28 Oct 2014 09:28:28 +0000 (09:28 +0000)]
tests: fdsrc: don't ignore return value of write()

Causes compiler warnings on some systems.

9 years agotests: fix fdsrc test corner case
Tim-Philipp Müller [Tue, 28 Oct 2014 00:04:05 +0000 (00:04 +0000)]
tests: fix fdsrc test corner case

Make pipe socket non-blocking, so we don't
end up being blocked in a write on the pipe
while the src is eos and not reading data
any more, and thus we never unblock and never
notice that we're done. This would happen
quite reliably on the rpi.

9 years agoAutomatic update of common submodule
Sebastian Dröge [Mon, 27 Oct 2014 16:56:15 +0000 (17:56 +0100)]
Automatic update of common submodule

From 84d06cd to 7bb2bce

9 years agodebugutils: Trivial typo fix
Arun Raghavan [Sat, 25 Oct 2014 11:45:42 +0000 (17:15 +0530)]
debugutils: Trivial typo fix

9 years agobasesink: don't unlock mutex that is not locked
Tim-Philipp Müller [Fri, 24 Oct 2014 11:51:07 +0000 (12:51 +0100)]
basesink: don't unlock mutex that is not locked

Fixes 'Attempt to unlock mutex that was not locked'
warning with newer GLibs when sink is shut down in
certain situations. Triggered by the decodebin
test_reuse_without_decoders unit test in -base
sometimes, esp. on slower machines.

9 years agowin32: update .def for new _get_type() function for GstControlPoint
Tim-Philipp Müller [Wed, 22 Oct 2014 17:25:26 +0000 (18:25 +0100)]
win32: update .def for new _get_type() function for GstControlPoint

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