platform/upstream/gstreamer.git
7 years agolatency: the latency is not an aggregated value
Stefan Sauer [Tue, 20 Dec 2016 20:07:14 +0000 (21:07 +0100)]
latency: the latency is not an aggregated value

The logged latencies are individual meassurements.

7 years agoleaks: Allow user to set the flags to use to retrieve stack traces
Thibault Saunier [Fri, 2 Dec 2016 11:29:11 +0000 (08:29 -0300)]
leaks: Allow user to set the flags to use to retrieve stack traces

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

7 years agoleaks: Allow tracing Gst(Mini)Object reffing operations
Thibault Saunier [Thu, 1 Dec 2016 20:35:45 +0000 (17:35 -0300)]
leaks: Allow tracing Gst(Mini)Object reffing operations

It makes it much simpler to later debug refcount issues.

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

7 years agoleaks: Allow passing a GstStructure to configure the tracer
Thibault Saunier [Wed, 30 Nov 2016 20:05:56 +0000 (17:05 -0300)]
leaks: Allow passing a GstStructure to configure the tracer

But keep understanding the simple synthax with a comma separated
list of filters

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

7 years agotypefind: Switch to normal mode before have-type
Jan Schmidt [Tue, 20 Dec 2016 13:40:10 +0000 (00:40 +1100)]
typefind: Switch to normal mode before have-type

Before emitting have-type, switch to NORMAL
mode, as part of the have-type processing sends
the caps event downstream, which might trigger
actions like downstream autoplugging or
flushing seeks - and the latter are only
passed upstream if we've set typefind to NORMAL
mode.

7 years agomultiqueue: Protect against spurious wakeups of the condition variable
Sebastian Dröge [Tue, 13 Dec 2016 19:12:23 +0000 (21:12 +0200)]
multiqueue: Protect against spurious wakeups of the condition variable

7 years agobasesink: fix a use after free case
Fabrice Bellet [Wed, 30 Nov 2016 20:17:55 +0000 (21:17 +0100)]
basesink: fix a use after free case

The event may be disposed while being pushed, so we make sure the
debug infrastructure won't use it after the gst_pad_push().

7 years agocheck: fix typo in docs
Tim-Philipp Müller [Fri, 16 Dec 2016 18:30:20 +0000 (18:30 +0000)]
check: fix typo in docs

7 years agomeson: Don't search for python3 twice
Nirbheek Chauhan [Fri, 16 Dec 2016 18:15:08 +0000 (23:45 +0530)]
meson: Don't search for python3 twice

7 years agocheck: export new global variable
Tim-Philipp Müller [Fri, 16 Dec 2016 18:14:29 +0000 (18:14 +0000)]
check: export new global variable

7 years agocheck: Avoid possible double free
Thibault Saunier [Fri, 16 Dec 2016 16:59:51 +0000 (13:59 -0300)]
check: Avoid possible double free

7 years agocheck: Allow listing unit tests names
Thibault Saunier [Fri, 2 Dec 2016 14:59:43 +0000 (11:59 -0300)]
check: Allow listing unit tests names

Adding options while running gst_check_init

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

7 years agotracers/stats: log optional fields instead of GST_CLOCK_TIME_NONE
Stefan Sauer [Thu, 15 Dec 2016 14:37:45 +0000 (15:37 +0100)]
tracers/stats: log optional fields instead of GST_CLOCK_TIME_NONE

Simplify the traces and avoid trace analyzer to know that ((1<<64) - 1) means
we had no value.

7 years agoautogen.sh: drop a leftover docbook related bit
Josep Torra [Fri, 16 Dec 2016 14:05:46 +0000 (15:05 +0100)]
autogen.sh: drop a leftover docbook related bit

7 years agovalue: add structure intersect/union/is_subset/fixate implementations
Matthew Waters [Thu, 8 Dec 2016 10:01:52 +0000 (21:01 +1100)]
value: add structure intersect/union/is_subset/fixate implementations

Allows proper usage of structures in structures in caps.  Subtraction
is not implemented due to complications with empty fields representing
all possible values.

The only implementation that doesn't delegate to the already existing
GstStructure functions is the union function.

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

7 years agotests/structure: add some more is_subset checks
Matthew Waters [Thu, 8 Dec 2016 04:41:40 +0000 (15:41 +1100)]
tests/structure: add some more is_subset checks

Explicitly testing extra/missing fields and name differences

7 years agotests: meta: add test for gst_buffer_iterate_meta*()
Tim-Philipp Müller [Wed, 14 Dec 2016 18:19:00 +0000 (18:19 +0000)]
tests: meta: add test for gst_buffer_iterate_meta*()

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

7 years agobuffer: add gst_buffer_iterate_meta_filtered()
Tim-Philipp Müller [Sat, 3 Dec 2016 13:05:03 +0000 (13:05 +0000)]
buffer: add gst_buffer_iterate_meta_filtered()

For convenience. Pretty much every user of
gst_buffer_iterate_meta() filters for a specific
api type.

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

7 years agobuffer: mark gst_buffer_iterate_meta() as 'skip' for bindings
Tim-Philipp Müller [Wed, 14 Dec 2016 15:22:30 +0000 (15:22 +0000)]
buffer: mark gst_buffer_iterate_meta() as 'skip' for bindings

The pointer state arg won't work well, bindings can use
the foreach function instead.

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

7 years agog-i: Fix annotations for gst_event_new_select_streams() and gst_event_parse_select_st...
Iñaki García Etxebarria [Wed, 14 Dec 2016 05:56:55 +0000 (06:56 +0100)]
g-i: Fix annotations for gst_event_new_select_streams() and gst_event_parse_select_streams()

A gchar is not a string.

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

7 years agogstpad: only warn on performance penalty if not using the template caps
Reynaldo H. Verdejo Pinochet [Wed, 14 Dec 2016 07:25:39 +0000 (23:25 -0800)]
gstpad: only warn on performance penalty if not using the template caps

After b76ecfd992b0d3a423cc9ace5539ecd2ba509d41 introduced
GST_PAD_FLAG_ACCEPT_TEMPLATE, the performance penalty this
message is refering to (the cascading ACCEPT_CAPS query)
only applies to the cases where !GST_PAD_IS_ACCEPT_TEMPLATE

7 years agoqueue/queue2: Protect against spurious condition variable wakeups
Sebastian Dröge [Tue, 13 Dec 2016 18:51:17 +0000 (20:51 +0200)]
queue/queue2: Protect against spurious condition variable wakeups

Make sure that we only wake up when we have to flush, or when this
specific query was handled.

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

7 years agoqueue/queue2: Ensure that the streaming thread is unlocked after deactivating the...
Sebastian Dröge [Tue, 13 Dec 2016 18:00:55 +0000 (20:00 +0200)]
queue/queue2: Ensure that the streaming thread is unlocked after deactivating the srcpad

It might happen that the srcpad task function is never called at all, in
which case unlocking everything from there will never happen.

Make sure to unlock everything another time after the task function is
definitely stopped.

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

7 years agogstvalue: add serialisation for GTypes
Stefan Sauer [Mon, 12 Dec 2016 21:14:24 +0000 (22:14 +0100)]
gstvalue: add serialisation for GTypes

We need this in the GstTracerRecord. This will serialize GTypes to the typename
and vice versa.

7 years agogst: Fix building with msvc
Thibault Saunier [Tue, 13 Dec 2016 12:20:09 +0000 (13:20 +0100)]
gst: Fix building with msvc

7 years agogst: init new flags type in gst_init()
Tim-Philipp Müller [Mon, 12 Dec 2016 20:55:31 +0000 (20:55 +0000)]
gst: init new flags type in gst_init()

Fix 'make check' some more.

7 years agowin32: update .def file for new API
Tim-Philipp Müller [Mon, 12 Dec 2016 19:25:17 +0000 (19:25 +0000)]
win32: update .def file for new API

7 years agoinfo: Add a 'flags' parametter to gst_debug_get_stack_trace
Thibault Saunier [Wed, 30 Nov 2016 18:10:48 +0000 (15:10 -0300)]
info: Add a 'flags' parametter to gst_debug_get_stack_trace

This is an API break but that API has not been released yet.

We are passing a flag rather than a simple boolean as we can imagine
to implement more features in the future for example to retrieve a
stack trace for all the threads, etc..

Retrieving source file and line numbers is pretty
expensive while getting a stack trace, this new argument
allows the user to decide to retrieve a backtrace
without those infos instead which is much faster.

For example running $ GST_LEAKS_TRACER_STACK_TRACE=1 GST_DEBUG=GST_TRACER:7 \
GST_TRACERS=leaks time gst-launch-1.0 videotestsrc num-buffers=1 ! fakesink:

* With simple stack traces:

    0.04s user 0.02s system 99% cpu 0.060 total

* With full stack traces:

    0.66s user 0.23s system 96% cpu 0.926 total

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

7 years agofilesrc: Set GError in another error case
Edward Hervey [Mon, 12 Dec 2016 15:19:13 +0000 (16:19 +0100)]
filesrc: Set GError in another error case

When changing the location while open, properly set the GError regarding
the failure.

7 years agomultiqueue: Fix overflow on get_buffering_level()
Seungha Yang [Sat, 10 Dec 2016 09:38:32 +0000 (18:38 +0900)]
multiqueue: Fix overflow on get_buffering_level()

guint64 denominator factor for gst_util_uint64_scale_int() can cause overflow

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

7 years agomeson: Fix build
Thibault Saunier [Fri, 9 Dec 2016 22:28:22 +0000 (19:28 -0300)]
meson: Fix build

7 years agomeson: Support building with Gst debug disabled
Thibault Saunier [Fri, 9 Dec 2016 20:55:39 +0000 (17:55 -0300)]
meson: Support building with Gst debug disabled

7 years agocheck: Fix macro check for OS X
Nirbheek Chauhan [Fri, 9 Dec 2016 17:09:36 +0000 (22:39 +0530)]
check: Fix macro check for OS X

TARGET_OS_MAC is defined on all Apple platforms. You need to check for
!TARGET_OS_IPHONE to detect OS X (now called macOS).

7 years agotypefind: Use gst_query_has_scheduling_mode_with_flags() convenience function
Sebastian Dröge [Fri, 9 Dec 2016 16:02:15 +0000 (18:02 +0200)]
typefind: Use gst_query_has_scheduling_mode_with_flags() convenience function

7 years agocheck: Don't try to include CoreServices.h on iOS
Nirbheek Chauhan [Fri, 9 Dec 2016 12:31:35 +0000 (18:01 +0530)]
check: Don't try to include CoreServices.h on iOS

On iOS, we have MobileCoreServices.h but it's not really needed.

7 years agocheck: Don't check for malloc/realloc and try to fallback
Nirbheek Chauhan [Fri, 9 Dec 2016 12:29:53 +0000 (17:59 +0530)]
check: Don't check for malloc/realloc and try to fallback

When malloc is not available, this will set #define malloc rpl_malloc
which is implemented only inside libcheck, and not everything will link
to libcheck.

We don't really need to care too much about how malloc is implemented
and we don't care about platforms that don't implement malloc.

7 years agoAdd a README.txt with context for libcheck
Nirbheek Chauhan [Fri, 9 Dec 2016 10:33:41 +0000 (16:03 +0530)]
Add a README.txt with context for libcheck

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

7 years agolibcheck: Update the compatibility code and checks
Nirbheek Chauhan [Fri, 9 Dec 2016 09:48:11 +0000 (15:18 +0530)]
libcheck: Update the compatibility code and checks

This brings us up-to-speed with the latest compatibility code from upstream
check git. For completeness, we do all the checks that upstream check does, but
we skip the snprintf/vsnprintf code because it's not straightforward (involves
running code and that is bad for cross-compilation) and not necessary for the
platforms we support anyway.

If someone really wants this, they can uncomment this and copy the relevant
checks from the check git repository.

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

7 years agolibcheck: Just move libcompat files to a subdir
Nirbheek Chauhan [Fri, 9 Dec 2016 09:48:11 +0000 (15:18 +0530)]
libcheck: Just move libcompat files to a subdir

Makes it clearer which files are actually used in libcheck and which are used
for cross-platform compatibility. This is going to be especially useful when we
add all the libcompat fallback code that upstream libcheck has which will add
about 6 new files.

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

7 years agolibcheck: port to latest check git
Nirbheek Chauhan [Fri, 9 Dec 2016 09:48:11 +0000 (15:18 +0530)]
libcheck: port to latest check git

Upstream seems to have stopped doing releases, but we need to update for better
Windows and Visual Studio support.

This patch only updates the libcheck sources and ignores the compatibility
sources for now.

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

7 years agotracers/log: log more detail
Stefan Sauer [Thu, 8 Dec 2016 21:03:19 +0000 (22:03 +0100)]
tracers/log: log more detail

Log the objects like we would in GST_TRACE_OBJECT. Add the hook function into
the fucntion field.

7 years agotracer/log: fix hook prototype
Stefan Sauer [Thu, 8 Dec 2016 21:02:17 +0000 (22:02 +0100)]
tracer/log: fix hook prototype

s/GstElement/GstPad/

7 years agotracer: move the PAD_LINK tracer hook to _pad_link_full()
Stefan Sauer [Thu, 8 Dec 2016 19:20:17 +0000 (20:20 +0100)]
tracer: move the PAD_LINK tracer hook to _pad_link_full()

This is ultimately executing the pad_link. In the previous position we missed
some links, notably ghostpads.

7 years agotracer/latency: clear qdata
Stefan Sauer [Wed, 7 Dec 2016 20:53:49 +0000 (21:53 +0100)]
tracer/latency: clear qdata

When reading the qdata, clear it to avoid it being read and unreffed again.
Fixes #774332

7 years agogstconfig: Fix unaligned access support for arc and nios2 architectures
Peter Seiderer [Tue, 6 Dec 2016 21:32:31 +0000 (22:32 +0100)]
gstconfig: Fix unaligned access support for arc and nios2 architectures

Fixes buildroot autobuild failures ([1], [2]).

[1] http://autobuild.buildroot.net/results/fbd/fbdcd90635d5ec3a62ad98a7ff93b71b8e5ecde4
[2] http://autobuild.buildroot.net/results/f3c/f3c9b0ed4ffb114221057237ce22c995b673a98b

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

7 years agouri: Add new uri API to get media fragments URI as table
Seungha Yang [Tue, 22 Nov 2016 07:52:46 +0000 (16:52 +0900)]
uri: Add new uri API to get media fragments URI as table

As an usecase of URI fragment, it can indicate temporal or spatial
dimension of a media stream. To easily parse key-value pair,
newly added gst_uri_get_media_fragment_table () API will provide
the table of key-value pair likewise URI query.
See also https://www.w3.org/TR/media-frags/

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

7 years agohelpers/gst: Get bash completion options from gst-launch
Ricardo Ribalda Delgado [Tue, 6 Dec 2016 15:27:23 +0000 (16:27 +0100)]
helpers/gst: Get bash completion options from gst-launch

It is more likely that gst-launch is installed than ges-launch

Reported-by: Marianna Smidth Buschle <msb@qtec.com>
https://bugzilla.gnome.org/show_bug.cgi?id=775714

7 years agoconfigure: update for removed docs/design directory
Tim-Philipp Müller [Tue, 6 Dec 2016 18:06:56 +0000 (18:06 +0000)]
configure: update for removed docs/design directory

7 years agodocs: Remove design doc as they have been moved to gst-docs
Thibault Saunier [Mon, 5 Dec 2016 21:16:34 +0000 (18:16 -0300)]
docs: Remove design doc as they have been moved to gst-docs

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

7 years agoinfo: Properly start and end dwfl sessions when getting stack traces
Thibault Saunier [Tue, 29 Nov 2016 20:34:40 +0000 (17:34 -0300)]
info: Properly start and end dwfl sessions when getting stack traces

We were creating a new session to retrive each line of a stack trace
and we are supposed to start it once for a whole stack trace.

And pass the whole file to gst-indent.

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

7 years agonet: set clock name in the constructor
Marcin Kolny [Fri, 2 Dec 2016 21:47:32 +0000 (22:47 +0100)]
net: set clock name in the constructor

gst_net_client_clock_new() and gst_ntp_clock_new() didn't set the
"name" property.

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

7 years agogstconfig: Fix unaligned access support for microblaze and xtensa architectures
Peter Seiderer [Mon, 5 Dec 2016 20:09:52 +0000 (21:09 +0100)]
gstconfig: Fix unaligned access support for microblaze and xtensa architectures

Fixes buildroot autobuild failures, for details see:
http://lists.busybox.net/pipermail/buildroot/2016-December/178895.html

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

7 years agometa: remove unnecessary padding for GstMetaInfo struct
Tim-Philipp Müller [Fri, 2 Dec 2016 15:30:59 +0000 (15:30 +0000)]
meta: remove unnecessary padding for GstMetaInfo struct

This structure is always allocated by GStreamer, can't be
subclassed or extended, and is never allocated or used on
the stack, so we don't need any padding and can extend it
as we please.

7 years agofakesink, identity: print metas attached to buffer in silent=false mode
Tim-Philipp Müller [Wed, 29 Jun 2016 18:36:09 +0000 (19:36 +0100)]
fakesink, identity: print metas attached to buffer in silent=false mode

7 years agoelements: Handle GstIterator RESYNC return value correctly in gst_iterator_foreach()
Sebastian Dröge [Mon, 5 Dec 2016 09:01:45 +0000 (11:01 +0200)]
elements: Handle GstIterator RESYNC return value correctly in gst_iterator_foreach()

7 years agotracers/log: log messages in message category
Stefan Sauer [Sun, 4 Dec 2016 11:15:09 +0000 (12:15 +0100)]
tracers/log: log messages in message category

7 years agoAutomatic update of common submodule
Edward Hervey [Sat, 3 Dec 2016 07:19:08 +0000 (08:19 +0100)]
Automatic update of common submodule

From f980fd9 to 39ac2f5

7 years agobin: Make sure to resync iterators and handle RESYNC at all in gst_iterator_foreach...
Sebastian Dröge [Thu, 1 Dec 2016 16:20:11 +0000 (18:20 +0200)]
bin: Make sure to resync iterators and handle RESYNC at all in gst_iterator_foreach() calls

7 years agoclock: Fix offsetting of times_temp relative to the times array
Sebastian Dröge [Tue, 29 Nov 2016 16:14:24 +0000 (18:14 +0200)]
clock: Fix offsetting of times_temp relative to the times array

7 years agomeson: Set default debug level to ERROR when running from git
Thibault Saunier [Tue, 29 Nov 2016 13:34:14 +0000 (10:34 -0300)]
meson: Set default debug level to ERROR when running from git

7 years agomeson: Add Autotools changes that weren't mirrored
Nirbheek Chauhan [Mon, 28 Nov 2016 13:58:27 +0000 (19:28 +0530)]
meson: Add Autotools changes that weren't mirrored

commits:
a7d282d27256ad1d1a55afc37d1db7f60b040089
6fdb4df0f8c8a9e39f7f7cb73ab65306fb0517f5
1aceebd67f0161806dc3b4b68488d599290f283e

7 years agocheck/pipeline: Make failure message more informative
Edward Hervey [Mon, 28 Nov 2016 13:11:27 +0000 (14:11 +0100)]
check/pipeline: Make failure message more informative

This will provide maybe a bit more insight the next time it fails

7 years agocheck/memory: Don't leak the custom allocator
Edward Hervey [Mon, 28 Nov 2016 13:00:18 +0000 (14:00 +0100)]
check/memory: Don't leak the custom allocator

7 years agogstutils: Fix a pad leak
Edward Hervey [Mon, 28 Nov 2016 12:48:16 +0000 (13:48 +0100)]
gstutils: Fix a pad leak

When requesting a pad from a template and it's already linked, this
means it was a static pad. Since we only want to return an *available*
pad, we must return NULL ... but we must also remove the reference
we got from getting that static pad.

The "No need to unref" message (which wasn't true for quite some time)
dates back from the very very very first commit introducing the 0.10
features.

7 years agocheck: Fix leak in queue2 test
Edward Hervey [Mon, 28 Nov 2016 08:50:40 +0000 (09:50 +0100)]
check: Fix leak in queue2 test

7 years agoutils: Export linear regression calculation as public function
Sebastian Dröge [Wed, 23 Nov 2016 13:41:28 +0000 (15:41 +0200)]
utils: Export linear regression calculation as public function

It is useful outside the GstClock code too.

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

7 years agoRemove generated gstreamer.spec file
Tim-Philipp Müller [Mon, 28 Nov 2016 11:56:23 +0000 (11:56 +0000)]
Remove generated gstreamer.spec file

Likely extremely bitrotten, and we should not ship this anyway.

7 years agodocs: add dataurisrc to docs and update
Tim-Philipp Müller [Mon, 28 Nov 2016 11:09:08 +0000 (11:09 +0000)]
docs: add dataurisrc to docs and update

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

7 years agotests: filesrc: init and clear GCond and mutex
Tim-Philipp Müller [Mon, 28 Nov 2016 11:10:05 +0000 (11:10 +0000)]
tests: filesrc: init and clear GCond and mutex

Might otherwise leak on non-Linux systems.

7 years agotests: rewrite and enable dataurisrc test
Tim-Philipp Müller [Mon, 28 Nov 2016 11:08:24 +0000 (11:08 +0000)]
tests: rewrite and enable dataurisrc test

Can't use playbin for core unit tests.

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

7 years agoelements: add dataurisrc to build
Tim-Philipp Müller [Mon, 28 Nov 2016 11:07:20 +0000 (11:07 +0000)]
elements: add dataurisrc to build

Moved from -bad.

7 years agodataurisrc: fix string leak in property getter
Tim-Philipp Müller [Mon, 28 Nov 2016 10:42:46 +0000 (10:42 +0000)]
dataurisrc: fix string leak in property getter

7 years agoMove dataurisrc element from -bad
Tim-Philipp Müller [Mon, 28 Nov 2016 11:18:39 +0000 (11:18 +0000)]
Move dataurisrc element from -bad

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

7 years agomessage: Ensure that the "debug" field of error/warning/info messages is valid UTF-8
Sebastian Dröge [Mon, 28 Nov 2016 10:28:28 +0000 (12:28 +0200)]
message: Ensure that the "debug" field of error/warning/info messages is valid UTF-8

The caller might pass arbitrary data here that caused the error, and
trying to set invalid UTF-8 in a GstStructure causes it to be not set at
all. Later when trying to parse it, the field will not exist and the
return value will point to invalid memory. Prevent this by storing NULL
instead.

Also print a g_warning(), the caller should never ever do this to begin
with.

7 years agocommon: use https protocol for common submodule
Tim-Philipp Müller [Sat, 26 Nov 2016 11:20:51 +0000 (11:20 +0000)]
common: use https protocol for common submodule

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

7 years agoscripts: create-uninstalled-setup: use https protocol to clone repos
Hanno Boeck [Sat, 26 Nov 2016 11:06:20 +0000 (11:06 +0000)]
scripts: create-uninstalled-setup: use https protocol to clone repos

The git:// protocol is problematic from a security perspective, as
it provides no authenticity of data. https:// also works better in
environments with restricted network connectivity.

Also add CLONE_OPTS to do shallow checkouts more easily.

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

7 years agomeson: Support execinfo.h on FreeBSD by using -lexecinfo
Ting-Wei Lan [Mon, 14 Nov 2016 19:03:22 +0000 (03:03 +0800)]
meson: Support execinfo.h on FreeBSD by using -lexecinfo

FreeBSD supports execinfo.h and backtrace* functions, but
using them requires linking with -lexecinfo.

Requires sufficiently-new meson with #1053 fixed (post-0.36).

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

7 years agotools: Remove files to be cleaned
Edward Hervey [Wed, 23 Nov 2016 17:56:20 +0000 (18:56 +0100)]
tools: Remove files to be cleaned

manpages are no longer auto-generated
cov-related files should not be there (if needed we could use gitignore)

7 years agobasesink: Document the interaction between unlock() and wait_preroll()
Olivier Crête [Fri, 4 Nov 2016 22:54:10 +0000 (18:54 -0400)]
basesink: Document the interaction between unlock() and wait_preroll()

This was totally non-obvious, the kind of big problem is that subclasses must
be able to unblock their streaming thread and continue exactly where they left off
on unpause!

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

7 years agofdsink: Block in preroll_wait on unlock
Olivier Crête [Fri, 4 Nov 2016 22:46:45 +0000 (18:46 -0400)]
fdsink: Block in preroll_wait on unlock

The correct behaviour of anything stuck in the ->render() function
between ->unlock() and ->unlock_stop() is to call
gst_base_sink_wait_preroll() and only return an error if this returns an
error, otherwise, it must continue where it left off!

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

7 years agoelement: Don't increment NULL pointers
Sebastian Dröge [Wed, 23 Nov 2016 16:57:17 +0000 (18:57 +0200)]
element: Don't increment NULL pointers

Trivial workaround for coverity false warning.

CID 1394488, 1394487.

7 years agotools: fix distcheck and .gitignore
Tim-Philipp Müller [Wed, 23 Nov 2016 09:58:44 +0000 (09:58 +0000)]
tools: fix distcheck and .gitignore

7 years agomeson: tools: install the man pages
Antonio Ospite [Thu, 3 Nov 2016 09:30:53 +0000 (10:30 +0100)]
meson: tools: install the man pages

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

7 years agotools: ship the final man pages directly, no more man pages templates
Antonio Ospite [Thu, 3 Nov 2016 09:30:53 +0000 (10:30 +0100)]
tools: ship the final man pages directly, no more man pages templates

Don't use templates for the man pages, the API version change is a rare
event, so it's not really worth keeping in place the "sed" boilerplate
to have it set at build time.

Shipping the final man pages directly also makes it easer to install the
man pages with meson (in a future commit).

Note that now all the occurrences of the programs names have the API
version as a suffix.

Traditionally the example command lines looked like:

  gst-launch ...

Now they look like:

  gst-launch-1.0 ...

This reflects the actual programs names and makes it easier to copy and
paste the example commands.

Also, the .gitignore file is adjusted not to ignore the final man pages
anymore.

You may need to clean your src/build directory before pulling in this
patch.

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

7 years agocontrollers: add new proxy control binding
Matthew Waters [Fri, 18 Nov 2016 02:09:21 +0000 (13:09 +1100)]
controllers: add new proxy control binding

Allows proxying the control interface from one property on one GstObject
to another property (of the same type) in another GstObject.

E.g. in a parent-child relationship, one may need to
gst_object_sync_values() on the child and have a binding (set elsewhere)
on the parent update the value.

Note: that this doesn't solve GObject property forwarding and must be
taken care of by the implementation manually or using GBinding.

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

7 years agomemory: log with GST_INFO instead GST_ERROR when subclass map failed.
Julien Isorce [Fri, 7 Oct 2016 10:39:26 +0000 (11:39 +0100)]
memory: log with GST_INFO instead GST_ERROR when subclass map failed.

Add unit test to ensure that.

It can be a normal execution path to do some map trials and there is
no need to worry the user in that case.

The application has to check the return value of gst_memory_map.

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

7 years agobasetransform: Ensure to set the RECONFIGURE flag again if reconfiguration failed
Sebastian Dröge [Thu, 17 Nov 2016 15:37:16 +0000 (17:37 +0200)]
basetransform: Ensure to set the RECONFIGURE flag again if reconfiguration failed

It might've failed just because of flushing or other things, and we
should retry again on the next possibility if something ever calls in
here again.

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

7 years agomeson: add_global_arguments -> add_project_arguments
Scott D Phillips [Fri, 18 Nov 2016 00:39:52 +0000 (16:39 -0800)]
meson: add_global_arguments -> add_project_arguments

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

7 years agomultiqueue: Make sure not-linked streams get woken up
Jan Schmidt [Wed, 16 Nov 2016 12:19:28 +0000 (23:19 +1100)]
multiqueue: Make sure not-linked streams get woken up

When running in sync-by-running-time mode, pad groups
that have exactly 1 pad and it's not-linked might never
wake up after computing a high time, as the per-pad-group
high time was only recomputed when a pad in the group
advances.

Wake those up using the global multiqueue high-time across
all other groups instead.

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

7 years agodocs: misc fixes
Tim-Philipp Müller [Wed, 16 Nov 2016 10:55:29 +0000 (10:55 +0000)]
docs: misc fixes

7 years agoutils: use temp var in fallback GST_WRITE_*() macros
Tim-Philipp Müller [Wed, 16 Nov 2016 10:51:48 +0000 (10:51 +0000)]
utils: use temp var in fallback GST_WRITE_*() macros

To make sure the value is only expanded/used once, in case
there are side effects to it, and to avoid calculating it
or looking it up multiple times if there is a calculation
or lookup involved.

7 years agobaseparse: Fix previous commit
Jan Schmidt [Tue, 15 Nov 2016 13:30:26 +0000 (00:30 +1100)]
baseparse: Fix previous commit

Check the correct segment format value.

parse->segment.format is the format we're outputting in,
not the upstream format. Use parse->priv->upstream_format instead,
and make sure it's set in pull mode.

7 years agobaseparse: Restrict query/convert responses when demuxing
Jan Schmidt [Tue, 15 Nov 2016 12:51:06 +0000 (23:51 +1100)]
baseparse: Restrict query/convert responses when demuxing

If the parser is not parsing a raw elementary stream, restrict
the position, duration and conversion query replies to
things we can sensibly answer about - especially don't do
random conversions to/from bytes.

7 years agoqueues: Don't return negative position queries.
Jan Schmidt [Tue, 15 Nov 2016 11:39:43 +0000 (22:39 +1100)]
queues: Don't return negative position queries.

When subtracting queued data sizes from upstream queries
in queue, queue2, downloadbuffer and typefind, clamp the
result to not go negative, in case upstream returned
a nonsense value that's too small (as could happen if
upstream is estimating, or just broken)

7 years agoCast away const from GstMetaInfo in *_get_meta_info() functions
Scott D Phillips [Mon, 14 Nov 2016 19:27:05 +0000 (11:27 -0800)]
Cast away const from GstMetaInfo in *_get_meta_info() functions

MSVC warns about the const in the implicit argument conversion in the
calls to g_once_init_{enter,leave}. It's OK so explicitly cast it.

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

7 years agotypefindhelper: Update prototype of helper_find_suggest()
Scott D Phillips [Mon, 14 Nov 2016 19:32:51 +0000 (11:32 -0800)]
typefindhelper: Update prototype of helper_find_suggest()

forward declaration prototype is updated to match the change in:

 5a72c23 Change some types to match their prototypes

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

7 years agowin32: remove copies of generated headers
Tim-Philipp Müller [Mon, 14 Nov 2016 21:28:22 +0000 (21:28 +0000)]
win32: remove copies of generated headers

7 years agodocs: remove more docbook build cruft that's no longer needed
Tim-Philipp Müller [Mon, 14 Nov 2016 21:18:13 +0000 (21:18 +0000)]
docs: remove more docbook build cruft that's no longer needed

7 years agodocs/README: remove more outdated pieces of info/advice
Stefan Sauer [Mon, 14 Nov 2016 20:29:43 +0000 (21:29 +0100)]
docs/README: remove more outdated pieces of info/advice

7 years agoscripts/gst-plot-traces.sh: make log parsing a bit more solid
Stefan Sauer [Thu, 20 Oct 2016 20:32:50 +0000 (22:32 +0200)]
scripts/gst-plot-traces.sh: make log parsing a bit more solid

Use grep -o to grab the log message only. This makes it work with colored log
files too. Prefilter the log to not catch tracer classes.

Update the commandline for the script in the docs.