platform/upstream/gstreamer.git
9 years agobasesrc: Fix typo in debug message
Sebastian Dröge [Fri, 6 Mar 2015 09:59:58 +0000 (10:59 +0100)]
basesrc: Fix typo in debug message

9 years agoinfo: avoid malloc/free if log object is NULL
Tim-Philipp Müller [Thu, 5 Mar 2015 18:30:45 +0000 (18:30 +0000)]
info: avoid malloc/free if log object is NULL

9 years agoinfo: move __FILE__ path shortening into default log handler
Tim-Philipp Müller [Thu, 5 Mar 2015 17:54:04 +0000 (17:54 +0000)]
info: move __FILE__ path shortening into default log handler

Instead of always shortening the __FILE__ path, even if the
log message is not actually printed, which might happen if
the log level is activated but the category is not, only
shorten the path if we're actually going to output it and
if it looks like it needs shortening. Log handlers had no
guarantee that they would get a name instead of a path
anyway on any architecture, so it shouldn't be a problem.

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

9 years agoinfo: shorten __FILE__ on all platforms
Peter Urbanec [Thu, 26 Feb 2015 14:16:58 +0000 (01:16 +1100)]
info: shorten __FILE__ on all platforms

This is useful not only for MSVC, but also with gcc/Linux
when doing cross-compilation builds and out-of-tree builds.

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

9 years agodocs: clarify min-latency wording in part-latency.txt
Vincent Penquerc'h [Wed, 4 Mar 2015 11:02:41 +0000 (11:02 +0000)]
docs: clarify min-latency wording in part-latency.txt

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

9 years agowin32/common/gstconfig.h: removed libxml include directive
Marcin Kolny [Thu, 26 Feb 2015 13:43:25 +0000 (14:43 +0100)]
win32/common/gstconfig.h: removed libxml include directive

This is a leftover from 0.10 and not needed anymore.

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

9 years agoqueue2: Signal the sinkpad thread if a flow error happened
Sebastian Dröge [Tue, 3 Mar 2015 11:53:13 +0000 (12:53 +0100)]
queue2: Signal the sinkpad thread if a flow error happened

It might still be waiting for a query to be handled, or the queue to become
empty again for the next item. Also if downstream returns FLUSHING, flush the
queue like we do in queue and multiqueue.

9 years agoqueue: Wake up the query function on errors from the loop function
Sebastian Dröge [Tue, 3 Mar 2015 11:48:34 +0000 (12:48 +0100)]
queue: Wake up the query function on errors from the loop function

Otherwise we might wait forever for serialized queries to be handled as the
loop function is stopped and as such we will never ever dequeue the query and
handle it.

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

9 years agoutils: improve warning when linking elements without common ancestor
Tim-Philipp Müller [Mon, 2 Mar 2015 20:31:58 +0000 (20:31 +0000)]
utils: improve warning when linking  elements without common ancestor

This comes up quite a lot and it's a common mistake, so let's
try to improve the warning message a little.

9 years agoinput-selector: Drop custom latency query handling
Arun Raghavan [Thu, 26 Feb 2015 19:03:27 +0000 (00:33 +0530)]
input-selector: Drop custom latency query handling

The default latency query handler now implements this logic

9 years agogst-unsinstalled: Add ges-launch manuals path to MANPATH.
Mathieu Duponchelle [Thu, 26 Feb 2015 14:57:20 +0000 (15:57 +0100)]
gst-unsinstalled: Add ges-launch manuals path to MANPATH.

9 years agopad: Don't fail latency query on unlinked pads
Arun Raghavan [Thu, 26 Feb 2015 07:38:48 +0000 (13:08 +0530)]
pad: Don't fail latency query on unlinked pads

A single unlinked pad can make the latency query fail across the
pipeline, which is probably not desirable. Instead, we return a default
anything goes value.

Perhaps we should also be emitting a gst_message_new_latency() when a
PLAYING element has one of its pads linked.

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

9 years agobaseparse: Don't emit errors on EOS if we saw GAP events
Edward Hervey [Wed, 22 Oct 2014 14:43:43 +0000 (16:43 +0200)]
baseparse: Don't emit errors on EOS if we saw GAP events

If we saw GAP events (meaning the streams is advancing) before we get
EOS, we should not post an ERROR, since it is not fatal.

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

9 years agogstvalue: Make sure GST_FOURCC_ARGS produces printable characters
Edward Hervey [Wed, 25 Feb 2015 07:26:19 +0000 (08:26 +0100)]
gstvalue: Make sure GST_FOURCC_ARGS produces printable characters

Some systems will crash if we use non-printable characters in print/debug
statements.

Make sure that GST_FOURCC_ARGS never does that

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

9 years agogstutils: remove incorrect Fixme comment
Luis de Bethencourt [Wed, 25 Feb 2015 16:11:06 +0000 (16:11 +0000)]
gstutils: remove incorrect Fixme comment

If the checks were changed to using g_return_if_fail() the GST_DEBUG lines
about the specific failure would be lost.

9 years agogstutils: remove obsolete Fixme comment
Luis de Bethencourt [Wed, 25 Feb 2015 16:02:39 +0000 (16:02 +0000)]
gstutils: remove obsolete Fixme comment

gst_pad_link_filtered() is very long gone and current
gst_element_link_pads_filtered() doesn't apply to this Fixme comment.

9 years agogst-uninstalled: add adaptivedemux paths from -bad
Matthieu Bouron [Tue, 24 Feb 2015 20:58:00 +0000 (21:58 +0100)]
gst-uninstalled: add adaptivedemux paths from -bad

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

9 years agodocs: remove dead link
Luis de Bethencourt [Tue, 24 Feb 2015 18:14:47 +0000 (18:14 +0000)]
docs: remove dead link

Remove dead link to wiki page for SubmittingPatches

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

9 years agohelpers: Fix install of completion-helper.
Mathieu Duponchelle [Tue, 24 Feb 2015 13:07:54 +0000 (14:07 +0100)]
helpers: Fix install of completion-helper.

By applying the supplied transformation to the program name,
for example --program-prefix.

9 years agocompletion-helper: Add missing DESTDIR
Nicolas Dufresne [Mon, 23 Feb 2015 21:39:43 +0000 (16:39 -0500)]
completion-helper: Add missing DESTDIR

Otherwise doing "make install DESTDIR" will try to write to
/usr/share/...

9 years agocompletion-helper: Add filtering by klass and sink caps.
Mathieu Duponchelle [Mon, 23 Feb 2015 20:17:16 +0000 (21:17 +0100)]
completion-helper: Add filtering by klass and sink caps.

9 years agomultiqueue: avoid returning downstream GST_FLOW_EOS from previous segment to current...
Mark Nauwelaerts [Sat, 21 Feb 2015 16:13:26 +0000 (17:13 +0100)]
multiqueue: avoid returning downstream GST_FLOW_EOS from previous segment to current upstream segment

9 years agoflowcombiner: fix documentation comment typo
Mark Nauwelaerts [Sun, 22 Feb 2015 09:02:25 +0000 (10:02 +0100)]
flowcombiner: fix documentation comment typo

9 years agobaseparse: drain segment upon SEGMENT_DONE to ensure proper event order
Mark Nauwelaerts [Sun, 22 Feb 2015 09:01:33 +0000 (10:01 +0100)]
baseparse: drain segment upon SEGMENT_DONE to ensure proper event order

9 years agobaseparse: clean up some bogus commented code
Mark Nauwelaerts [Sun, 22 Feb 2015 09:01:50 +0000 (10:01 +0100)]
baseparse: clean up some bogus commented code

9 years agocompletion-helper: Append $(EXEEXT) to the name of the moved file.
Mathieu Duponchelle [Mon, 23 Feb 2015 18:10:08 +0000 (19:10 +0100)]
completion-helper: Append $(EXEEXT) to the name of the moved file.

Fixes the build on Windows
(https://ci.gstreamer.net/job/cerbero-cross-mingw32/1742/console)

9 years agoFix distcheck
Tim-Philipp Müller [Mon, 23 Feb 2015 17:23:33 +0000 (17:23 +0000)]
Fix distcheck

Disable bash completion during distchecking otherwise
it may try to install into a system path and fail.

9 years agoDist new data directory
Tim-Philipp Müller [Mon, 23 Feb 2015 17:16:45 +0000 (17:16 +0000)]
Dist new data directory

Fixes 'make dist'

9 years agobash-completion: Implement in a different way.
Mathieu Duponchelle [Fri, 20 Feb 2015 21:04:22 +0000 (22:04 +0100)]
bash-completion: Implement in a different way.

+ Gets installed
+ Uses a helper tool, gst-completion-helper, installed in
  bash-completions/helpers.
+ Adds a common script that other tools can source.

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

9 years agoGstDeviceMonitor: keep alphabetical order
Luis de Bethencourt [Mon, 23 Feb 2015 12:08:49 +0000 (12:08 +0000)]
GstDeviceMonitor: keep alphabetical order

9 years agoRevert "element: set pads need-parent flag to false when removing"
Olivier Crête [Fri, 20 Feb 2015 21:22:23 +0000 (16:22 -0500)]
Revert "element: set pads need-parent flag to false when removing"

This reverts commit 1911554cff2c4a11772b541a8215a80c728b1097.

This breaks the functionality of GST_PAD_FLAG_NEED_PARENT, the reason for this
flag is that if a pad is removed from a running element, you don't want
functions (such as chain or event) to be called on the pad without a parent set.
This can happen if you remove a request or sometimes pad from a running element.

I don't see the code that caused this in tsdemux, but if it needs to unset
the flag on remove, it should do it itself and then make sure that the parent
exists in any pad function.

9 years agocheck: cast element in ASSERT_SET_STATE.
Mathieu Duponchelle [Thu, 19 Feb 2015 11:17:15 +0000 (12:17 +0100)]
check: cast element in ASSERT_SET_STATE.

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

9 years agoinputselector: Use a separate query for upstream pads and let it fail if one upstream...
Sebastian Dröge [Wed, 18 Feb 2015 23:16:52 +0000 (01:16 +0200)]
inputselector: Use a separate query for upstream pads and let it fail if one upstream query fails

9 years agopad: If the latency query fails for one of the pads, it fails overall
Sebastian Dröge [Wed, 18 Feb 2015 23:12:49 +0000 (01:12 +0200)]
pad: If the latency query fails for one of the pads, it fails overall

9 years agoqueue: Remove unused boolean parameter from internal functions
Sebastian Dröge [Wed, 18 Feb 2015 09:05:19 +0000 (11:05 +0200)]
queue: Remove unused boolean parameter from internal functions

9 years agoqueue: Add unit test for buffer list and time level handling
Sebastian Dröge [Tue, 17 Feb 2015 10:11:43 +0000 (12:11 +0200)]
queue: Add unit test for buffer list and time level handling

9 years agoqueue: Add support for buffer lists
Sebastian Dröge [Tue, 17 Feb 2015 09:44:40 +0000 (11:44 +0200)]
queue: Add support for buffer lists

9 years agoqueue2: Count the number of buffers in a buffer list for updating the current levels
Sebastian Dröge [Tue, 17 Feb 2015 09:41:50 +0000 (11:41 +0200)]
queue2: Count the number of buffers in a buffer list for updating the current levels

instead of just assuming one buffer.

9 years agomessage: revive async delivery message before bus thread can run unref
Tim-Philipp Müller [Tue, 17 Feb 2015 20:47:23 +0000 (20:47 +0000)]
message: revive async delivery message before bus thread can run unref

Revive message in dispose handler before we signal the bus thread,
otherwise the bus thread might be woken up and unref the message
before we had a chance to revive it yet.

9 years agotests: bus: add unit test for async message delivery
Tim-Philipp Müller [Mon, 16 Feb 2015 23:02:40 +0000 (23:02 +0000)]
tests: bus: add unit test for async message delivery

9 years agomessage, bus: fix async message delivery
Tim-Philipp Müller [Mon, 16 Feb 2015 22:39:42 +0000 (22:39 +0000)]
message, bus: fix async message delivery

Async message delivery (where the posting thread gets blocked
until the message has been processed and/or freed) was pretty
much completely broken.

For one, don't use GMutex implementation details to check
whether a mutex has been initialized or not, esp. not
implementation details that don't hold true any more with
newer GLib versions where atomic ops and futexes are used
(spotted by Josep Torras). This led to async message
delivery no longer blocking with newer GLib versions on
Linux.

Secondly, after async delivery don't free mutex/GCond
embedded inside the just-freed message structure.

Use a new (private) mini object flag to signal GstMessage
that the message being freed is part of an async delivery
on the bus so that the dispose handler can keep the message
alive and the bus can free it once it's done cleaning up
stuff.

9 years agoinfo: nicer buffer offset printing when offsets are not set
Tim-Philipp Müller [Mon, 16 Feb 2015 19:24:44 +0000 (19:24 +0000)]
info: nicer buffer offset printing when offsets are not set

Print unset offsets as 'none' instead of humongous numbers,
for better readability.

9 years agopad: Only initialize GValue to a type once, not on every retry
Sebastian Dröge [Mon, 16 Feb 2015 09:35:41 +0000 (11:35 +0200)]
pad: Only initialize GValue to a type once, not on every retry

Otherwise we'll get warnings like this:
cannot initialize GValue with type 'gboolean', the value has already been initialized as 'gboolean'

9 years agogstutils: check uri before using it in gst_pad_create_stream_id_internal
Matthieu Bouron [Sat, 14 Feb 2015 11:15:03 +0000 (12:15 +0100)]
gstutils: check uri before using it in gst_pad_create_stream_id_internal

If an element implements wrongly the URI query and set the uri to NULL and if
the element calls gst_pad_create_stream_id at some point, it will lead to crash
as the uri is not supposed to be NULL in the gst_pad_create_stream_id_internal
function.

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

9 years agotimedvaluecontrolsource: Do not wrongly send value-removed
Thibault Saunier [Fri, 13 Feb 2015 18:43:24 +0000 (19:43 +0100)]
timedvaluecontrolsource: Do not wrongly send value-removed

And avoid freeing something we do not own

9 years agogst-uninstalled: Set GST_VALIDATE_PLUGIN_PATH
Thibault Saunier [Wed, 4 Feb 2015 14:06:17 +0000 (15:06 +0100)]
gst-uninstalled: Set GST_VALIDATE_PLUGIN_PATH

9 years agobasesrc: fix documentation and debug message after latency updates
Thiago Santos [Thu, 12 Feb 2015 16:34:49 +0000 (13:34 -0300)]
basesrc: fix documentation and debug message after latency updates

Changes docs and message according to latency handling fix

9 years agofdsrc: use g_ascii_strtoull() to convert size string in uri
Frédéric Wang [Thu, 12 Feb 2015 14:50:15 +0000 (14:50 +0000)]
fdsrc: use g_ascii_strtoull() to convert size string in uri

sscanf() doesn't handle G_GUINT64_FORMAT well on mingw64 it
appears, leading to compiler warnings.

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

9 years agopad: gst_pad_iterate_internal_links() can return NULL if there are none
Sebastian Dröge [Thu, 12 Feb 2015 12:03:15 +0000 (14:03 +0200)]
pad: gst_pad_iterate_internal_links() can return NULL if there are none

9 years agopad: Return NULL instead of FALSE for pointers
Sebastian Dröge [Thu, 12 Feb 2015 12:03:03 +0000 (14:03 +0200)]
pad: Return NULL instead of FALSE for pointers

9 years agopad: Implement more useful default handling for the LATENCY query
Sebastian Dröge [Thu, 12 Feb 2015 11:55:36 +0000 (13:55 +0200)]
pad: Implement more useful default handling for the LATENCY query

Before we just took the values from the first pad that succeded the query,
now we accumulate the results of every sinkpad properly and return that
result.

9 years agodesign/part-latency: Minor logic fix
Sebastian Dröge [Thu, 12 Feb 2015 09:26:26 +0000 (11:26 +0200)]
design/part-latency: Minor logic fix

The maximum latency will be the element's minimum latency or bigger,
not bigger than the element's minimum latency or bigger.

9 years agoImprove and fix LATENCY query handling
Sebastian Dröge [Wed, 11 Feb 2015 12:41:56 +0000 (13:41 +0100)]
Improve and fix LATENCY query handling

This now follows the design docs everywhere.

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

9 years agodesign/part-latency: Add more details about min/max latency handling
Sebastian Dröge [Wed, 11 Feb 2015 11:20:39 +0000 (12:20 +0100)]
design/part-latency: Add more details about min/max latency handling

These docs missed many details that were not obvious and because of that
handled in a few different, incompatible ways in different elements and base
classes.

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

9 years agotests: Fix clock regression test
Jan Schmidt [Fri, 6 Feb 2015 18:16:23 +0000 (05:16 +1100)]
tests: Fix clock regression test

Fix up the values the test is checking for now that
the clock regression returns parameters starting from
the end of the regression range.

9 years agonetclock: Don't update the clock when it desynch
Jan Schmidt [Fri, 6 Feb 2015 17:22:22 +0000 (04:22 +1100)]
netclock: Don't update the clock when it desynch

Add a hold off when the clock calibration suddenly loses synch,
as it may be a glitch, but also make sure we update if it stays
desynched for more than a few seconds

9 years agonetclock: Make the RTT average ignore large values more forcefully.
Jan Schmidt [Thu, 5 Feb 2015 19:07:43 +0000 (06:07 +1100)]
netclock: Make the RTT average ignore large values more forcefully.

Smooth larger RTTs a little harder, so excessively large values
perturb the average a bit less, and therefore get filtered out
more strongly

9 years agoclock: Make linear regression x/y base start from maximum observation.
Jan Schmidt [Thu, 5 Feb 2015 11:55:39 +0000 (22:55 +1100)]
clock: Make linear regression x/y base start from maximum observation.

Project the results of the linear regression to the end of the
regression range, so they're more directly comparable to results
going forward

9 years agopad: add "offset" property to go with gst_pad_set_offset()
Tim-Philipp Müller [Thu, 5 Feb 2015 13:49:47 +0000 (13:49 +0000)]
pad: add "offset" property to go with gst_pad_set_offset()

So we can set the offset via gst-launch.

9 years agoplugin: add more detail to logging when not loading a plugin
Stefan Sauer [Mon, 2 Feb 2015 07:22:47 +0000 (08:22 +0100)]
plugin: add more detail to logging when not loading a plugin

Improve the log messages and add e.g the version number we checked.

9 years agogstpad: Fix a typo in a docstring.
Jan Schmidt [Mon, 2 Feb 2015 06:37:44 +0000 (17:37 +1100)]
gstpad: Fix a typo in a docstring.

9 years agobuild: Check that _MSC_VER macro is defined
Nicolas Dufresne [Sun, 1 Feb 2015 19:23:26 +0000 (14:23 -0500)]
build: Check that _MSC_VER macro is defined

9 years agotask: Add thread name support on OS X and iOS
Ilya Konstantinov [Sun, 1 Feb 2015 01:39:03 +0000 (03:39 +0200)]
task: Add thread name support on OS X and iOS

9 years agoclock: Don't use invalid objects for GST_DEBUG_OBJECT()
Sebastian Dröge [Thu, 29 Jan 2015 15:37:07 +0000 (16:37 +0100)]
clock: Don't use invalid objects for GST_DEBUG_OBJECT()

Not sure what "clock" actually is here, it must be something defined by one of
the headers that are included.

9 years agobuffer: Document that gst_buffer_copy_region() accepts -1 as size to copy until the end
Sebastian Dröge [Thu, 29 Jan 2015 11:10:18 +0000 (12:10 +0100)]
buffer: Document that gst_buffer_copy_region() accepts -1 as size to copy until the end

It's just a wrapper around gst_buffer_copy_into() after all.

9 years agosegment: Add new skip flags for clarifying trick mode playback.
Jan Schmidt [Tue, 9 Dec 2014 05:28:56 +0000 (16:28 +1100)]
segment: Add new skip flags for clarifying trick mode playback.

Add GST_SEEK_FLAG_TRICKMODE_KEY_UNITS and
GST_SEEK_FLAG_TRICKMODE_NO_AUDIO, and rename GST_SEEK_FLAG_SKIP
to GST_SEEK_FLAG_TRICKMODE (with backwards compat define).

Do the same for the corresponding SEGMENT flags.

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

9 years agocheck: fix another typo in the docs
Stefan Sauer [Fri, 23 Jan 2015 07:59:27 +0000 (08:59 +0100)]
check: fix another typo in the docs

9 years agouri: Fix indention
Sebastian Dröge [Thu, 22 Jan 2015 21:10:06 +0000 (23:10 +0200)]
uri: Fix indention

9 years agouri: Fix new URI parsing tests based on GNet's
David Waring [Wed, 21 Jan 2015 14:10:02 +0000 (14:10 +0000)]
uri: Fix new URI parsing tests based on GNet's

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

9 years agouri: Fix parsing issues
David Waring [Wed, 21 Jan 2015 14:09:45 +0000 (14:09 +0000)]
uri: Fix parsing issues

Make host IPs in square brackets store only the IP, i.e. strip the brackets.
Strip leading whitespace characters in URIs.
Fail parsing when host part does not match any valid formats from RFC3986.

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

9 years agouri: Add parsing unit test based on GNet's
Sebastian Dröge [Mon, 19 Jan 2015 18:15:32 +0000 (19:15 +0100)]
uri: Add parsing unit test based on GNet's

Plus some new URIs to parse.

https://git.gnome.org/browse/archive/gnet/plain/tests/check/gnet/gneturi.c

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

9 years agocheck: Fix doc of GST_CHECKS and GST_CHECKS_IGNORE
Heinrich Fink [Thu, 22 Jan 2015 10:29:18 +0000 (11:29 +0100)]
check: Fix doc of GST_CHECKS and GST_CHECKS_IGNORE

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

9 years agocheck: Add _fail_unless() compatibility function around _ck_assert_failed()
Sebastian Dröge [Wed, 21 Jan 2015 17:07:09 +0000 (18:07 +0100)]
check: Add _fail_unless() compatibility function around _ck_assert_failed()

We exported this in < 1.5 and it was automatically used by many macros
from the header. Keep it exported for now.

9 years agogstpad: Inline apply_pad_offset()
Edward Hervey [Wed, 21 Jan 2015 13:12:22 +0000 (14:12 +0100)]
gstpad: Inline apply_pad_offset()

Avoid doing a function call for something which will mostly be unused

9 years agogstpad: Fix debug message
Edward Hervey [Wed, 21 Jan 2015 13:10:06 +0000 (14:10 +0100)]
gstpad: Fix debug message

9 years agogstpad: Fix PROBE_NO_DATA macro
Edward Hervey [Wed, 21 Jan 2015 10:45:41 +0000 (11:45 +0100)]
gstpad: Fix PROBE_NO_DATA macro

The problem was that the macro was always used with 'ret' as the defaultval
argument.

This would result in the macro eventually expanding to
    if (G_UNLIKELY (ret != ret && ret != GST_FLOW_OK))

... ret != ret will always fail, and therefore we'd never call the
following line.

Instead of that, store the previous value locally for comparision

9 years agonetclock: Fix docs typo. Clock bus messages are GST_MESSAGE_ELEMENT
Jan Schmidt [Wed, 21 Jan 2015 11:44:59 +0000 (22:44 +1100)]
netclock: Fix docs typo. Clock bus messages are GST_MESSAGE_ELEMENT

9 years agonetclock: Implement rate limits for polling and fix up skew limits
Jan Schmidt [Thu, 15 Jan 2015 11:32:28 +0000 (22:32 +1100)]
netclock: Implement rate limits for polling and fix up skew limits

Add the minimum-update-interval property to the clock, with a default
of 50ms and don't send polling requests faster than that. That helps to
ensure we spread the initial observations out a little - startup takes
a little longer, but tracking is more stable.

Move the discont skew limiting code inside an if statement, so that
it's only done when the linear regression succeeds and the clock
parameters might actually change.

9 years agoclock: Improve slaving regression.
Jan Schmidt [Wed, 14 Jan 2015 23:05:32 +0000 (10:05 +1100)]
clock: Improve slaving regression.

Add domain checks for the input values, and a variable precision
calculation that loops if necessary to ensure we never overflow
accumulators and then silently produce garbage results.

Make the (non-public) linear regression function available for
unit testing by putting it in a separate source file the test
can include. Add a unit test that the new regression function
produces sensible results for several inputs taken from real-world
captures.

9 years agonetclock: Add simple network clock server and client examples
Jan Schmidt [Sat, 10 Jan 2015 10:42:00 +0000 (21:42 +1100)]
netclock: Add simple network clock server and client examples

9 years agonetclock: Implement sending statistic bus messages and discont limits
Jan Schmidt [Sat, 10 Jan 2015 10:42:00 +0000 (21:42 +1100)]
netclock: Implement sending statistic bus messages and discont limits

Allow setting a GstBus on the network clock client
via a new 'bus' object property. If a bus is set, the
clock will output an element message containing statistics
about new clock observations and the clock correlation.

When the local clock is synchronised with the remote, limit the
maximum jump in the clock at any point to be one average RTT to
the server. Also, publish in the bus message whether we are
synched with the remote or not.

9 years agoclock: Add gst_clock_add_observation_unapplied()
Jan Schmidt [Sat, 10 Jan 2015 10:42:00 +0000 (21:42 +1100)]
clock: Add gst_clock_add_observation_unapplied()

gst_clock_add_observation_unapplied() adds a new master/slave clock
observation and runs the regression without activating the new
calibration results.

9 years agoclock: Add gst_clock_adjust_with_calibration()
Jan Schmidt [Tue, 16 Dec 2014 11:51:22 +0000 (22:51 +1100)]
clock: Add gst_clock_adjust_with_calibration()

gst_clock_adjust_with_calibration() uses directly passed calibration
parameters, instead of using the clock's current calibration,
allowing for calculations using pending or old calibration params

9 years agooutput-selector: Constify negotiation mode GEnumValue table
Sebastian Dröge [Wed, 21 Jan 2015 08:45:16 +0000 (09:45 +0100)]
output-selector: Constify negotiation mode GEnumValue table

9 years agodocs: fix typo in GstEvent docs
Thiago Santos [Tue, 20 Jan 2015 13:35:47 +0000 (10:35 -0300)]
docs: fix typo in GstEvent docs

send -> sent

9 years agoscripts: Remove gnonlin from the scripts
Thibault Saunier [Tue, 20 Jan 2015 08:19:10 +0000 (09:19 +0100)]
scripts: Remove gnonlin from the scripts

It is not maintain anymore and its feature are now inside the GStreamer
Editing Services (for the time being).

9 years agobin: Pass structs we plan to modify around by pointer, not value
Sebastian Dröge [Fri, 16 Jan 2015 18:17:31 +0000 (19:17 +0100)]
bin: Pass structs we plan to modify around by pointer, not value

Otherwise the struct is going to be copied, which is not very efficient. And
also has the nice side effect that modifications of the struct might be
done in a copy, and we later use the original struct without the changes.

Caused LATENCY queries to always return the initialization values in one of my
tests, instead of the actual values reported by child elements.

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

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

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

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

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

CID 1262286

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

From f2c6b95 to bc76a8b

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

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

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

Not active by default though.

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

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

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

Also check for an empty strv.

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

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

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

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

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

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

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

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

GstIterator no longer returns a refcounted gpointer