platform/upstream/gstreamer.git
8 years agoprintf: On MSVC, also define HAVE_STDINT_H_WITH_UINTMAX
Nirbheek Chauhan [Sat, 13 Feb 2016 01:23:24 +0000 (06:53 +0530)]
printf: On MSVC, also define HAVE_STDINT_H_WITH_UINTMAX

MSVC provides stdint.h but not inttypes.h, and we need to include stdint.h to
get intmax_t

8 years agoptpclock: Only include unistd.h if found
Nirbheek Chauhan [Sat, 13 Feb 2016 01:12:06 +0000 (06:42 +0530)]
ptpclock: Only include unistd.h if found

unistd.h is not provided by the  Microsoft Visual C++ compiler. It instead
provides the necessary defines through io.h

8 years agoplugin: Only check for S_IFBLK if it is defined
Nirbheek Chauhan [Sat, 13 Feb 2016 00:49:52 +0000 (06:19 +0530)]
plugin: Only check for S_IFBLK if it is defined

Windows does not define S_IFBLK since it doesn't have block devices

8 years agowin32: update README and remove outdated build cruft
Tim-Philipp Müller [Fri, 19 Feb 2016 20:17:02 +0000 (20:17 +0000)]
win32: update README and remove outdated build cruft

This hasn't been touched for generations, doesn't work,
and is just causing confusion. We also don't want to
maintain these files manually.

8 years agomanual: Explain what happens if upstream elements are removed from the pipeline witho...
George Yunaev [Fri, 19 Feb 2016 08:43:00 +0000 (08:43 +0000)]
manual: Explain what happens if upstream elements are removed from the pipeline without draining them first

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

8 years agotests: fix indentation
Tim-Philipp Müller [Fri, 19 Feb 2016 14:41:55 +0000 (14:41 +0000)]
tests: fix indentation

8 years agoBack to development
Sebastian Dröge [Fri, 19 Feb 2016 10:38:21 +0000 (12:38 +0200)]
Back to development

8 years agoRelease 1.7.2
Sebastian Dröge [Fri, 19 Feb 2016 09:47:52 +0000 (11:47 +0200)]
Release 1.7.2

8 years agopo: Update translations
Sebastian Dröge [Fri, 19 Feb 2016 08:29:40 +0000 (10:29 +0200)]
po: Update translations

8 years agouninstalled.pc: add support for non libtool build systems
Julien Isorce [Thu, 18 Feb 2016 14:20:17 +0000 (14:20 +0000)]
uninstalled.pc: add support for non libtool build systems

Currently the .la path is provided which requires to use libtool as
mentioned in the GStreamer manual section-helloworld-compilerun.html.
It is fine as long as the application is built using libtool.

So currently it is not possible to compile a GStreamer application
within gst-uninstalled with CMake or other build system different
than autotools.

This patch allows to do the following in gst-uninstalled env:
gcc test.c -o test $(pkg-config --cflags --libs gstreamer-1.0)
Previously it required to prepend libtool --mode=link

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

8 years agoRevert "pad: PULL probes are called without a buffer so don't require any of the...
Sebastian Dröge [Thu, 18 Feb 2016 09:43:22 +0000 (11:43 +0200)]
Revert "pad: PULL probes are called without a buffer so don't require any of the data flags to be set"

This reverts commit b89fa4786b3df6cb79f662c037dee74b3f7428d6.

The changes break various tests.

8 years agoRevert "pad: Add test for blocking pull probe"
Sebastian Dröge [Thu, 18 Feb 2016 09:43:04 +0000 (11:43 +0200)]
Revert "pad: Add test for blocking pull probe"

This reverts commit 17d30e944be0425ebb4fb6046f82d1f61701fe8f.

The PULL probe changes break various tests.

8 years agobuffer: Protect against failing to map input memory when merging memories
Sebastian Dröge [Thu, 18 Feb 2016 09:09:36 +0000 (11:09 +0200)]
buffer: Protect against failing to map input memory when merging memories

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

8 years agopad: Add test for blocking pull probe
Matej Knopp [Thu, 28 Jan 2016 15:22:17 +0000 (16:22 +0100)]
pad: Add test for blocking pull probe

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

8 years agopad: PULL probes are called without a buffer so don't require any of the data flags...
Sebastian Dröge [Wed, 17 Feb 2016 14:57:27 +0000 (16:57 +0200)]
pad: PULL probes are called without a buffer so don't require any of the data flags to be set

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

8 years agoRevert "element: Don't hold state lock all the time while sending an event"
Sebastian Dröge [Wed, 17 Feb 2016 14:41:02 +0000 (16:41 +0200)]
Revert "element: Don't hold state lock all the time while sending an event"

This reverts commit b427997119a2b6aacbeb550f729936f8b963e24b.

It breaks things that used to work before, even if the change by itself is
correct and the previous code is just working around deeper bugs in the async
state change code. Let's go back to what previously worked and then fix async
state changes in general.

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

8 years agoRevert "ghostpad: Do nothing in _internal_activate_push_default"
Edward Hervey [Wed, 17 Feb 2016 14:26:49 +0000 (15:26 +0100)]
Revert "ghostpad: Do nothing in _internal_activate_push_default"

That commit would break scheduling reconfiguration with ghostpads

This reverts commit ab55ad7eaad4fa2c0b16c789350e882cf70a27ed.

8 years agocheck: Add test for checking scheduling reconfiguration with ghostpads
Edward Hervey [Wed, 17 Feb 2016 14:25:08 +0000 (15:25 +0100)]
check: Add test for checking scheduling reconfiguration with ghostpads

Showcases the regression introduced by this commit:
Commit: ab55ad7eaad4fa2c0b16c789350e882cf70a27ed

Author: Stian Selnes <stian@pexip.com>
Date:   Wed Jan 27 13:20:23 2016 +0100

ghostpad: Do nothing in _internal_activate_push_default

8 years agoghostpad: add some tests for activation
Havard Graff [Wed, 17 Feb 2016 10:02:34 +0000 (11:02 +0100)]
ghostpad: add some tests for activation

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

8 years agoghostpad: Do nothing in _internal_activate_push_default
Stian Selnes [Wed, 27 Jan 2016 12:20:23 +0000 (13:20 +0100)]
ghostpad: Do nothing in _internal_activate_push_default

When calling gst_pad_activate_mode() on a ghostpad
gst_ghost_pad_activate_push_default() will be called. This will call
gst_pad_activate_mode() on the proxypad (which is internal of the
ghostpad), calling gst_ghost_pad_internal_activate_push_default(), which
again will call gst_pad_activate_mode() on the original ghostpad.

By simply returning TRUE in
gst_ghost_pad_internal_activate_push_default() the redundant call to
gst_pad_activate_mode() (for the same pad) is avoided.

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

8 years agoregistrychunks: remove unused macro
Thiago Santos [Tue, 16 Feb 2016 20:53:10 +0000 (17:53 -0300)]
registrychunks: remove unused macro

macro was added in 2011 and isn't used anymore

8 years agoRevert "queue2: add overrun signal"
Sebastian Dröge [Tue, 16 Feb 2016 17:11:59 +0000 (19:11 +0200)]
Revert "queue2: add overrun signal"

This reverts commit 8ae8b2723d0cf179a4f09b2f6c5f797e2d97034d.

It's not used anymore by anything and was considered a bad idea in general.

8 years agodocs: annotate C examples as such
Evan Nemerson [Thu, 5 Jun 2014 20:27:28 +0000 (13:27 -0700)]
docs: annotate C examples as such

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

8 years agobenchmark: tracerserialize: add missing return statement
Thiago Santos [Mon, 15 Feb 2016 14:13:40 +0000 (11:13 -0300)]
benchmark: tracerserialize: add missing return statement

tracerserialize.c:117:1: error: control reaches end of
non-void function [-Werror=return-type]

8 years agoprotection/harness/systemclock: move declaration out of for loop initialization
Thiago Santos [Mon, 15 Feb 2016 13:06:09 +0000 (10:06 -0300)]
protection/harness/systemclock: move declaration out of for loop initialization

C90 compilers complain about it
error: ‘for’ loop initial declarations are only allowed in C99 or C11 mode

Also run gst-indent on systemclock tests.

8 years agoharness: always set our test-clock on the harnessed element
Havard Graff [Wed, 27 Jan 2016 14:16:03 +0000 (15:16 +0100)]
harness: always set our test-clock on the harnessed element

The integration is already so tight, there is no reason to
not further formalize it!

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

8 years agoharness: fix compilation
Tim-Philipp Müller [Sat, 13 Feb 2016 16:10:27 +0000 (16:10 +0000)]
harness: fix compilation

Was supposed to be squashed with 336c7bb6

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

8 years agoharness: fix indentation
Tim-Philipp Müller [Sat, 13 Feb 2016 16:10:11 +0000 (16:10 +0000)]
harness: fix indentation

8 years agoharness: Fix MT issues when forwarding event/query to sink harness
Stian Selnes [Thu, 21 Jan 2016 12:33:15 +0000 (13:33 +0100)]
harness: Fix MT issues when forwarding event/query to sink harness

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

8 years agogst-uninstalled: add new -bad libraries audio, player and wayland to paths
Tim-Philipp Müller [Sat, 13 Feb 2016 10:04:42 +0000 (10:04 +0000)]
gst-uninstalled: add new -bad libraries audio, player and wayland to paths

And remove egl which no longer exists.

8 years agopushsrc: fix minor typos in header
Martin Kelly [Fri, 12 Feb 2016 19:57:55 +0000 (11:57 -0800)]
pushsrc: fix minor typos in header

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

8 years agoharness: Add event stress test functions with callback
Stian Selnes [Thu, 21 Jan 2016 12:28:23 +0000 (13:28 +0100)]
harness: Add event stress test functions with callback

Similar to the stress test functions for buffers that has a callback to
create the buffer to be pushed, it's useful to have functions that use a
callback to create the event to be pushed.

API: gst_harness_stress_push_event_with_cb_start()
API: gst_harness_stress_push_event_with_cb_start_full()
API: gst_harness_stress_send_upstream_event_with_cb_start()
API: gst_harness_stress_push_upstream_event_with_cb_start_full()

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

8 years agotestclock: add crank method
Havard Graff [Thu, 14 Jan 2016 20:54:42 +0000 (21:54 +0100)]
testclock: add crank method

And use it inside GstHarness

API: gst_test_clock_crank()

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

8 years agoharness: enable empty harness creation and refactor around this
Havard Graff [Wed, 9 Dec 2015 02:43:38 +0000 (13:43 +1100)]
harness: enable empty harness creation and refactor around this

Also make the testclock a member of the harness, allowing some
more interactions with the clock prior to adding elements.

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

8 years agocheck: fix unused parameter compiler warning
Stian Selnes [Fri, 12 Feb 2016 14:12:43 +0000 (15:12 +0100)]
check: fix unused parameter compiler warning

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

8 years agoharness: fix the race in blocking push mode
Mikhail Fludkov [Tue, 4 Aug 2015 15:09:35 +0000 (17:09 +0200)]
harness: fix the race in blocking push mode

Depending on when gst_harness_pull was called - before the buffer reached
gst_harness_chain or after we can get different behaviors of the test
with enabled blocking push mode. The fix makes the behavior always the
same. In pull function we get the buffer first, thus making sure
gst_harness_chain waits for the signal, and emitting the signal after.

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

8 years agocheck: Add tcase_skip_broken_loop_test
Stian Selnes [Thu, 4 Feb 2016 14:16:41 +0000 (15:16 +0100)]
check: Add tcase_skip_broken_loop_test

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

8 years agoharness: Fix docs for stress test functions
Stian Selnes [Thu, 21 Jan 2016 12:25:40 +0000 (13:25 +0100)]
harness: Fix docs for stress test functions

notify is not called per buffer, but when the thread is freed.

Comment about serialized events and OOB does not make sense for upstream
events.

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

8 years agoharness: Unset sink_forward_pad before tearing down sink_harness
Stian Selnes [Tue, 8 Dec 2015 13:18:21 +0000 (14:18 +0100)]
harness: Unset sink_forward_pad before tearing down sink_harness

Set the sink_forward_pad to NULL before tearing down sink_harness to
avoid that the harness tries to forward events/queries to it while it's
tearing down.

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

8 years agoharness: fix up docs to reference functions properly
Havard Graff [Tue, 29 Sep 2015 10:12:24 +0000 (12:12 +0200)]
harness: fix up docs to reference functions properly

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

8 years agobufferpool: pass acquire params to alloc_buffer
Víctor Manuel Jáquez Leal [Wed, 10 Feb 2016 13:01:54 +0000 (14:01 +0100)]
bufferpool: pass acquire params to alloc_buffer

When allocating a new buffer in the pool, both the do_alloc_buffer() and the
vmethod, alloc_buffer(), receive the parameter GstBufferPoolAcquireParams.

Nonetheless, when default_acquire_buffer() calls the do_alloc_buffer() it does
not pass the received GstBufferPoolAcquireParams, so when the user pass those
parameters they are ignored by alloc_buffer() vmethod.

This one-liner patch pass the received acquire params to do_alloc_buffer().

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

8 years agosystemclock: Fix wait/unschedule race
Stian Selnes [Wed, 10 Feb 2016 08:09:29 +0000 (09:09 +0100)]
systemclock: Fix wait/unschedule race

Fixes a race where an entry is set to BUSY in
gst_system_clock_id_wait_jitter() and is UNSCHEDULED before
gst_system_clock_id_wait_jitter_unlocked() starts processing it. The
wakeup added by gst_system_clock_id_unschedule() must be cleaned up.

Two stress tests are added. One test that triggers the specific issue
described above. The second stresses the code path where a wait is
rescheduled because the poll returned early.

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

8 years agosystemclock: handle unschedule of late entries
Thiago Santos [Fri, 5 Feb 2016 18:34:47 +0000 (15:34 -0300)]
systemclock: handle unschedule of late entries

If the clockentry is too late and is unscheduled before it gets
a change to detect its lateness the wakeup count and the poll are
used but never properly cleaned up. This leaves it in a dirty state
that is going to mess with the next clock entry waiting requests.

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

8 years agotests: extend the AM_TESTS_ENVIRONMENT from check.mak
Thiago Santos [Fri, 5 Feb 2016 22:08:18 +0000 (19:08 -0300)]
tests: extend the AM_TESTS_ENVIRONMENT from check.mak

To get the CK_DEFAULT_TIMEOUT defined for all tests

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

8 years agoAutomatic update of common submodule
Thiago Santos [Fri, 5 Feb 2016 21:01:52 +0000 (18:01 -0300)]
Automatic update of common submodule

From 86e4663 to b64f03f

8 years agobaseparse: fix stray discont flag set on outgoing buffers in push mode
Tim-Philipp Müller [Thu, 4 Feb 2016 10:07:22 +0000 (10:07 +0000)]
baseparse: fix stray discont flag set on outgoing buffers in push mode

We have no guarantees about what flags are set on buffers we take
out of the GstAdapter. If we push out multiple buffers from the
first input buffer (which will have discont set), only the first
buffer we push out should be flagged as discont, not all of the
buffers produced from that first initial input buffer.

Fixes issue where the first few mp3 frames/seconds of data in push
mode were skipped or garbled in some cases, and the discont flags
would also trip up decoders which were getting drained/flushed for
every buffer. This was a regression introduced in 1.6 apparently.

8 years agocontroller: Do not unset uninitiallized GValue
Thibault Saunier [Tue, 2 Feb 2016 15:35:34 +0000 (16:35 +0100)]
controller: Do not unset uninitiallized GValue

In case the property was not interpollable we might never initialize
the GValue, we should thus never unset it.

8 years agodocs: pwg: fix missing end of line semicolon in custom meta example
Tim-Philipp Müller [Tue, 2 Feb 2016 16:34:51 +0000 (16:34 +0000)]
docs: pwg: fix missing end of line semicolon in custom meta example

8 years agouri: add guard to make sure gstreamer is initialized
Tim-Philipp Müller [Tue, 2 Feb 2016 10:56:35 +0000 (10:56 +0000)]
uri: add guard to make sure gstreamer is initialized

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

8 years agogst-uninstalled: add new rtsp server plugin location to plugins path
Tim-Philipp Müller [Mon, 1 Feb 2016 18:41:55 +0000 (18:41 +0000)]
gst-uninstalled: add new rtsp server plugin location to plugins path

8 years agobaseparse: Try to generate caps on the srcpad before forwarding GAP event
HoonHee Lee [Mon, 25 Jan 2016 07:30:04 +0000 (16:30 +0900)]
baseparse: Try to generate caps on the srcpad before forwarding GAP event

To configure downstream elements and complete initial pre-rolling,
ensure we have default output caps before forwarding GAP event.

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

8 years agotypefindelement: Improve English grammar
Alex Henrie [Fri, 29 Jan 2016 03:18:55 +0000 (20:18 -0700)]
typefindelement: Improve English grammar

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

8 years agodocs: fix an other typo in clock chapter
Luis de Bethencourt [Wed, 27 Jan 2016 12:45:20 +0000 (12:45 +0000)]
docs: fix an other typo in clock chapter

Shockingly I missed this bigger typo in the previos fix

8 years agodocs: fix typo in clock chapter
Luis de Bethencourt [Wed, 27 Jan 2016 12:24:57 +0000 (12:24 +0000)]
docs: fix typo in clock chapter

8 years agotests:gstinfo: Fix string memory leak
Vineeth TM [Mon, 25 Jan 2016 03:09:54 +0000 (12:09 +0900)]
tests:gstinfo: Fix string memory leak

info_fourcc test leaks string.

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

8 years agotests: info: make work without registry
Tim-Philipp Müller [Sat, 23 Jan 2016 16:00:48 +0000 (16:00 +0000)]
tests: info: make work without registry

8 years agotracer: rename GST_TRACER_PLUGINS env var to GST_TRACERS
Tim-Philipp Müller [Fri, 22 Jan 2016 12:50:08 +0000 (12:50 +0000)]
tracer: rename GST_TRACER_PLUGINS env var to GST_TRACERS

8 years agotracerrecord: don't leak the spec structures
Stefan Sauer [Thu, 21 Jan 2016 07:12:01 +0000 (08:12 +0100)]
tracerrecord: don't leak the spec structures

Change the gst_tracer_record_new() api to take the parameters the make the
spec structure directly. This allows us to own the top-level structure and
also collect the args so that we can take ownership of the sub-structures.

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

8 years agodevice: fix comparison in _has_classesv()
Tim-Philipp Müller [Thu, 21 Jan 2016 15:45:30 +0000 (15:45 +0000)]
device: fix comparison in _has_classesv()

We're comparing a pointer type with '\0' here, which
probably isn't right, and the loop condition made sure
that classes[0] is != NULL already, so it's pointless.
Was probaby meant to check if the string pointed to is
not empty, so make it do that instead.

8 years agotest/tracerrecord: unref objects and free string
Stefan Sauer [Wed, 20 Jan 2016 19:32:24 +0000 (20:32 +0100)]
test/tracerrecord: unref objects and free string

8 years agosystemclock: tests: added stress test for async order
Florin Apostol [Mon, 18 Jan 2016 22:45:58 +0000 (22:45 +0000)]
systemclock: tests: added stress test for async order

Keep inserting alarms at the beginning of the list. Due to
https://bugzilla.gnome.org/show_bug.cgi?id=760757
alarm thread will get confused and not serve them in order.

8 years agosystemclock: fixed race condition in handling alarms
Florin Apostol [Mon, 18 Jan 2016 16:25:20 +0000 (16:25 +0000)]
systemclock: fixed race condition in handling alarms

When choosing the first entry from the list, gst_system_clock_async_thread
must set the entry state to busy before releasing the clock lock. Otherwise
a new entry could be added to the beginning of the list and
gst_system_clock_async_thread will be unaware and keep waiting on the entry
it has already chosen.

Also improved messages about expected state and bumped them to ERROR level
to detect unexpected state changes.

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

8 years agoutils: remove duplicate check
Tim-Philipp Müller [Wed, 20 Jan 2016 11:07:17 +0000 (11:07 +0000)]
utils: remove duplicate check

8 years agomultiqueue: two small fixes for when an existing pad is requested
Tim-Philipp Müller [Wed, 20 Jan 2016 09:57:00 +0000 (09:57 +0000)]
multiqueue: two small fixes for when an existing pad is requested

Unlock when returning NULL from gst_single_queue_new(), and don't
crash with debug logging enabled if NULL is returned.

Spotted by Steven Hoving.

8 years agogstvalue: remove a half finishesh sentence in the docs
Stefan Sauer [Wed, 20 Jan 2016 09:02:37 +0000 (10:02 +0100)]
gstvalue: remove a half finishesh sentence in the docs

No idea what was the idea here. SO lets just drop it.

8 years agotracerrecord: Fix self->spec structure invalid free
Vineeth TM [Tue, 19 Jan 2016 05:39:06 +0000 (14:39 +0900)]
tracerrecord: Fix self->spec structure invalid free

self->spec is got using g_value_get_boxed(), which is a transfer none function.
So the same should not be freed, which is resulting in wrong behavior.

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

8 years agotracerrecord: Initialise flags to avoid wrong comparision
Vineeth TM [Wed, 20 Jan 2016 08:25:44 +0000 (09:25 +0100)]
tracerrecord: Initialise flags to avoid wrong comparision

GstTracerValueFlags is not being initialized and the same could result in wrong
comparision and behavior. Hence initializing it to GST_TRACER_VALUE_FLAGS_NONE.

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

8 years agotests/gst/info: Fix messages glist memory leak
Stefan Sauer [Wed, 20 Jan 2016 08:18:01 +0000 (09:18 +0100)]
tests/gst/info: Fix messages glist memory leak

8 years agotests: tracerrecord: Fix messages glist memory leak
Vineeth TM [Tue, 19 Jan 2016 06:03:55 +0000 (15:03 +0900)]
tests: tracerrecord: Fix messages glist memory leak

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

8 years agotracer: add an internal ptr format for tracer serialisation
Stefan Sauer [Mon, 18 Jan 2016 20:12:53 +0000 (21:12 +0100)]
tracer: add an internal ptr format for tracer serialisation

We need to apply the string wrapping that value serialisation does also in the
tracer logging, otherwise we can't parse nested structures.

8 years agotracer/gststats: fix mismatch between '.class' and tracer args
Stefan Sauer [Mon, 18 Jan 2016 20:09:49 +0000 (21:09 +0100)]
tracer/gststats: fix mismatch between '.class' and tracer args

Clean up from the recent changes. The logging descriptiors did not match what we logged.

8 years agoqueue2: Add use-tags-bitrate property
Jan Schmidt [Wed, 11 Nov 2015 14:14:34 +0000 (01:14 +1100)]
queue2: Add use-tags-bitrate property

The use-tags-bitrate property makes queue2 look at
tag events in the stream and extract a bitrate for the
stream to use when calculating a duration for buffers
that don't have one explicitly set.

This lets queue2 sensibly buffer to a time threshold
for any bytestream for which the general bitrate is known.

8 years agotracerrecord: avoid overwriting value
Luis de Bethencourt [Tue, 19 Jan 2016 12:04:16 +0000 (12:04 +0000)]
tracerrecord: avoid overwriting value

res value is overwritten, remove the assignment.
priv__gst_structure_append_template_to_gstring () always returns TRUE
anyway.

CID 1349645

8 years agobenchmarks: Disable tracerserialize benchmark on GST_DISABLE_GST_DEBUG
Edward Hervey [Tue, 19 Jan 2016 10:11:25 +0000 (11:11 +0100)]
benchmarks: Disable tracerserialize benchmark on GST_DISABLE_GST_DEBUG

no gst-debugging => no tracer logging (and no pony either)

8 years agotracerrecord: Disable logging if GST_DISABLE_GST_DEBUG
Edward Hervey [Tue, 19 Jan 2016 10:10:30 +0000 (11:10 +0100)]
tracerrecord: Disable logging if GST_DISABLE_GST_DEBUG

Make the gst_tracer_record_log() a no-op if the gst-debug subsystem
is disabled.

8 years agovalue: fail flag deserialization on invalid flag names
Tim-Philipp Müller [Mon, 18 Jan 2016 19:17:16 +0000 (19:17 +0000)]
value: fail flag deserialization on invalid flag names

8 years agotests: structure: fix wrong flag name in deserialization test
Tim-Philipp Müller [Mon, 18 Jan 2016 19:10:48 +0000 (19:10 +0000)]
tests: structure: fix wrong flag name in deserialization test

There is no GST_SEEK_FLAGS_NONE only GST_SEEK_FLAG_NONE (but
the deserializer silently skips bad flag names currently).

8 years agotracers: fix thread-id casts to 64-bit ints on 32-bit systems
Tim-Philipp Müller [Sun, 17 Jan 2016 23:49:27 +0000 (23:49 +0000)]
tracers: fix thread-id casts to 64-bit ints on 32-bit systems

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

8 years agogst: ref/unref new enum types in gst_init/deinit
Vineeth TM [Mon, 18 Jan 2016 01:13:02 +0000 (10:13 +0900)]
gst: ref/unref new enum types in gst_init/deinit

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

8 years agowin32: update exports for new flags get_type()
Tim-Philipp Müller [Sun, 17 Jan 2016 00:08:33 +0000 (00:08 +0000)]
win32: update exports for new flags get_type()

8 years agotracer.h: don't include private noinst header gsttracerutils.h in a public header
Philip Van Hoof [Sat, 16 Jan 2016 21:43:23 +0000 (22:43 +0100)]
tracer.h: don't include private noinst header gsttracerutils.h in a public header

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

8 years agobenchmark: improve script
Stefan Sauer [Sat, 16 Jan 2016 20:24:19 +0000 (21:24 +0100)]
benchmark: improve script

Use a temp file for the log and fix one env-var.

8 years agotracer/stats: use the right log template
Stefan Sauer [Sat, 16 Jan 2016 20:23:10 +0000 (21:23 +0100)]
tracer/stats: use the right log template

When porting we used the wrong record (copy and paste).

8 years agotracer: update the docs
Stefan Sauer [Sat, 16 Jan 2016 20:04:46 +0000 (21:04 +0100)]
tracer: update the docs

Add the new enum and flags. Remove the GstTracerRecordPrivate.

8 years agogst-stats: update to latest tarcer api
Stefan Sauer [Sat, 16 Jan 2016 20:02:39 +0000 (21:02 +0100)]
gst-stats: update to latest tarcer api

The thread-ids are serialized as uint64. The 'elem-ix' got changed to
'element-ix'. Make the code a bit more robust.

8 years agotracer: use the new flags to create the optional field in the format string
Stefan Sauer [Sat, 16 Jan 2016 17:55:07 +0000 (18:55 +0100)]
tracer: use the new flags to create the optional field in the format string

This spares us explicitly listing the field in the spec. and thus hide this
implementation detail.

8 years agotracer: add a GstTracerValueFlags and replace strings
Stefan Sauer [Sat, 16 Jan 2016 17:52:32 +0000 (18:52 +0100)]
tracer: add a GstTracerValueFlags and replace strings

This allows us to document the flags and makes the logs a bit smaller.

8 years agomessage: add function guard to gst_message_set_buffering_stats()
Tim-Philipp Müller [Sat, 16 Jan 2016 16:01:38 +0000 (16:01 +0000)]
message: add function guard to gst_message_set_buffering_stats()

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

8 years agogst.h: Don't spew warnings if GST_USE_UNSTABLE_API is not defined
Tim-Philipp Müller [Sat, 16 Jan 2016 14:51:37 +0000 (14:51 +0000)]
gst.h: Don't spew warnings if GST_USE_UNSTABLE_API is not defined

Only hide GstTracer and GstTracerRecord API behind GST_USE_UNSTABLE_API,
but don't spew any warnings, otherwise everyone has to define this
to avoid compiler warnings.

This reverts parts of commit 89ee5d948dff560204e6edd210c44ed2b8654b8e.

8 years agobenchmarks: update the tracer benchmark and add a shell benchmark
Stefan Sauer [Sat, 16 Jan 2016 12:30:34 +0000 (13:30 +0100)]
benchmarks: update the tracer benchmark and add a shell benchmark

8 years agodocs/design: update tracerspec examples
Stefan Sauer [Sat, 16 Jan 2016 12:28:32 +0000 (13:28 +0100)]
docs/design: update tracerspec examples

8 years agodocs/design: spell checking
Stefan Sauer [Sat, 16 Jan 2016 12:27:59 +0000 (13:27 +0100)]
docs/design: spell checking

8 years agotracer: add a GFlag for the tracer scope
Stefan Sauer [Sat, 16 Jan 2016 12:24:16 +0000 (13:24 +0100)]
tracer: add a GFlag for the tracer scope

Port all tracers. Add the GST_USE_UNSTABLE_API flag to the internal CFLAGS so
that we don't have to specify this for gir, docs, mkenum, ...

8 years agooutput-selector: Make access to the active pad and last buffer thread-safe
Sebastian Dröge [Sat, 16 Jan 2016 09:48:02 +0000 (10:48 +0100)]
output-selector: Make access to the active pad and last buffer thread-safe

Both can be modified from different threads at the same time.

8 years agooutput-selector: Notify when the active-pad property is changing
Sebastian Dröge [Sat, 16 Jan 2016 09:47:36 +0000 (10:47 +0100)]
output-selector: Notify when the active-pad property is changing

8 years agotracerrecord: add a log record class
Stefan Sauer [Tue, 12 Jan 2016 13:59:04 +0000 (14:59 +0100)]
tracerrecord: add a log record class

We use this class to register tracer log entry metadata and build a log
template. With the log template we can serialize log data very efficiently.
This also simplifies the logging code, since that is now a simple varargs
function that is not exposing the implementation details.

Add docs for the new class and basic tests.

Remove the previous log handler.

Fixes #760267

8 years agonetclientclock: Check return value of g_socket_close()
Sebastian Dröge [Fri, 15 Jan 2016 08:48:32 +0000 (09:48 +0100)]
netclientclock: Check return value of g_socket_close()

CID 1348452

8 years agonetclientclock: Free data after removing it from the list
Sebastian Dröge [Fri, 15 Jan 2016 08:02:42 +0000 (09:02 +0100)]
netclientclock: Free data after removing it from the list

Does not matter here but makes Coverity more happy. It can't
know that g_list_remove() only looks at the pointer value but
does not dereference it.

CID 1348454

8 years agoGstDeviceMonitor: Clarify the behaviour of gst_device_monitor_add_filter
Nirbheek Chauhan [Thu, 14 Jan 2016 19:00:59 +0000 (00:30 +0530)]
GstDeviceMonitor: Clarify the behaviour of gst_device_monitor_add_filter

8 years agoGstDeviceMonitor: Don't remove unmatched class filters
Nirbheek Chauhan [Thu, 14 Jan 2016 18:55:05 +0000 (00:25 +0530)]
GstDeviceMonitor: Don't remove unmatched class filters

If no providers for a particular class could be found, then removing unmatched
filters would cause all devices to be returned instead which is not at all what
the user intended. We still return 0 for unmatched filters.