platform/upstream/gstreamer.git
9 years agonetclientclock: Use the new GST_CLOCK_FLAG_NEEDS_STARTUP_SYNC flag
Sebastian Dröge [Mon, 8 Jun 2015 15:10:56 +0000 (17:10 +0200)]
netclientclock: Use the new GST_CLOCK_FLAG_NEEDS_STARTUP_SYNC flag

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

9 years agonetclientclock: Make the clock a wrapper clock around an internal clock
Sebastian Dröge [Mon, 8 Jun 2015 15:04:55 +0000 (17:04 +0200)]
netclientclock: Make the clock a wrapper clock around an internal clock

The internal clock is only used for slaving against the remote clock, while
the user-facing GstClock can be additionally slaved to another clock if
desired. By default, if no master clock is set, this has exactly the same
behaviour as before. If a master clock is set (which was not allowed before),
the user-facing clock is reporting the remote clock as internal time and
slaves this to the master clock.

This also removes the weirdness that the internal time of the netclientclock
was always the system clock time, and not the remote clock time.

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

9 years agoAutomatic update of common submodule
Stefan Sauer [Mon, 8 Jun 2015 21:07:40 +0000 (23:07 +0200)]
Automatic update of common submodule

From d37af32 to d9a3353

9 years agotests: fakesink: fix string leak in unit test
Tim-Philipp Müller [Mon, 8 Jun 2015 19:00:47 +0000 (20:00 +0100)]
tests: fakesink: fix string leak in unit test

9 years agofilesink: Fix Windows build by using _commit instead of fsync.
Jan Schmidt [Mon, 8 Jun 2015 14:52:34 +0000 (00:52 +1000)]
filesink: Fix Windows build by using _commit instead of fsync.

9 years agoptp: Make sure to always initialize the variables we put into the statistics structur...
Sebastian Dröge [Mon, 8 Jun 2015 10:22:56 +0000 (12:22 +0200)]
ptp: Make sure to always initialize the variables we put into the statistics structure later

CID 1304676, 1304677, 1304678, 1304679.

9 years agoptp: Ensure that not too much is read from or written to struct ifreq.ifr_name
Sebastian Dröge [Mon, 8 Jun 2015 10:02:39 +0000 (12:02 +0200)]
ptp: Ensure that not too much is read from or written to struct ifreq.ifr_name

9 years agobasetransform: Add Since markers for new vfuncs
Jan Schmidt [Mon, 8 Jun 2015 09:33:03 +0000 (19:33 +1000)]
basetransform: Add Since markers for new vfuncs

Add Since: 1.6 markers for the new submit_input_buffer() and
generate_output() vfuncs

9 years agobasetransform: Split input buffer processing from output generation
Jan Schmidt [Fri, 22 May 2015 15:08:29 +0000 (01:08 +1000)]
basetransform: Split input buffer processing from output generation

Allow for sub-classes which want to collate incoming buffers or
split them into multiple output buffers by separating the input
buffer submission from output buffer generation and allowing
for looping of one of the phases depending on pull or push mode
operation.

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

9 years agoAdd GST_BUFFER_FLAG_SYNC_AFTER flag, and implement in filesink.
Jan Schmidt [Thu, 16 Apr 2015 00:32:02 +0000 (10:32 +1000)]
Add GST_BUFFER_FLAG_SYNC_AFTER flag, and implement in filesink.

Makes it possible to get filesink to fsync() after rendering
a buffer.

9 years agoptp: Fix build on Windows, and in general the GI build when PTP support was not available
Руслан Ижбулатов [Mon, 8 Jun 2015 08:46:24 +0000 (10:46 +0200)]
ptp: Fix build on Windows, and in general the GI build when PTP support was not available

It's not going to work on Windows still, the helper process needs to be
ported.

9 years agoAutomatic update of common submodule
Stefan Sauer [Sun, 7 Jun 2015 21:05:53 +0000 (23:05 +0200)]
Automatic update of common submodule

From 21ba2e5 to d37af32

9 years agoAutomatic update of common submodule
Stefan Sauer [Sun, 7 Jun 2015 15:31:50 +0000 (17:31 +0200)]
Automatic update of common submodule

From c408583 to 21ba2e5

9 years agodocs: remove variables that we define in the snippet from common
Stefan Sauer [Sun, 7 Jun 2015 14:58:40 +0000 (16:58 +0200)]
docs: remove variables that we define in the snippet from common

This is syncing our Makefile.am with upstream gtkdoc.

9 years agoAutomatic update of common submodule
Stefan Sauer [Sun, 7 Jun 2015 15:16:06 +0000 (17:16 +0200)]
Automatic update of common submodule

From d676993 to c408583

9 years agoBack to development
Sebastian Dröge [Sun, 7 Jun 2015 14:44:26 +0000 (16:44 +0200)]
Back to development

9 years agonetclientclock: The NTP poll interval is a signed int8, not unsigned
Sebastian Dröge [Sun, 7 Jun 2015 08:52:33 +0000 (10:52 +0200)]
netclientclock: The NTP poll interval is a signed int8, not unsigned

9 years agoRelease 1.5.1
Sebastian Dröge [Sun, 7 Jun 2015 07:41:28 +0000 (09:41 +0200)]
Release 1.5.1

9 years agopo: Update translations
Sebastian Dröge [Sun, 7 Jun 2015 07:33:52 +0000 (09:33 +0200)]
po: Update translations

9 years agonetclientclock: Add Since marker to the docs for gst_ntp_clock_new()
Sebastian Dröge [Sun, 7 Jun 2015 07:32:39 +0000 (09:32 +0200)]
netclientclock: Add Since marker to the docs for gst_ntp_clock_new()

9 years agoUpdate .po files
Sebastian Dröge [Sun, 7 Jun 2015 07:32:12 +0000 (09:32 +0200)]
Update .po files

9 years agomemory: Fix compiler warnings in unit test
Sebastian Dröge [Sun, 7 Jun 2015 07:08:35 +0000 (09:08 +0200)]
memory: Fix compiler warnings in unit test

gst/gstmemory.c:570:38: error: implicit conversion from enumeration type 'GstMapFlags' to different enumeration
      type 'GstLockFlags' [-Werror,-Wenum-conversion]
  fail_unless (gst_memory_lock (mem, GST_MAP_WRITE));
               ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~

9 years agoptpclock: Use the current path delay for calculation the local/remote clock times
Sebastian Dröge [Sun, 7 Jun 2015 06:59:23 +0000 (08:59 +0200)]
ptpclock: Use the current path delay for calculation the local/remote clock times

The mean might currently be changing, and the current path delay is the
closest we can get to the actual delay around the current SYNC message.

9 years agonetclientclock: Add some copyright stuff
Sebastian Dröge [Sat, 6 Jun 2015 21:05:32 +0000 (23:05 +0200)]
netclientclock: Add some copyright stuff

9 years agonetclientclock: Add NTPv4 support
Sebastian Dröge [Sat, 6 Jun 2015 19:43:05 +0000 (21:43 +0200)]
netclientclock: Add NTPv4 support

This uses all of the netclientclock code, except for the generation and
parsing of packets. Unfortunately some code duplication was necessary
because GstNetTimePacket is public API and couldn't be extended easily
to support NTPv4 packets without breaking API/ABI.

9 years agonetclientclock: Preparation for NTPv4 support
Sebastian Dröge [Sat, 6 Jun 2015 18:39:47 +0000 (20:39 +0200)]
netclientclock: Preparation for NTPv4 support

We extend our calculations to work with local send time, remote receive time,
remote send time and local receive time. For the netclientclock protocol,
remote receive and send time are assumed to be the same value.

For the results, this modified calculation makes absolutely no difference
unless the two remote times are different.

9 years agonetclientclock. Fix last commit
Sebastian Dröge [Sat, 6 Jun 2015 17:01:06 +0000 (19:01 +0200)]
netclientclock. Fix last commit

Apparently I failed at git add -i.

9 years agonetclientclock: Make gst_net_client_clock_new() a thing wrapper around g_object_new()
Sebastian Dröge [Sat, 6 Jun 2015 16:42:18 +0000 (18:42 +0200)]
netclientclock: Make gst_net_client_clock_new() a thing wrapper around g_object_new()

Bindings will like this, and also it fixes a FIXME comment.

9 years agoptpclock: Use #define everywhere instead of G_N_ELEMENTS()
Sebastian Dröge [Sat, 6 Jun 2015 12:34:39 +0000 (14:34 +0200)]
ptpclock: Use #define everywhere instead of G_N_ELEMENTS()

9 years agonetclientclock: Filter RTTs based on the median of the last RTTs before considering...
Sebastian Dröge [Sat, 6 Jun 2015 12:31:16 +0000 (14:31 +0200)]
netclientclock: Filter RTTs based on the median of the last RTTs before considering them at all

This improves accuracy on wifi or similar networks, where the RTT can go very
high up for a single observation every now and then. Without filtering them
away completely, they would still still modify the average RTT, and thus all
clock estimations.

9 years agoptpclock: Use a system clock for the time observations instead of gst_util_get_timest...
Sebastian Dröge [Sat, 6 Jun 2015 12:19:21 +0000 (14:19 +0200)]
ptpclock: Use a system clock for the time observations instead of gst_util_get_timestamp()

They don't necessarily use the same underlying clocks (e.g. on Windows), or
might be configured to a different clock type (monotonic vs. real time clock).

We need the values a clean system clock returns, as those are the values used
by the internal clocks.

9 years agoptpclock: Fix documentation a bit
Sebastian Dröge [Sat, 6 Jun 2015 10:35:58 +0000 (12:35 +0200)]
ptpclock: Fix documentation a bit

9 years agotests: fakesink: test notify::last-message and deep-notify::last-message
Tim-Philipp Müller [Fri, 5 Jun 2015 18:35:29 +0000 (19:35 +0100)]
tests: fakesink: test notify::last-message and deep-notify::last-message

deep-notify::last-message seems to cause some problems, so disable for now.

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

9 years agotypefind: Post an error if we can't typefind the data until EOS
Sebastian Dröge [Fri, 5 Jun 2015 08:02:04 +0000 (10:02 +0200)]
typefind: Post an error if we can't typefind the data until EOS

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

9 years agoptp-helper: Make sure to use g_poll() for the main context
Sebastian Dröge [Thu, 4 Jun 2015 17:05:44 +0000 (19:05 +0200)]
ptp-helper: Make sure to use g_poll() for the main context

The modified main context from https://bugzilla.gnome.org/show_bug.cgi?id=741054
somehow calls setugid(), which abort()s setuid root applications on OSX.

9 years agoptp-helper: Make sure that we are running setuid root if configured that way
Sebastian Dröge [Thu, 4 Jun 2015 16:32:14 +0000 (18:32 +0200)]
ptp-helper: Make sure that we are running setuid root if configured that way

9 years agoptp-helper: Fix interface listing and MAC retrieval on OSX
Sebastian Dröge [Thu, 4 Jun 2015 16:00:50 +0000 (18:00 +0200)]
ptp-helper: Fix interface listing and MAC retrieval on OSX

9 years agogst-indent: Add support for gindent as executable name
Vivia Nikolaidou [Wed, 3 Jun 2015 16:04:15 +0000 (19:04 +0300)]
gst-indent: Add support for gindent as executable name

gst-indent used to support gnuindent and indent as executable names.
However, on OSX one can "brew install gnu-indent" and then the
executable name will be gindent. Added support for that.

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

9 years agogitignore: add libs/gst/helpers/gst-ptp-helper
Luis de Bethencourt [Wed, 3 Jun 2015 15:42:57 +0000 (16:42 +0100)]
gitignore: add libs/gst/helpers/gst-ptp-helper

9 years agoptp: ignore permission errors in Makefile
Luis de Bethencourt [Wed, 3 Jun 2015 15:34:58 +0000 (16:34 +0100)]
ptp: ignore permission errors in Makefile

To satisfy the buildslaves ignore permission errors in chown, chmod and setcap

9 years agoptp: Don't use SIOCGIFHWADDR on Apple
Sebastian Dröge [Wed, 3 Jun 2015 15:06:09 +0000 (17:06 +0200)]
ptp: Don't use SIOCGIFHWADDR on Apple

Just #ifdef the code for now, this should be implemented around
IOKit later instead of using ioctls.

9 years agobuild: make install-exec-hooks depend on install-helpersPROGRAMS
Philippe Normand [Wed, 3 Jun 2015 14:28:44 +0000 (16:28 +0200)]
build: make install-exec-hooks depend on install-helpersPROGRAMS

To avoid race conditions where make would try to change ownership and
permissions of the not-yet-installed ptp helper.

9 years agoptp: Fix debug output to print the difference instead of absolute values
Sebastian Dröge [Wed, 3 Jun 2015 14:08:43 +0000 (16:08 +0200)]
ptp: Fix debug output to print the difference instead of absolute values

9 years agoptpclock: fix compilation
Wim Taymans [Wed, 3 Jun 2015 13:22:31 +0000 (15:22 +0200)]
ptpclock: fix compilation

Don't put code between declarations.
Fix use of uninitialized variables

9 years agoptp: Add median based pre-filtering of delays
Sebastian Dröge [Wed, 3 Jun 2015 09:04:48 +0000 (11:04 +0200)]
ptp: Add median based pre-filtering of delays

If the delay measurement is too far away from the median of the window of last
delay measurements, we discard it. This increases accuracy on wifi a lot.

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

9 years agoptp: Add #define to only use SYNC messages for which we can send DELAY_REQ
Sebastian Dröge [Tue, 2 Jun 2015 13:24:06 +0000 (15:24 +0200)]
ptp: Add #define to only use SYNC messages for which we can send DELAY_REQ

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

9 years agoptp: Add #defines to enable/disable improvements for unreliable networks
Sebastian Dröge [Fri, 15 May 2015 13:58:51 +0000 (16:58 +0300)]
ptp: Add #defines to enable/disable improvements for unreliable networks

We should do some more measurements with all these and check how much sense
they make for PTP. Also enabling them means not following IEEE1588-2008 by the
letter anymore.

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

9 years agoptp: Initial implementation of a PTP clock
Sebastian Dröge [Thu, 14 May 2015 10:18:25 +0000 (12:18 +0200)]
ptp: Initial implementation of a PTP clock

GstPtpClock implements a PTP (IEEE1588:2008) ordinary clock in
slave-only mode, that allows a GStreamer pipeline to synchronize
to a PTP network clock in some specific domain.

The PTP subsystem can be initialized with gst_ptp_init(), which then
starts a helper process to do the actual communication via the PTP
ports. This is required as PTP listens on ports < 1024 and thus
requires special privileges. Once this helper process is started, the
main process will synchronize to all PTP domains that are detected on
the selected interfaces.

gst_ptp_clock_new() then allows to create a GstClock that provides the
PTP time from a master clock inside a specific PTP domain. This clock
will only return valid timestamps once the timestamps in the PTP domain
are known. To check this, the GstPtpClock::internal-clock property and
the related notify::clock signal can be used. Once the internal clock
is not NULL, the PTP domain's time is known. Alternatively you can wait
for this with gst_ptp_clock_wait_ready().

To gather statistics about the PTP clock synchronization,
gst_ptp_statistics_callback_add() can be used. This gives the
application the possibility to collect all kinds of statistics
from the clock synchronization.

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

9 years agoclock: Add GST_CLOCK_FLAG_NEEDS_STARTUP_SYNC and related API
Sebastian Dröge [Wed, 3 Jun 2015 11:16:15 +0000 (13:16 +0200)]
clock: Add GST_CLOCK_FLAG_NEEDS_STARTUP_SYNC and related API

gst_clock_wait_for_sync(), gst_clock_is_synced() and gst_clock_set_synced()
plus a signal to asynchronously wait for the clock to be synced.

This can be used by clocks to signal that they need initial synchronization
before they can report any time, and that this synchronization can also get
completely lost at some point. Network clocks, like the GStreamer
netclientclock, NTP or PTP clocks are examples for clocks where this is useful
to have as they can't report any time at all before they're synced.

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

9 years agomemory: provide a mem_unmap function that takes the flags to unmap
Matthew Waters [Wed, 3 Jun 2015 08:03:36 +0000 (18:03 +1000)]
memory: provide a mem_unmap function that takes the flags to unmap

There are gstmemory's available that operate in two memory domains
and need to ensure consistent access between these domains.

Imagine a scenario where e.g. the GLMemory is mapped twice in both
the GPU and the CPU domain.  On unmap or a subsequent map, it would
like to ensure that the most recent data is available in the memory
domain requested.  Either by flushing the writes and/or initiating a
DMA transfer.  Without knowing which domain is being unmapped, the
memory does not know where the most recent data is to transfer to
the other memory domain.

Note: this still does not allow downgrading a memory map.

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

9 years agomemory: gst_memory_share may fail to exclusively lock the parent memory
Matthew Waters [Tue, 2 Jun 2015 06:14:50 +0000 (16:14 +1000)]
memory: gst_memory_share may fail to exclusively lock the parent memory

Now that locking exclusively dows not always succeed, we need to signal
the failure case from gst_memory_init.

Rather than introducing an API or funcionality change to gst_memory_init,
workaround by checking exclusivity in the calling code.

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

9 years agobuffer: locking memory exclusively may fail
Matthew Waters [Mon, 1 Jun 2015 14:23:37 +0000 (00:23 +1000)]
buffer: locking memory exclusively may fail

Attempt to return a copy of the memory instead.

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

9 years agominiobject: disallow a double write/exclusive lock
Matthew Waters [Sun, 31 May 2015 11:25:23 +0000 (21:25 +1000)]
miniobject: disallow a double write/exclusive lock

gst_memory_lock (mem, WRITE | EXCLUSIVE);
gst_memory_lock (mem, WRITE | EXCLUSIVE);

Succeeds when the part-miniobject.txt design doc suggests that this should fail:

  "A gst_mini_object_lock() can fail when a WRITE lock is requested and
  the exclusive counter is > 1. Indeed a GstMiniObject object with an
  exclusive counter 1 is locked EXCLUSIVELY by at least 2 objects and is
  therefore not writable."

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

9 years agouri: match return type of get_uri_type() implementation to declaration
Tim-Philipp Müller [Tue, 2 Jun 2015 19:32:35 +0000 (20:32 +0100)]
uri: match return type of get_uri_type() implementation to declaration

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

9 years agogstbuffer: Add a note about metas needing to be copied last
Jan Schmidt [Tue, 2 Jun 2015 14:12:36 +0000 (00:12 +1000)]
gstbuffer: Add a note about metas needing to be copied last

9 years agogstvalue: Implement gst_value_is_subset() for flagsets
Jan Schmidt [Wed, 27 May 2015 12:23:00 +0000 (22:23 +1000)]
gstvalue: Implement gst_value_is_subset() for flagsets

9 years agocheck: Use GST_CHECK_MAIN macro
Edward Hervey [Tue, 2 Jun 2015 14:33:48 +0000 (16:33 +0200)]
check: Use GST_CHECK_MAIN macro

9 years agodownloadbuffer: release lock before posting msg
eunhae choi [Wed, 20 May 2015 12:18:08 +0000 (21:18 +0900)]
downloadbuffer: release lock before posting msg

to avoid the deadlock in playbin2,
send msg after release the download buffer lock.

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

9 years agostructure: add note about missing field creation on _set()
Reynaldo H. Verdejo Pinochet [Sun, 31 May 2015 23:21:42 +0000 (20:21 -0300)]
structure: add note about missing field creation on _set()

9 years agotests: fix some leaks in new flagset checks
Tim-Philipp Müller [Sat, 30 May 2015 12:01:09 +0000 (13:01 +0100)]
tests: fix some leaks in new flagset checks

9 years agoqueuearray: remove duplicate assignment
Tim-Philipp Müller [Sat, 30 May 2015 11:39:19 +0000 (12:39 +0100)]
queuearray: remove duplicate assignment

We've already done this earlier in the function,
and nothing has changed since we first read it.

9 years agogst/gst.c: Add a warning about DllMain to prevent misuse
Nirbheek Chauhan [Wed, 27 May 2015 11:52:28 +0000 (17:22 +0530)]
gst/gst.c: Add a warning about DllMain to prevent misuse

DllMain should not be relied on for anything except storing the DLL handle.
It should also not be defined for static builds, but doing so is not
straightforward and is mostly harmless, so let's just add a comment about that
for now.

9 years agofunnel: Improve debug output a bit
Sebastian Dröge [Wed, 27 May 2015 11:54:25 +0000 (13:54 +0200)]
funnel: Improve debug output a bit

9 years agodocs: fix typo in draft-klass.txt
Luis de Bethencourt [Tue, 26 May 2015 13:46:16 +0000 (14:46 +0100)]
docs: fix typo in draft-klass.txt

9 years agocode-reviews: remove obsolete code reviews
Luis de Bethencourt [Tue, 26 May 2015 13:03:25 +0000 (14:03 +0100)]
code-reviews: remove obsolete code reviews

This obsolete folder hasn't been touched since 2001 and has no purpose. It
confuses new developers.

9 years agobasesink: use the slightly more correct take_sample for last-sample
Matthew Waters [Mon, 25 May 2015 11:02:28 +0000 (21:02 +1000)]
basesink: use the slightly more correct take_sample for last-sample

gst_value_take_buffer() and gst_value_take_sample() both resolve to
g_value_take_boxed().  Use the method with the correct name if we
ever change that.

9 years agogstvalue: Add GstFlagSet type
Jan Schmidt [Mon, 25 May 2015 06:23:33 +0000 (16:23 +1000)]
gstvalue: Add GstFlagSet type

GstFlagSet is a new type designed for negotiating sets
of boolean capabilities flags, consisting of a 32-bit
flags bitfield and 32-bit mask field. The mask field
indicates which of the flags bits an element needs to have
as specific values, and which it doesn't care about.

This allows efficient negotiation of arrays of boolean
capabilities.

The standard serialisation format is FLAGS:MASK, with
flags and mask fields expressed in hexadecimal, however
GstFlagSet has a gst_register_flagset() function, which
associates a new GstFlagSet derived type with an existing
GFlags gtype. When serializing a GstFlagSet with an
associated set of GFlags, it also serializes a human-readable
form of the flags for easier debugging.

It is possible to parse a GFlags style serialisation of a
flagset, without the hex portion on the front. ie,
+flag1/flag2/flag3+flag4, to indicate that
flag1 & flag4 must be set, and flag2/flag3 must be unset,
and any other flags are don't-care.

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

9 years agogstvalue: Add a comparision function for GstStructures
Thibault Saunier [Wed, 20 May 2015 18:19:29 +0000 (20:19 +0200)]
gstvalue: Add a comparision function for GstStructures

9 years agonet: keep GCancellable fd around instead of re-creating it constantly
Tim-Philipp Müller [Tue, 19 May 2015 13:34:04 +0000 (14:34 +0100)]
net: keep GCancellable fd around instead of re-creating it constantly

Just create the cancellable fd once and keep it around instead
of creating/closing it for every single packet. Since we spend
most time waiting for packets, an fd is alloced and in use pretty
much all the time anyway.

9 years agoRevert "doc: Workaround gtkdoc issue"
Tim-Philipp Müller [Mon, 18 May 2015 11:52:00 +0000 (12:52 +0100)]
Revert "doc: Workaround gtkdoc issue"

This reverts commit 460a7bf68292d057c77e84d1ea86b8e73fc081f3.

This should be fixed by the gtk-doc 1.23 release.

<para> cannot contain <refsect2>:
http://www.docbook.org/tdg/en/html/para.html
http://www.docbook.org/tdg/en/html/refsect2.html

9 years agosparsefile: small cleanup
Wim Taymans [Mon, 11 May 2015 08:52:23 +0000 (10:52 +0200)]
sparsefile: small cleanup

The error path unrefs file->file so make sure we only go there when
there is a non-NULL file->file.

9 years agodoc: Workaround gtkdoc issue
Nicolas Dufresne [Sun, 17 May 2015 03:29:03 +0000 (23:29 -0400)]
doc: Workaround gtkdoc issue

With gtkdoc 1.22, the XML generator fails when a itemizedlist is
followed by a refsect2. Workaround the issue by wrapping the refsect2
into para.

9 years agodocs/design/part-negotiation.txt: minor corrections
Reynaldo H. Verdejo Pinochet [Wed, 13 May 2015 16:28:05 +0000 (13:28 -0300)]
docs/design/part-negotiation.txt: minor corrections

9 years agotimedvaluecontrolsource: Check that the only iter is the end iter in the GSequence
Thibault Saunier [Sat, 16 May 2015 10:57:12 +0000 (12:57 +0200)]
timedvaluecontrolsource: Check that the only iter is the end iter in the GSequence

Previous patch was assuming that if the returned iter was the last iter
the GSequence was empty, which is obviously wrong.

9 years agotimedvaluecontrolsource: Fix removing all keyframes, and adding one back
Thibault Saunier [Sat, 16 May 2015 09:17:40 +0000 (11:17 +0200)]
timedvaluecontrolsource: Fix removing all keyframes, and adding one back

We were segfaulting because g_sequence_search was returning the iter_end,
and that iterator does not contain anything and thus should not be used
directly

9 years agofakesrc: fix property description
Tim-Philipp Müller [Fri, 15 May 2015 19:44:08 +0000 (20:44 +0100)]
fakesrc: fix property description

We're enterprise now folks.

9 years agopad: bump chain function call logs from LOG to DEBUG
Vincent Penquerc'h [Fri, 15 May 2015 13:57:14 +0000 (14:57 +0100)]
pad: bump chain function call logs from LOG to DEBUG

They're really useful compared to other LOG stuff in there, so
there is value is including them and not the rest.

9 years agogstobject: add gst_object_has_as_ancestor and deprecate previous function
Stefan Sauer [Fri, 15 May 2015 11:43:12 +0000 (13:43 +0200)]
gstobject: add gst_object_has_as_ancestor and deprecate previous function

The old gst_object_has_ancestor will call the new code. This establishes the
symetry with the new gst_object_has_as_parent.

API: gst_object_has_as_ancestor()

9 years agogstobject: rename gst_object_has_parent to gst_object_has_as_parent
Stefan Sauer [Fri, 15 May 2015 06:05:50 +0000 (08:05 +0200)]
gstobject: rename gst_object_has_parent to gst_object_has_as_parent

This avoid confusion with a potential punction that check if a gstobject has-a
parent.

API: gst_object_has_as_parent()

9 years agobasesink: Fix QoS/lateness checking if subclass implements prepare/prepare_list vfuncs
Jian [Thu, 14 May 2015 07:49:43 +0000 (15:49 +0800)]
basesink: Fix QoS/lateness checking if subclass implements prepare/prepare_list vfuncs

In basesink functions gst_base_sink_chain_unlocked(), below code is used to
checking if buffer is late before doing prepare call to save some effort:
    if (syncable && do_sync)
      late =
          gst_base_sink_is_too_late (basesink, obj, rstart, rstop,
          GST_CLOCK_EARLY, 0, FALSE);

    if (G_UNLIKELY (late))
      goto dropped;

But this code has problem, it should calculate jitter based on current media
clock, rather than just passing 0. I found it will drop all the frames when
rewind in slow speed, such as -2X.

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

9 years agofdsrc: docs: fix and update documentation
Víctor Manuel Jáquez Leal [Mon, 11 May 2015 15:14:50 +0000 (17:14 +0200)]
fdsrc: docs: fix and update documentation

Update example to use gst-launch-1.0 and fix a paragraph.

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

9 years agoAdd removed example directories to CRUFT_DIRS
Tim-Philipp Müller [Sat, 9 May 2015 10:53:49 +0000 (11:53 +0100)]
Add removed example directories to CRUFT_DIRS

9 years agodocs: gst-launch -> gst-launch-1.0 in example pipelines
Tim-Philipp Müller [Fri, 8 May 2015 13:08:42 +0000 (14:08 +0100)]
docs: gst-launch -> gst-launch-1.0 in example pipelines

And some small example pipeline fix-ups.

9 years agodocs/design/part-conventions.txt: minor corrections
Reynaldo H. Verdejo Pinochet [Sun, 10 May 2015 01:10:30 +0000 (22:10 -0300)]
docs/design/part-conventions.txt: minor corrections

9 years agodocs/design/part-context.txt: minor corrections
Reynaldo H. Verdejo Pinochet [Sun, 10 May 2015 01:04:52 +0000 (22:04 -0300)]
docs/design/part-context.txt: minor corrections

9 years agodocs/design/part-clocks.txt: minor corrections
Reynaldo H. Verdejo Pinochet [Sun, 10 May 2015 01:01:04 +0000 (22:01 -0300)]
docs/design/part-clocks.txt: minor corrections

9 years agodocs: update porting guides to mention new device probing API
Tim-Philipp Müller [Sat, 2 May 2015 16:16:38 +0000 (17:16 +0100)]
docs: update porting guides to mention new device probing API

9 years agodocs/design/part-states.txt: minor corrections
Reynaldo H. Verdejo Pinochet [Fri, 1 May 2015 23:37:18 +0000 (20:37 -0300)]
docs/design/part-states.txt: minor corrections

9 years agoevent: remove duplicated include
Jimmy Ohn [Fri, 1 May 2015 09:32:26 +0000 (18:32 +0900)]
event: remove duplicated include

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

9 years agotests: remove some pointless ancient code examples
Tim-Philipp Müller [Tue, 28 Apr 2015 18:59:31 +0000 (19:59 +0100)]
tests: remove some pointless ancient code examples

9 years agobaseparse: fix GST_BASE_PARSE_FLAG_LOST_SYNC
Ilya Konstantinov [Tue, 28 Apr 2015 14:54:51 +0000 (17:54 +0300)]
baseparse: fix GST_BASE_PARSE_FLAG_LOST_SYNC

Since frame->priv->discont was cleared earlier,
GST_BASE_PARSE_FLAG_LOST_SYNC was never being set.

Take the chance to refactor the frame creation a bit to
organize the flags setting and reset.

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

9 years agobaseparse: respect DISCONT flag on buffers
Thiago Santos [Mon, 9 Mar 2015 22:31:36 +0000 (19:31 -0300)]
baseparse: respect DISCONT flag on buffers

Drain the parser when a DISCONT buffer is received and then mark
the next buffer to be pushed as a DISCONT one

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

9 years agotaglist: Copy the tag scope too when copying tag lists
Sebastian Dröge [Tue, 28 Apr 2015 13:50:46 +0000 (15:50 +0200)]
taglist: Copy the tag scope too when copying tag lists

9 years agoidentity: Also synchronize GAP events in sync=1
Olivier Crête [Tue, 21 Apr 2015 00:02:51 +0000 (20:02 -0400)]
identity: Also synchronize GAP events in sync=1

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

9 years agoidentity: With sync=true, don't pre-roll
Olivier Crête [Mon, 20 Apr 2015 23:31:37 +0000 (19:31 -0400)]
identity: With sync=true, don't pre-roll

To act like a real live element, block the streaming when paused, and
return NO_PREROLL.

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

9 years agoidentity: Take upstream latency into account for sync=1
Olivier Crête [Mon, 20 Apr 2015 23:24:45 +0000 (19:24 -0400)]
identity: Take upstream latency into account for sync=1

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

9 years agoidentity: Handle PTS and DTS separately
Olivier Crête [Mon, 20 Apr 2015 23:07:27 +0000 (19:07 -0400)]
identity: Handle PTS and DTS separately

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

9 years agoRemove obsolete Android build cruft
Tim-Philipp Müller [Sun, 26 Apr 2015 16:05:48 +0000 (17:05 +0100)]
Remove obsolete Android build cruft

This is not needed any longer.

9 years agoinputselector: Only try to push the first EOS received
Thiago Santos [Fri, 24 Apr 2015 19:51:24 +0000 (16:51 -0300)]
inputselector: Only try to push the first EOS received

Subsequent EOS will push on the source pad that already received
EOS and that will make the event function return FALSE. It needs
only to push the first one and only return TRUE for the subsequent
ones.

9 years agotests: printf: add unit test for %%
Tim-Philipp Müller [Fri, 24 Apr 2015 14:19:26 +0000 (15:19 +0100)]
tests: printf: add unit test for %%

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