platform/upstream/gstreamer.git
9 years agodoc: Add gst_buffer_copy_deep()
Nicolas Dufresne [Sun, 14 Jun 2015 00:01:27 +0000 (20:01 -0400)]
doc: Add gst_buffer_copy_deep()

9 years agogi: Skip gst_consitency_checker_new
Nicolas Dufresne [Sat, 13 Jun 2015 23:47:45 +0000 (19:47 -0400)]
gi: Skip gst_consitency_checker_new

This non boxed type cannot be allocated safely.

9 years agodoc: Add indexes of added APIs
Nicolas Dufresne [Sat, 13 Jun 2015 23:46:21 +0000 (19:46 -0400)]
doc: Add indexes of added APIs

One of the nice feature in GTK doc is that it generate indexes
of added APIs base on the since marker. Include that in our doc
while fixing the issue of duplicate ID (produce xml contains that
id it seems)

9 years agodoc: Make ..._source_find_control_point_iter transfer none
Nicolas Dufresne [Sat, 13 Jun 2015 19:10:53 +0000 (15:10 -0400)]
doc: Make ..._source_find_control_point_iter transfer none

9 years agodoc: Silence warning about unused gstntppacket section
Nicolas Dufresne [Sat, 13 Jun 2015 18:40:43 +0000 (14:40 -0400)]
doc: Silence warning about unused gstntppacket section

This API is internal.

9 years agoRevert "doc: Add GstNtpPacket to the doc"
Nicolas Dufresne [Sat, 13 Jun 2015 18:37:42 +0000 (14:37 -0400)]
Revert "doc: Add GstNtpPacket to the doc"

This reverts commit c4eb876961aba1092c4831a8feaf48d7be1e38ae.

Oops, this is not a public API

9 years agodoc: Add GstNtpPacket to the doc
Nicolas Dufresne [Sat, 13 Jun 2015 18:21:41 +0000 (14:21 -0400)]
doc: Add GstNtpPacket to the doc

9 years agodoc: Remove gstindex from doc comment
Nicolas Dufresne [Sat, 13 Jun 2015 17:55:27 +0000 (13:55 -0400)]
doc: Remove gstindex from doc comment

Moving that to normal comment to silence the generator. GstIndex
is not in GStreamer library at the moment (removed from 0.10).

9 years agogi: Set collectpads function param scope
Nicolas Dufresne [Sat, 13 Jun 2015 17:48:03 +0000 (13:48 -0400)]
gi: Set collectpads function param scope

9 years agogi: Skip allocator of non-boxed structure
Nicolas Dufresne [Sat, 13 Jun 2015 17:42:58 +0000 (13:42 -0400)]
gi: Skip allocator of non-boxed structure

These are not usable as they are, and can easily lead to crash
or leaks. This also silence warning from the scanner. If we manage to
make this usable, we can then remove that mark, it will require
to make this type boxed.

9 years agodoc: Give gstconfig a nice name
Nicolas Dufresne [Sat, 13 Jun 2015 17:24:13 +0000 (13:24 -0400)]
doc: Give gstconfig a nice name

As all other section do have a nice came case name, it seems
more consistent.

9 years agodoc: Add missing gst_event_new/parse_protection
Nicolas Dufresne [Sat, 13 Jun 2015 17:19:21 +0000 (13:19 -0400)]
doc: Add missing gst_event_new/parse_protection

9 years agodoc: Give gstprotection section a nice title
Nicolas Dufresne [Sat, 13 Jun 2015 17:19:05 +0000 (13:19 -0400)]
doc: Give gstprotection section a nice title

9 years agodoc: Remove uneeded protectionevent section
Nicolas Dufresne [Sat, 13 Jun 2015 17:14:30 +0000 (13:14 -0400)]
doc: Remove uneeded protectionevent section

These functions are part of gstevent section already. Keep the doc,
since it's good.

9 years agotaglist: Add missing scope to func param
Nicolas Dufresne [Sat, 13 Jun 2015 16:32:49 +0000 (12:32 -0400)]
taglist: Add missing scope to func param

This tell GI if this function is for actions (call) or is the
answer of this method being asynchronous (async). In this case
it's a call. This also silence warning from the GI scanner.

9 years agogstprotection: Add missing Since 1.6 mark
Nicolas Dufresne [Sat, 13 Jun 2015 16:27:31 +0000 (12:27 -0400)]
gstprotection: Add missing Since 1.6 mark

9 years agogstprection: _add_protection_meta() is transfer none
Nicolas Dufresne [Sat, 13 Jun 2015 16:26:13 +0000 (12:26 -0400)]
gstprection: _add_protection_meta() is transfer none

Just like gst_buffer_add_meta() this function should also be
transfer none. This also silence a gi warning about returning
a copy of a non boxed bare structure.

9 years agogstprotection: Add missing namespace to macro
Nicolas Dufresne [Sat, 13 Jun 2015 16:25:19 +0000 (12:25 -0400)]
gstprotection: Add missing namespace to macro

GST_PROTECTION_SYSTEM_ID_CAPS_FIELD was missing the GST_ namespace.
Add it before its too late.

9 years agodoc: Keep SECTION: after the ifdef
Nicolas Dufresne [Sat, 13 Jun 2015 15:55:10 +0000 (11:55 -0400)]
doc: Keep SECTION: after the ifdef

Otherwise GTK doc will see it as often as we include that files
and warn about duplicated SECTION:

9 years agogi: Skip mini object method that play with refcounting
Nicolas Dufresne [Sat, 13 Jun 2015 14:23:52 +0000 (10:23 -0400)]
gi: Skip mini object method that play with refcounting

It make no sense to allow using that. Any use would lead to leak
of crash. Note that GMiniObject is entirely unusable as you cannot
cast from let's say GstBuffer to GstMiniObject.

9 years agolibs: more doc scanner fixes
Tim-Philipp Müller [Sat, 13 Jun 2015 14:05:05 +0000 (15:05 +0100)]
libs: more doc scanner fixes

gstbasetransform.h:196: Warning: GstBase: "@submit_input_buffer" parameter unexpected at this location:
 * @submit_input_buffer: Function which accepts a new input buffer and pre-processes it.

gstnetcontrolmessagemeta.c:103: Warning: GstNet: gst_buffer_add_net_control_message_meta: unknown parameter 'message' in documentation comment, should be 'addr'

9 years agodoc: Fix annoation for GstMiniObject
Nicolas Dufresne [Sat, 13 Jun 2015 13:37:46 +0000 (09:37 -0400)]
doc: Fix annoation for GstMiniObject

Replacing reprecated "Ref Func:", "Unref Fun:" etc. comment block
with appropriate (ref-func name) etc. annotation.

9 years agodoc: Fix unbalanced parenthesis
Nicolas Dufresne [Sat, 13 Jun 2015 13:34:06 +0000 (09:34 -0400)]
doc: Fix unbalanced parenthesis

9 years agodoc: Fix more typo
Nicolas Dufresne [Sat, 13 Jun 2015 13:30:24 +0000 (09:30 -0400)]
doc: Fix more typo

9 years agodoc: Fix type in previous commit
Nicolas Dufresne [Sat, 13 Jun 2015 13:22:41 +0000 (09:22 -0400)]
doc: Fix type in previous commit

Marker is (value .. not (alue.

9 years agodoc: Don't use deprecated Value: and Type: comment
Nicolas Dufresne [Sat, 13 Jun 2015 13:19:27 +0000 (09:19 -0400)]
doc: Don't use deprecated Value: and Type: comment

Instead use appropriate annotation. Annotations can be added
to the right of the constant name in a comment block.

9 years agocollectpads: Add new macro to the doc
Nicolas Dufresne [Fri, 12 Jun 2015 21:07:38 +0000 (17:07 -0400)]
collectpads: Add new macro to the doc

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

9 years agoclock: Add new signed time macro to the doc
Nicolas Dufresne [Fri, 12 Jun 2015 21:07:26 +0000 (17:07 -0400)]
clock: Add new signed time macro to the doc

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

9 years agocollectpads: Don't initially send an invalid DTS
Nicolas Dufresne [Wed, 10 Jun 2015 18:17:01 +0000 (14:17 -0400)]
collectpads: Don't initially send an invalid DTS

Sending a possibly invalid DTS may confuse the muxers, which will
then think the DTS is going backward.

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

9 years agocollectpads: Add negative DTS support
Nicolas Dufresne [Fri, 3 Apr 2015 21:54:50 +0000 (17:54 -0400)]
collectpads: Add negative DTS support

Make gst_collect_pads_clip_running_time() function also store the
signed DTS in the CollectData. This signed DTS value can be used by
muxers to properly handle streams where DTS can be negative initially.

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

9 years agoclock: Add signed time utilities
Nicolas Dufresne [Fri, 12 Jun 2015 16:06:05 +0000 (12:06 -0400)]
clock: Add signed time utilities

Add utility to print signed value of time. This is useful to
trace running time values in gint64 or GstClockTimeDiff values.
Additionally, define GST_CLOCK_STIME_NONE to indicate an invalid
signed time value and validation macro. New macros are:

GST_CLOCK_STIME_NONE
GST_CLOCK_STIME_IS_VALID
GST_STIME_FORMAT
GST_STIME_ARGS

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

9 years agomessage: add allow-none to gst_message_new_ function
Thiago Santos [Wed, 10 Jun 2015 23:44:26 +0000 (20:44 -0300)]
message: add allow-none to gst_message_new_ function

No restriction for creating messages without a source

9 years agowin32: update .def file for new API
Tim-Philipp Müller [Fri, 12 Jun 2015 12:45:33 +0000 (13:45 +0100)]
win32: update .def file for new API

9 years agocontroller: Added absolute direct control binding, example and test
Lazar Claudiu [Wed, 27 May 2015 09:29:41 +0000 (12:29 +0300)]
controller: Added absolute direct control binding, example and test

Fixes: 740502
API: gst_direct_control_binding_new_absolute

9 years agomemory: provide a mem_map_full that takes the GstMapInfo
Matthew Waters [Wed, 3 Jun 2015 14:03:16 +0000 (00:03 +1000)]
memory: provide a mem_map_full that takes the GstMapInfo

Follow up of 7130230ddb349d0ca7942abdba26b7558df055d1

Provide the memory implementation the GstMapInfo that will be used to
map/unmap the memory.  This allows the memory implementation to use
some scratch space in GstMapInfo to e.g. track different map/unmap
behaviour or store extra implementation defined data about the map
in use.

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

9 years agodocs: manual: fix name reversal in basics-pads
Alison Chaiken [Wed, 8 Apr 2015 21:21:43 +0000 (14:21 -0700)]
docs: manual: fix name reversal in basics-pads

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

9 years agogst_writev: define UIO_MAXIOV on iOS/OSX
Tim-Philipp Müller [Thu, 11 Jun 2015 22:06:26 +0000 (23:06 +0100)]
gst_writev: define UIO_MAXIOV on iOS/OSX

Apparently it's only seton iOS/OSX if defined(KERNEL).

9 years agogst_writev: Respect UIO_MAXIOV limit for the iov array
Jan Schmidt [Thu, 11 Jun 2015 15:15:19 +0000 (01:15 +1000)]
gst_writev: Respect UIO_MAXIOV limit for the iov array

If we receive more than UIO_MAXIOV (1024 typically) buffers
in a single writev call, fall back to consolidating them
into one output buffer or multiple write calls.

This could be made more optimal, but let's wait until it's
ever a bottleneck for someone

9 years agopipeline: Add gst_pipeline_set_latency(), getter and GObject property
Sebastian Dröge [Thu, 11 Jun 2015 10:34:04 +0000 (12:34 +0200)]
pipeline: Add gst_pipeline_set_latency(), getter and GObject property

This overrides the default latency handling and configures the specified
latency instead of the minimum latency that was returned from the LATENCY
query.

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

9 years agoconcat: Add active-pad property
Carlos Rafael Giani [Thu, 11 Jun 2015 09:37:30 +0000 (11:37 +0200)]
concat: Add active-pad property

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

9 years agoconcat: Also reset the current start offset when receiving a FLUSH_STOP on the srcpad
Sebastian Dröge [Thu, 11 Jun 2015 09:05:53 +0000 (11:05 +0200)]
concat: Also reset the current start offset when receiving a FLUSH_STOP on the srcpad

9 years agoconcat: Add some newlines to event handling code to make the code look a bit less...
Sebastian Dröge [Thu, 11 Jun 2015 09:05:38 +0000 (11:05 +0200)]
concat: Add some newlines to event handling code to make the code look a bit less dense

9 years agoconcat: Reset segment base offset after FLUSH_STOP with reset_time = TRUE
Carlos Rafael Giani [Thu, 11 Jun 2015 08:53:30 +0000 (10:53 +0200)]
concat: Reset segment base offset after FLUSH_STOP with reset_time = TRUE

If the reset_time value of a FLUSH_STOP event is set to TRUE, the pipeline
will have the base_time of its elements reset. This means that the concat
element's current_start_offset has to be reset to 0, since it was
calculated with the old base-time in mind.

Only FLUSH_STOP events coming from the active pad are looked at.

Signed-off-by: Carlos Rafael Giani <dv@pseudoterminal.org>
9 years agoconcat: Forward FLUSH_START and FLUSH_STOP events
Carlos Rafael Giani [Sat, 28 Mar 2015 15:46:32 +0000 (16:46 +0100)]
concat: Forward FLUSH_START and FLUSH_STOP events

Without this, seeking deadlocks if performed while the pipeline is paused.
Only flush events coming from the active pad are forwarded.

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

9 years agocruft: add the obsolete tmpl dir to cruft-dirs
Stefan Sauer [Tue, 9 Jun 2015 12:28:30 +0000 (14:28 +0200)]
cruft: add the obsolete tmpl dir to cruft-dirs

9 years agoAutomatic update of common submodule
Edward Hervey [Tue, 9 Jun 2015 09:30:10 +0000 (11:30 +0200)]
Automatic update of common submodule

From d9a3353 to 6015d26

9 years agofilesink: Fix fsync/_commit usage
Edward Hervey [Tue, 9 Jun 2015 09:01:53 +0000 (11:01 +0200)]
filesink: Fix fsync/_commit usage

_MSC_VER will only be defined when building *on* windows and not just
*for* windows. Instead, use the G_OS_WIN32 define

9 years agoptp: Check for the actual API we use instead of just looking for __APPLE__
Sebastian Dröge [Tue, 9 Jun 2015 08:59:42 +0000 (10:59 +0200)]
ptp: Check for the actual API we use instead of just looking for __APPLE__

Should fix the build on FreeBSD, DragonFly and other BSDs.

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

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