platform/upstream/gstreamer.git
7 years agotracers: leaks: Use the new gst_debug_get_stack_trace
Thibault Saunier [Fri, 7 Oct 2016 10:02:44 +0000 (12:02 +0200)]
tracers: leaks: Use the new gst_debug_get_stack_trace

And remove the local implementation of it.

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

7 years agogst: Use libunwind/libdw to generate backtraces if avalaible
Thibault Saunier [Fri, 7 Oct 2016 09:38:27 +0000 (11:38 +0200)]
gst: Use libunwind/libdw to generate backtraces if avalaible

Making the gst_debug_print_trace function more generally useful.

API:
  + gst_debug_get_trace

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

7 years agotools: gst-launch: fix minor memory leak when failing to parse options
Antonio Ospite [Wed, 2 Nov 2016 12:57:51 +0000 (13:57 +0100)]
tools: gst-launch: fix minor memory leak when failing to parse options

Commit 215cfcf99338 (gstreamer: Fix memory leaks when context parse
fails) fixes some memory leak, but in one of the newly added calls to
g_clear_error() the wrong variable was passed.

When failing to parse command line options, free the "err" variable, not
the "error" one.

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

7 years agobasesink: Make sure we never drop the preroll buffer
Nicolas Dufresne [Thu, 3 Nov 2016 19:22:34 +0000 (15:22 -0400)]
basesink: Make sure we never drop the preroll buffer

This is cosmetic as 'late' should never be set during preroll (in pause).
Though code may evolve in the future, so this is good for preventing
potential bugs.

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

7 years agobasesink: Don't nest prepare/render calls
Nicolas Dufresne [Wed, 5 Oct 2016 18:26:11 +0000 (14:26 -0400)]
basesink: Don't nest prepare/render calls

When the first buffer arrives, we endup calling:

  ->prepare()
    ->prepare()
    ->preroll()
  ->render()

This will likely confuse any element using this method. With this patch,
we ensure the preroll take place before the first render prepare() is
called. This will result in:

  ->prepare()
  ->preroll()
  ->prepare()
  ->render()

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

7 years agobasesink: fix typo in documentation
Luis de Bethencourt [Wed, 2 Nov 2016 16:27:58 +0000 (16:27 +0000)]
basesink: fix typo in documentation

Small typo in the documentatin of gst_base_sink_set_drop_out_of_segment().
Fixing it.

7 years agobasesink: Fix gst_base_sink_set_drop_out_of_segment() documentation
Sebastian Dröge [Wed, 2 Nov 2016 14:35:59 +0000 (16:35 +0200)]
basesink: Fix gst_base_sink_set_drop_out_of_segment() documentation

Also silences a GI warning.

7 years agoclock_gettime.c: Use __APPLE__ instead of __MACH__
Nirbheek Chauhan [Wed, 2 Nov 2016 08:41:43 +0000 (14:11 +0530)]
clock_gettime.c: Use __APPLE__ instead of __MACH__

Hurd also defines __MACH__, but it does not have mach_absolute_time. Use
the more strict __APPLE__ instead.

Has also been sent upstream: https://github.com/libcheck/check/pull/65

7 years agobuild: Fix AM_CONDITIONAL check for clock_gettime
Nirbheek Chauhan [Wed, 2 Nov 2016 08:31:38 +0000 (14:01 +0530)]
build: Fix AM_CONDITIONAL check for clock_gettime

It was always evaluating to false, so clock_gettime.c was always being
included into libcheck. This breaks building on Hurd and causes us to
always override clock_gettime() even when it is available.

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

7 years agogst: Also include the gstdynamictypefactory.c source file in the build
Sebastian Dröge [Wed, 2 Nov 2016 08:12:58 +0000 (10:12 +0200)]
gst: Also include the gstdynamictypefactory.c source file in the build

7 years agogst: Install gstdynamictypefactory.h header file
Sebastian Dröge [Wed, 2 Nov 2016 08:04:01 +0000 (10:04 +0200)]
gst: Install gstdynamictypefactory.h header file

7 years agoRevert "baseparse: fix draining with less data than min frame size available"
Sebastian Dröge [Wed, 2 Nov 2016 07:35:05 +0000 (09:35 +0200)]
Revert "baseparse: fix draining with less data than min frame size available"

This reverts commit 2e278aeb7128e8732f5324ab8c8b22a47950c80a.

Some parsers, specifically audio parsers, assume to get all remaining
data on EOS and just pass them onwards. While the idea here is correct,
we will probably need a property for this on baseparse for parsers to
opt-in.

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

7 years agoparse-launch: Support linking all pads with new operator
Jan Schmidt [Thu, 25 Jun 2015 17:29:27 +0000 (03:29 +1000)]
parse-launch: Support linking all pads with new operator

Introduce a new operator ':' - e.g. element1 ':' element2

For example, 'uridecodebin : encodebin' -
if the encodebin has multiple profiles compatible with the
decodebin, multiple links will be created.

With '!' , after one delayed link is successfully done, the
pad-added callback is disconnected.

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

7 years agoAdd new basesink API to exports and Since markers
Jan Schmidt [Wed, 2 Nov 2016 00:32:42 +0000 (11:32 +1100)]
Add new basesink API to exports and Since markers

Add Since markers to the new basesink API to drop
out-of-segment buffers, and add them to the
win32 exports

7 years agodynamic types: Implement dynamic types in the registry
Jan Schmidt [Wed, 13 May 2015 14:25:21 +0000 (00:25 +1000)]
dynamic types: Implement dynamic types in the registry

Implement GstDynamicTypeFactory as a new registry feature.

GstDynamicTypeFactory provides a way of registering a GType
into the registry, such that it will be registered as a dynamic
type when the registry is loaded, and then automatically loaded
if the type is needed during caps parsing.

This allows using non-core types in pad templates, by loading a
registry feature to create the GType on the fly.

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

7 years agofakesink: Add property to not drop out-of-segment buffers
Jan Schmidt [Thu, 28 Apr 2016 16:38:49 +0000 (02:38 +1000)]
fakesink: Add property to not drop out-of-segment buffers

Implement handling in basesink to not unconditionally discard
out-of-segment buffers and expose it as a new property on fakesink
(not unconditionally in all basesink based sinks).

The property defaults to FALSE.

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

7 years agovalue: Update GstValue table size for GValueArray
Sebastian Dröge [Tue, 1 Nov 2016 21:54:05 +0000 (23:54 +0200)]
value: Update GstValue table size for GValueArray

7 years agofunnel: Always push all sticky events whenever we forward a serialized event
Sebastian Dröge [Thu, 7 Jul 2016 16:41:49 +0000 (19:41 +0300)]
funnel: Always push all sticky events whenever we forward a serialized event

Otherwise downstream will have an inconsistent set of sticky events at this
point, e.g. when a TAG event is pushed and downstream wants to relate it to
the stream by looking at the current STREAM_START event.

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

7 years agotee: Set GST_PAD_FLAG_PROXY_CAPS before forwarding sticky events
Sebastian Dröge [Tue, 29 Mar 2016 07:38:05 +0000 (10:38 +0300)]
tee: Set GST_PAD_FLAG_PROXY_CAPS before forwarding sticky events

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

7 years agobaseparse: fix draining with less data than min frame size available
Tim-Philipp Müller [Sat, 29 Oct 2016 10:17:38 +0000 (11:17 +0100)]
baseparse: fix draining with less data than min frame size available

baseparse would pass whatever is left in the adapter to the
subclass when draining, even if it's less than the minimum
frame size required. This is bogus, baseparse should just
discard that data then. The original intention of that code
seems to have been that if we have more data available than
the minimum required we should pass all of the data available
and not just the minimum required, which does make sense, so
we'll continue to do that in the case that more data is available.

Fixes assertions in rawvideoparse on EOS after not-negotiated with
fakesrc sizetype=random ! queue ! rawvideoparse format=rgb ! appsink caps=video/x-raw,format=I420

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

7 years agoinfo: Replace %p and %r in GST_DEBUG_FILE
Stian Selnes [Thu, 29 Oct 2015 21:51:18 +0000 (22:51 +0100)]
info: Replace %p and %r in GST_DEBUG_FILE

It's useful to be able to set a name pattern for GST_DEBUG_FILE so that
the same environment variable can be used for multiple processes and
still write to different files. Especially useful if these processes
run simultaneously.

%p: Replaced with PID
%r: Replaced with random number

%p is obviously useful. %r is useful when for instance running two
processes with same PID but in different containers.

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

7 years agoregistry: set env GST_REGISTRY_DISABLE=yes to disable registry
Stian Selnes [Thu, 2 May 2013 08:09:29 +0000 (10:09 +0200)]
registry: set env GST_REGISTRY_DISABLE=yes to disable registry

If GST_REGISTRY_DISABLE=yes the registry is disabled similar to
compile time switch GST_DISABLE_REGISTRY.

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

7 years agogstvalue: Make GValueArray serializable
Stian Selnes [Wed, 11 Nov 2015 15:43:40 +0000 (16:43 +0100)]
gstvalue: Make GValueArray serializable

For instance very useful for logging GValueArray with GST_PTR_FORMAT

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

7 years agoelement: Allow multiple conversion specifiers for request pads
Wonchul Lee [Fri, 29 Apr 2016 07:26:49 +0000 (16:26 +0900)]
element: Allow multiple conversion specifiers for request pads

This allows pad template names like "src_%u_%u", but it does not allow
multiple specifiers of string type %s as that would lead to ambiguities.

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

7 years agopad: add no-reconfigure link check
Thiago Santos [Thu, 5 Nov 2015 20:13:25 +0000 (17:13 -0300)]
pad: add no-reconfigure link check

Enable it to prevent sending reconfigure when linking elements.

Useful for autoplugging when we know caps or bufferpools shouldn't change
to save doing caps renegotiation to end up with the same final scenario.

The no-reconfigure is not a proper check, it is a flag. It is implemented
as a GstPadLinkCheck to avoid creating another gst_pad_link variant.

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

7 years agomeson: update version
Tim-Philipp Müller [Tue, 1 Nov 2016 18:08:18 +0000 (18:08 +0000)]
meson: update version

7 years agodocs: remove app dev manual and plugin writer's guide
Tim-Philipp Müller [Tue, 1 Nov 2016 17:35:18 +0000 (17:35 +0000)]
docs: remove app dev manual and plugin writer's guide

They have moved to gst-docs and will be maintained there in future.

7 years agoBack to development
Sebastian Dröge [Tue, 1 Nov 2016 16:53:15 +0000 (18:53 +0200)]
Back to development

7 years agoRelease 1.10.0
Sebastian Dröge [Tue, 1 Nov 2016 15:50:24 +0000 (17:50 +0200)]
Release 1.10.0

7 years agoUpdate .po files
Sebastian Dröge [Tue, 1 Nov 2016 15:40:11 +0000 (17:40 +0200)]
Update .po files

7 years agopo: Update translations
Sebastian Dröge [Tue, 1 Nov 2016 15:38:43 +0000 (17:38 +0200)]
po: Update translations

7 years agoUpdate .po files
Sebastian Dröge [Tue, 1 Nov 2016 15:36:02 +0000 (17:36 +0200)]
Update .po files

7 years agomeson: Add an option to explicitly disable gtk-doc
Nirbheek Chauhan [Tue, 25 Oct 2016 06:51:07 +0000 (12:21 +0530)]
meson: Add an option to explicitly disable gtk-doc

Similar to how Autotools provides an option, default is 'enabled'.

7 years agoRevert "collectpads: Assume PTS is equal DTS if PTS is missing"
Nicolas Dufresne [Mon, 24 Oct 2016 15:45:38 +0000 (11:45 -0400)]
Revert "collectpads: Assume PTS is equal DTS if PTS is missing"

This reverts commit 9b0d42ceecb3198399d7e05e3d5f080a7ca27ca9.

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

7 years agoallocator: Mark registered allocator for leak
Nicolas Dufresne [Tue, 18 Oct 2016 15:59:25 +0000 (11:59 -0400)]
allocator: Mark registered allocator for leak

7 years agogstmessage.h: Avoid gcc bit shift overflow compiler warning
Andrew Eikum [Tue, 21 Jun 2016 13:00:30 +0000 (08:00 -0500)]
gstmessage.h: Avoid gcc bit shift overflow compiler warning

Avoids bit shift overflow warning with gcc6.

https://bugzilla.gnome.org/show_bug.cgi?id=767882 (glib)
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71803 (gcc)
https://bugzilla.gnome.org/show_bug.cgi?id=767883

7 years agoparse: fix erroneous use of _("")
Tim-Philipp Müller [Sun, 23 Oct 2016 21:11:08 +0000 (22:11 +0100)]
parse: fix erroneous use of _("")

Fixes xgettext warnings when doing 'make update-po':
gst/parse/grammar.y:217: warning: Empty msgid.  It is reserved by GNU gettext:
                                  gettext("") returns the header entry with
                                  meta information, not the empty string.

7 years agodocs: add index for API new in 1.10
Tim-Philipp Müller [Sat, 22 Oct 2016 16:05:44 +0000 (17:05 +0100)]
docs: add index for API new in 1.10

7 years agodocs: add index for API new in 1.8
Tim-Philipp Müller [Sat, 22 Oct 2016 16:05:25 +0000 (17:05 +0100)]
docs: add index for API new in 1.8

7 years agoadapter: Fix mix-up between DTS and PTS
Jesper Larsen [Fri, 21 Oct 2016 13:40:47 +0000 (15:40 +0200)]
adapter: Fix mix-up between DTS and PTS

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

7 years agoRevert "queue: Fix race when calculating cur_level.time"
Sebastian Dröge [Fri, 21 Oct 2016 12:22:28 +0000 (15:22 +0300)]
Revert "queue: Fix race when calculating cur_level.time"

This reverts commit d03bd547809f849405a3f706920091d9b03147b0.

It breaks the unit test, although it ensures that only correct values
are used for calculations. Needs to be fixed up.

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

7 years agoRevert "meson: Use the new `pic` argument on static libs"
Thibault Saunier [Thu, 20 Oct 2016 20:19:25 +0000 (17:19 -0300)]
Revert "meson: Use the new `pic` argument on static libs"

This reverts commit a5752240a178c2c651ed10167025fad8b9c4e7bd.

pic was added after 0.35 and will be present in 0.36 (meson
documentation was wrong).

7 years agomeson: Use the new `pic` argument on static libs
Thibault Saunier [Thu, 20 Oct 2016 18:38:46 +0000 (15:38 -0300)]
meson: Use the new `pic` argument on static libs

We depend on meson 0.35 which makes it simpler to handle

Removes a meson warning

7 years agoqueue: Fix race when calculating cur_level.time
Stian Selnes [Wed, 14 Sep 2016 12:23:56 +0000 (14:23 +0200)]
queue: Fix race when calculating cur_level.time

On the first buffer, it's possible that sink_segment is set but
src_segment has not been set yet. If this is the case, we should not
calculate cur_level.time since sink_segment.position may be large and
src_segment.position default is 0, with the resulting diff being larger
than max-size-time, causing the queue to start leaking (if
leaky=downstream).

One potential consequence of this is that the segment event may be
stored on the srcpad before the caps event is pushed downstream, causing
a g_warning ("Sticky event misordering, got 'segment' before 'caps'").

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

7 years agoelement: use g_strcmp0 in set_context
Matthew Waters [Mon, 26 Sep 2016 14:00:30 +0000 (00:00 +1000)]
element: use g_strcmp0 in set_context

It's NULL-safe while the libc implementation may not be.

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

7 years agoelement: check for invalid gstcontext's being provided to set_context
Matthew Waters [Mon, 26 Sep 2016 13:59:29 +0000 (23:59 +1000)]
element: check for invalid gstcontext's being provided to set_context

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

7 years agobuild: Apply XCode 8 workaround for iOS too
Nirbheek Chauhan [Tue, 18 Oct 2016 04:08:04 +0000 (09:38 +0530)]
build: Apply XCode 8 workaround for iOS too

clock_gettime was also added for iOS 10.0, so don't use it if we're
targetting an older version. That would've caused the symbol to not be
found at runtime on older devices.

7 years agomeson: Don't use c_std=c99
Nirbheek Chauhan [Sat, 15 Oct 2016 16:19:21 +0000 (21:49 +0530)]
meson: Don't use c_std=c99

Just use the default c_std used by the compiler. With GCC on Linux this
is gnu89.

Tons of errors related to time.h, signal.h, etc when using c99:

FAILED: libs/gst/check/libcheck/check@sta/check_run.c.o
cc  '-Ilibs/gst/check/libcheck/check@sta' '-fdiagnostics-color=always' '-I../libs/gst/check/libcheck' '-Ilibs/gst/check/libcheck' '-I.' '-I../.' '-Ilibs/gst/check/libcheck/..' '-I../libs/gst/check/libcheck/..' '-pipe' '-Wall' '-Winvalid-pch' '-std=c99' '-DHAVE_CONFIG_H' '-fPIC' '-O2' '-g' '-fPIC' '-MMD' '-MQ' 'libs/gst/check/libcheck/check@sta/check_run.c.o' '-MF' 'libs/gst/check/libcheck/check@sta/check_run.c.o.d' -o 'libs/gst/check/libcheck/check@sta/check_run.c.o' -c ../libs/gst/check/libcheck/check_run.c
In file included from ../libs/gst/check/libcheck/check_run.c:21:0:
../libs/gst/check/libcheck/libcompat.h:167:18: warning: ‘struct itimerspec’ declared inside parameter list will not be visible outside of this definition or declaration
     const struct itimerspec *new_value, struct itimerspec *old_value);
                  ^~~~~~~~~~
../libs/gst/check/libcheck/check_run.c:98:25: error: array type has incomplete element type ‘struct sigaction’
 static struct sigaction old_action[3];
                         ^~~~~~~~~~
../libs/gst/check/libcheck/check_run.c:99:25: error: array type has incomplete element type ‘struct sigaction’
 static struct sigaction new_action[3];
                         ^~~~~~~~~~

[...]

ninja: build stopped: subcommand failed.

The change was originally made because gnu99 was causing issues on OS X.

7 years agostats: Fix warning
Thibault Saunier [Fri, 14 Oct 2016 09:59:24 +0000 (11:59 +0200)]
stats: Fix warning

7 years agomeson: Make use of new environment object and set plugin path to builddir
Thibault Saunier [Tue, 4 Oct 2016 12:20:37 +0000 (09:20 -0300)]
meson: Make use of new environment object and set plugin path to builddir

- Properly set where to find gst-plugin-scanner
- Use GST_LOADING_WHITELIST so that only core plugins are used

Bump meson requirement to 0.35

7 years agocontrolbinding: Store object in a thread-safe GWeakRef
Sebastian Dröge [Thu, 13 Oct 2016 16:20:58 +0000 (18:20 +0200)]
controlbinding: Store object in a thread-safe GWeakRef

g_object_weak_ref() is not thread-safe.

7 years agoargbcontrolbinding: gst_object_replace() is transfer none
Sebastian Dröge [Thu, 13 Oct 2016 16:02:38 +0000 (18:02 +0200)]
argbcontrolbinding: gst_object_replace() is transfer none

7 years agodirectcontrolbinding: Clarify in the documentation what the difference between absolu...
Sebastian Dröge [Thu, 13 Oct 2016 16:01:14 +0000 (18:01 +0200)]
directcontrolbinding: Clarify in the documentation what the difference between absolute and not is

7 years agocontrolsource: Remove misleading sentence from the documentation
Sebastian Dröge [Thu, 13 Oct 2016 15:55:45 +0000 (17:55 +0200)]
controlsource: Remove misleading sentence from the documentation

control sources are not required to return values between 0.0 and 1.0.
This is completely up to the control binding that is used.

7 years agoobject: Fix broken sentence structure in docs
Sebastian Dröge [Thu, 13 Oct 2016 15:21:30 +0000 (17:21 +0200)]
object: Fix broken sentence structure in docs

7 years agotracers: fix structure leak
Vincent Penquerc'h [Thu, 13 Oct 2016 11:18:12 +0000 (12:18 +0100)]
tracers: fix structure leak

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

7 years agostreams: Extend GstStreamType documentation
Edward Hervey [Thu, 13 Oct 2016 10:03:20 +0000 (12:03 +0200)]
streams: Extend GstStreamType documentation

Users shouldn't assume it will be a single value since it's a flag.

7 years agobuild: Fix clock_gettime check with XCode 8
Nirbheek Chauhan [Mon, 3 Oct 2016 14:52:53 +0000 (20:22 +0530)]
build: Fix clock_gettime check with XCode 8

With XCode 8, clock_gettime will be incorrectly detected as being
available regardless of what OS X version we're targetting because the
symbol is available in the .tbd library as a weak symbol.
See: https://github.com/Homebrew/homebrew-core/issues/3727#issue-170086273

It's only starting from macOS 10.12 that clock_gettime is actually
available, so we can unconditionally disable it when targetting older
versions. We cannot simply do AC_CHECK_FUNCS with -Wl,-no_weak_imports
because the autoconf check does its own prototype declaration that
doesn't trigger that compiler flag.

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

7 years agobin: Add a new GST_BIN_FLAG_STREAMS_AWARE flag
Edward Hervey [Tue, 11 Oct 2016 10:12:57 +0000 (12:12 +0200)]
bin: Add a new GST_BIN_FLAG_STREAMS_AWARE flag

This flag is to indicate to child elements that they can add and
remove pads at any point in time without re-adding existing ones.

Elements should post before-hand a GST_MESSAGE_STREAM_COLLECTION

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

7 years agodocs: paths in env vars are separated by semicolons on windows
Tim-Philipp Müller [Mon, 10 Oct 2016 09:59:26 +0000 (10:59 +0100)]
docs: paths in env vars are separated by semicolons on windows

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

7 years agodocs: fix GST_LEAKS_TRACER_SIG doc
Guillaume Desmottes [Fri, 7 Oct 2016 15:02:47 +0000 (17:02 +0200)]
docs: fix GST_LEAKS_TRACER_SIG doc

The documentation wasn't mentioning the SIGUSR2 signal.

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

7 years agobin: Fix iterator resync'ing
Edward Hervey [Sat, 8 Oct 2016 15:23:08 +0000 (17:23 +0200)]
bin: Fix iterator resync'ing

When we get GST_ITERATOR_RESYNC, we need to call gst_iterator_resync()
otherwise we will always get GST_ITERATOR_RESYNC (and that loop would
run forever).

7 years agoqueue2: Implement gst_event_full_func handling
Edward Hervey [Sat, 8 Oct 2016 11:54:42 +0000 (13:54 +0200)]
queue2: Implement gst_event_full_func handling

Same as we do for queue

7 years agotracer/rusage: fix format string args
Stefan Sauer [Sat, 8 Oct 2016 11:20:58 +0000 (13:20 +0200)]
tracer/rusage: fix format string args

The format string contains a process id, but we did not provice one. This
caused us to log garbage since all args got shifted.

7 years agomessage: Fix typo in gst_message_new_progress() docs
Sebastian Dröge [Sat, 1 Oct 2016 13:47:05 +0000 (16:47 +0300)]
message: Fix typo in gst_message_new_progress() docs

test -> text

7 years agomeson: Setup pre-commit hooks when configuring
Thibault Saunier [Fri, 30 Sep 2016 12:57:57 +0000 (09:57 -0300)]
meson: Setup pre-commit hooks when configuring

7 years agomeson: update version
Tim-Philipp Müller [Fri, 30 Sep 2016 10:38:37 +0000 (11:38 +0100)]
meson: update version

7 years agoRelease 1.9.90
Sebastian Dröge [Fri, 30 Sep 2016 10:01:17 +0000 (13:01 +0300)]
Release 1.9.90

7 years agoUpdate .po files
Sebastian Dröge [Fri, 30 Sep 2016 09:08:52 +0000 (12:08 +0300)]
Update .po files

7 years agopo: Update translations
Sebastian Dröge [Fri, 30 Sep 2016 08:41:14 +0000 (11:41 +0300)]
po: Update translations

7 years agomeson: tracers: signal availability of libunwind and backtrace() to code
Tim-Philipp Müller [Tue, 27 Sep 2016 17:00:47 +0000 (18:00 +0100)]
meson: tracers: signal availability of libunwind and backtrace() to code

Not setting cdata here on purpose because of .. complications.

7 years agomeson: Build tracers
Thibault Saunier [Mon, 26 Sep 2016 21:21:19 +0000 (18:21 -0300)]
meson: Build tracers

7 years agomeson: Fix gtkdoc using new meson features
Thibault Saunier [Fri, 23 Sep 2016 23:40:39 +0000 (20:40 -0300)]
meson: Fix gtkdoc using new meson features

7 years agotests: remove unused valgrind stuff
Tim-Philipp Müller [Mon, 26 Sep 2016 11:14:14 +0000 (12:14 +0100)]
tests: remove unused valgrind stuff

Code was also checking the wrong define anyway.

7 years agotests: parse-launch: looks clean nowadays, so re-enable for valgrind
Tim-Philipp Müller [Mon, 26 Sep 2016 11:12:12 +0000 (12:12 +0100)]
tests: parse-launch: looks clean nowadays, so re-enable for valgrind

Also, the valgrind bits weren't hooked up properly anyway,
checking the wrong define.

7 years agomeson: remove incorrect and unneeded check for ptrdiff_t
Tim-Philipp Müller [Sat, 24 Sep 2016 17:22:26 +0000 (18:22 +0100)]
meson: remove incorrect and unneeded check for ptrdiff_t

Need to include stddef.h for it, so this would've worked:
if cc.has_type('ptrdiff_t', prefix: '#include <stddef.h>')

7 years agomeson: fix internal printf for %ll format modifier on 32-bit systems
Tim-Philipp Müller [Sat, 24 Sep 2016 17:06:31 +0000 (18:06 +0100)]
meson: fix internal printf for %ll format modifier on 32-bit systems

gst/gstprintf unit test would fail on 32-bit x86 with:
gstprintf.c:83:printf_I32_I64:0: 'str' (64-bit x value = b5a6978f) is not equal to '"64-bit x value = f1e2d3c4b5a6978f"'

7 years agoRevert "meson: Force gstenum_h to be built when using gst_dep"
Nirbheek Chauhan [Thu, 22 Sep 2016 22:49:47 +0000 (04:19 +0530)]
Revert "meson: Force gstenum_h to be built when using gst_dep"

This reverts commit cfc565e2d88a8e7d656b68c5c2a1b7acb08cdb7f.

The commit was redundant since gst_gen_sources already contains
gstenum_h. We're still investigating why some people are still seeing
a racy build failure.

7 years agomeson: Force gstenum_h to be built when using gst_dep
Nirbheek Chauhan [Thu, 22 Sep 2016 18:58:53 +0000 (00:28 +0530)]
meson: Force gstenum_h to be built when using gst_dep

This forces gstenumtypes.h to be built whenever something uses gst_dep
as a subproject dependency. This is needed since gst/gst.h includes
gstenumtypes.h

Closes https://github.com/mesonbuild/meson/issues/714 which is not
actually a Meson bug.

7 years agobin: Add forgotten "git commit --amend" for last commit
Sebastian Dröge [Mon, 19 Sep 2016 14:07:51 +0000 (10:07 -0400)]
bin: Add forgotten "git commit --amend" for last commit

Need to cast away the const as g_queue_foreach() takes a non-const GQueue*

7 years agobin: When copying the sort iterator, also copy its internal queue
Kouhei Sutou [Mon, 19 Sep 2016 14:04:55 +0000 (10:04 -0400)]
bin: When copying the sort iterator, also copy its internal queue

Otherwise both iterators share the same references, the second one
usually resulting in a crash when being freed.

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

7 years agoqueue2: Fix watermark test
Carlos Rafael Giani [Sun, 11 Sep 2016 13:28:43 +0000 (15:28 +0200)]
queue2: Fix watermark test

This carries over code for a similar test from multiqueue to ensure full
control over the dataflow while testing. (The previous attempt was racy
since the fill level changed without any thread sync with the test code.)

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

7 years agoqueue2: Update buffering if its enabled and low/high watermarks are changed
Carlos Rafael Giani [Sun, 11 Sep 2016 13:26:26 +0000 (15:26 +0200)]
queue2: Update buffering if its enabled and low/high watermarks are changed

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

7 years agomessage: Fix documentation for gst_message_new_duration()
Arun Raghavan [Thu, 15 Sep 2016 12:08:49 +0000 (17:38 +0530)]
message: Fix documentation for gst_message_new_duration()

Seems like there was some documentation left over from when this was
gst_message_new_duration().

7 years agobasesink: Remove unused fields and always use the buffer timestamp difference for...
Sebastian Dröge [Mon, 12 Sep 2016 15:41:16 +0000 (17:41 +0200)]
basesink: Remove unused fields and always use the buffer timestamp difference for calculating the QoS proportion

The buffer timestamps are only hints and more often than not have
nothing to do with reality.

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

7 years agogstconfig: Use __declspec when built with MinGW and linking with MSVC
Nirbheek Chauhan [Thu, 8 Sep 2016 07:28:54 +0000 (12:58 +0530)]
gstconfig: Use __declspec when built with MinGW and linking with MSVC

Earlier we were only using __declspec(dllexport/import) when we were
built with MSVC because when built with MinGW and linking with MinGW we
don't need it (and we get linker errors because of it).

However, when we're built with MinGW and someone wants to link to us
with MSVC, we still need the prototypes to have __declspec(dllimport)
since MSVC cannot do auto-import like GCC can.

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

7 years agobin: Also don't *unset* element flags if they're in the suppressed flags
Sebastian Dröge [Mon, 12 Sep 2016 15:07:09 +0000 (17:07 +0200)]
bin: Also don't *unset* element flags if they're in the suppressed flags

Otherwise our bin might lose various flags that were explicitly set on
it at arbitrary times.

7 years agotests: gstbin: add tests for suppressed flags
Thiago Santos [Sat, 10 Sep 2016 14:59:11 +0000 (11:59 -0300)]
tests: gstbin: add tests for suppressed flags

Some simple tests to make sure it keeps working

7 years agobin: Add setter and getter to suppress element flags
Wonchul Lee [Fri, 2 Sep 2016 08:39:17 +0000 (17:39 +0900)]
bin: Add setter and getter to suppress element flags

Suppress-flags is for preventing propagation of child element's specific
flag when it is added to the bin.

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

7 years agoAutomatic update of common submodule
Jan Schmidt [Sat, 10 Sep 2016 10:50:48 +0000 (20:50 +1000)]
Automatic update of common submodule

From b18d820 to f980fd9

7 years agogst: Ensure gst_value is initialised before gst_tag
Graham Leggett [Fri, 13 Nov 2015 16:00:02 +0000 (16:00 +0000)]
gst: Ensure gst_value is initialised before gst_tag

Otherwise GST_TYPE_FRACTION will work correctly in tags.

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

7 years agoelement: Reset the stop position to NONE in seek_simple()
Sebastian Dröge [Fri, 9 Sep 2016 08:46:11 +0000 (11:46 +0300)]
element: Reset the stop position to NONE in seek_simple()

When using seek_simple() in combination with other kinds of seeks, this
becomes problematic. seek_simple() does not reset the stop position to
GST_CLOCK_TIME_NONE but keeps whatever a previous seek did. So for example
when doing a seek_simple() after a rate=-1 seek, we would usually get
assertions that start>stop (and stop being the old stop from the rate=1 seek).

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

7 years agoAutomatic update of common submodule
Jan Schmidt [Fri, 9 Sep 2016 23:53:42 +0000 (09:53 +1000)]
Automatic update of common submodule

From f49c55e to b18d820

7 years agomeson:tests: Bump timeout to 3 minutes
Thibault Saunier [Fri, 9 Sep 2016 12:36:40 +0000 (09:36 -0300)]
meson:tests: Bump timeout to 3 minutes

Basically we already have each test with a 20sec timeout,
and testsuite can last more than the default 30secs from
meson. 3 minutes is another arbitrary timeout but should
be good enough.

7 years agobasesink: Use the average durations based on timestamps for the QoS proportion when...
Sebastian Dröge [Thu, 8 Sep 2016 12:19:38 +0000 (15:19 +0300)]
basesink: Use the average durations based on timestamps for the QoS proportion when doing trickmodes

The durations of the buffers are (usually) assuming that no frames are being
dropped and are just the durations coming from the stream. However if we do
trickmodes, frames are being dropped regularly especially if only key units
are supposed to be played.

Fixes completely bogus QoS proportion values in the above case.

7 years agomeson: Fix building with meson 0.34
Thibault Saunier [Mon, 5 Sep 2016 21:07:49 +0000 (18:07 -0300)]
meson: Fix building with meson 0.34

7 years agomeson: Allow others to build GIR files when using GStreamer as subproject
Thibault Saunier [Fri, 26 Aug 2016 23:06:59 +0000 (20:06 -0300)]
meson: Allow others to build GIR files when using GStreamer as subproject

And add a way to disable the introspection and bump version to 1.9.2

7 years agogstconfig.h.in: Add another version of the SH4 #define and S390x
Sebastian Dröge [Mon, 5 Sep 2016 08:11:29 +0000 (11:11 +0300)]
gstconfig.h.in: Add another version of the SH4 #define and S390x

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

7 years agoconfig: newer gcc doesn't know __ppc__ and __ppc64__ anymore
Wim Taymans [Mon, 5 Sep 2016 07:50:17 +0000 (09:50 +0200)]
config: newer gcc doesn't know __ppc__ and __ppc64__ anymore

__ppc__ and __ppc64__ are non-standard defines, we should use
__powerpc__ and __powerpc64__ instead because newer gcc doesn't know
them anymore.

7 years agotools: gst-inspect: add * for pointer signal arguments where needed
Tim-Philipp Müller [Sun, 4 Sep 2016 19:39:31 +0000 (20:39 +0100)]
tools: gst-inspect: add * for pointer signal arguments where needed

Print GObject argument properly with pointer marker:

  "client-added" :  void user_function (GstElement* object,
                                        GObject* arg0,
                                        gpointer user_data);

instead of

  "client-added" :  void user_function (GstElement* object,
                                        GObject arg0,
                                        gpointer user_data);

for gst-inspect-1.0 tcpserversink.