platform/upstream/gstreamer.git
7 years agostructure: Add get/set_array/list using GValueArray
Nicolas Dufresne [Mon, 20 Mar 2017 19:50:49 +0000 (15:50 -0400)]
structure: Add get/set_array/list using GValueArray

This adds a binding friendly interface to get and set arrays
and list into GstStructure.

New API:
 - gst_structure_set_array
 - gst_structure_set_list
 - gst_structure_get_array
 - gst_structure_get_list

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

7 years agogstvalue: Add transformation to/from GValueArray
Nicolas Dufresne [Mon, 20 Mar 2017 19:40:25 +0000 (15:40 -0400)]
gstvalue: Add transformation to/from GValueArray

This allow transforming a GValue of type G_TYPE_VALUE_ARRAY to
and from GST_TYPE_ARRAY/LIST.

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

7 years agoqueuearray: Add G_BEGIN_DECLS and G_END_DECLS to make it usable from C++ code
Sebastian Dröge [Fri, 24 Mar 2017 12:21:30 +0000 (14:21 +0200)]
queuearray: Add G_BEGIN_DECLS and G_END_DECLS to make it usable from C++ code

7 years agoparamspecs: Use gst_value_array_get_type() for GstParamSpecArray type
Jan Schmidt [Fri, 24 Mar 2017 06:53:31 +0000 (17:53 +1100)]
paramspecs: Use gst_value_array_get_type() for GstParamSpecArray type

When registering GstParamSpecArray, use the gst_value_array_get_type()
function to get the type, rather than the GST_TYPE_ARRAY macro, which
gets it from the _gst_value_array_type, which is in turn only
initialised during gst_init()

Fixes criticals with (python) bindings that look up all the
types from the gobject-introspection info as soon as they
are imported.

/usr/lib64/python3.5/site-packages/gi/module.py:178: Warning: g_param_type_register_static: assertion 'g_type_name (pspec_info->value_type) != NULL' failed
  g_type = info.get_g_type()
/usr/lib64/python3.5/site-packages/gi/module.py:212: Warning: g_type_get_qdata: assertion 'node != NULL' failed
  type_ = g_type.pytype
/usr/lib64/python3.5/site-packages/gi/module.py:226: Warning: g_type_get_qdata: assertion 'node != NULL' failed
  g_type.pytype = wrapper
/usr/lib64/python3.5/site-packages/gi/module.py:226: Warning: g_type_set_qdata: assertion 'node != NULL' failed
  g_type.pytype = wrapper

7 years agobaseparse: Don't forget error returns when processing more
Jan Schmidt [Fri, 17 Mar 2017 11:32:19 +0000 (22:32 +1100)]
baseparse: Don't forget error returns when processing more

If parsing returns a non-OK flow return in the middle
of processing an input buffer, don't overwrite that
if a later return is OK again - the subclass might
return not-linked in the middle, and then discard
subsequent data without pushing while returning OK.

A later success doesn't invalidate the earlier failure,
but we should continue processing after not-linked, so
as to keep parse state consistent.

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

7 years agotools: replace mentions of 'mad' on the gst-launch-1.0 man page
Tim-Philipp Müller [Mon, 20 Mar 2017 16:54:22 +0000 (16:54 +0000)]
tools: replace mentions of 'mad' on the gst-launch-1.0 man page

The 'mad' plugin has been removed. Mention mpg123audiodec instead.

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

7 years agovalue: fix union of int range and int when extending on a side
Vincent Penquerc'h [Mon, 13 Mar 2017 11:08:01 +0000 (11:08 +0000)]
value: fix union of int range and int when extending on a side

The internal representation uses bounds scaled by the step

Add tests to catch those cases

7 years agoqueue: avoid return flushing if we have a not-linked
Thiago Santos [Wed, 15 Mar 2017 05:18:36 +0000 (22:18 -0700)]
queue: avoid return flushing if we have a not-linked

Return the correct flow return instead of returning always flushing.
This would cause queue to convert not-linked to flushing and making
upstream elements stop.

Based on the previous patch for queue2.

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

7 years agoqueue2: avoid return flushing if we have a not-linked
Thiago Santos [Sun, 22 Jan 2017 14:26:56 +0000 (11:26 -0300)]
queue2: avoid return flushing if we have a not-linked

Return the correct flow return instead of returning always flushing.
This would cause queue2 to convert not-linked to flushing and making
upstream elements stop.

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

7 years agotests: bin: add more tests for suppressed flags
Thiago Santos [Sun, 18 Sep 2016 15:02:54 +0000 (12:02 -0300)]
tests: bin: add more tests for suppressed flags

Add tests to confirm flags are persisted even after removing
elements that have those suppressed flags

7 years agobuffer: handle gst_buffer_map failures
Wim Taymans [Fri, 10 Mar 2017 09:13:05 +0000 (10:13 +0100)]
buffer: handle gst_buffer_map failures

7 years agodownloadbuffer: unlock mutex in error case
Wim Taymans [Fri, 10 Mar 2017 09:12:49 +0000 (10:12 +0100)]
downloadbuffer: unlock mutex in error case

7 years agogstvalue: Do more checks when guessing at flagset strings
Jan Schmidt [Thu, 9 Mar 2017 01:09:57 +0000 (12:09 +1100)]
gstvalue: Do more checks when guessing at flagset strings

If guessing that a string matches a flagset, be more thorough
at checking that the string following a string of hex:hex:
actually looks like a flag set string. Add some unit tests
to catch more cases.

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

7 years agomultiqueue: Make min-interleave-time a configurable property
Jan Schmidt [Thu, 9 Mar 2017 01:09:57 +0000 (12:09 +1100)]
multiqueue: Make min-interleave-time a configurable property

Remove a FIXME about making the minimum interleave
buffering a configurable property

7 years agoelementfactory: promote factory not found log message to WARNING
Tim-Philipp Müller [Wed, 8 Mar 2017 14:51:42 +0000 (14:51 +0000)]
elementfactory: promote factory not found log message to WARNING

In most cases people really want to know when an element
could not be created.

7 years agoinputselector: Always proxy position/duration query
Seungha Yang [Mon, 6 Mar 2017 23:21:48 +0000 (08:21 +0900)]
inputselector: Always proxy position/duration query

active-pad switch causes reconfigure event with lock taken,
and upstream element might query the current position or duration
before returning the reconfigure event.
Meanwhile, gst_input_selector_get_linked_pad() is used to get srcpad
inside of default query handle, and it takes also lock.
Since inputselector is still locked by active-pad switch, and so the query
cannot be handled further.

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

7 years agoinfo: document that logging macros don't need newlines at the end
Tim-Philipp Müller [Fri, 3 Mar 2017 12:53:26 +0000 (12:53 +0000)]
info: document that logging macros don't need newlines at the end

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

7 years agopad: add since marker to docs for new API
Tim-Philipp Müller [Fri, 24 Feb 2017 21:35:27 +0000 (21:35 +0000)]
pad: add since marker to docs for new API

7 years agowin32: update .def file for new API
Tim-Philipp Müller [Fri, 24 Feb 2017 21:33:49 +0000 (21:33 +0000)]
win32: update .def file for new API

7 years agoregistry: Only scan plugin files that end with an extension
Thibault Saunier [Fri, 24 Feb 2017 13:23:01 +0000 (10:23 -0300)]
registry: Only scan plugin files that end with an extension

Not file that would for some reason end with 'so' or 'dll', etc...

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

7 years agopad: Add API to get the current state of a task
Thibault Saunier [Fri, 17 Feb 2017 18:48:17 +0000 (15:48 -0300)]
pad: Add API to get the current state of a task

Avoiding the user to need to deal with the locking himself etc.

API:
  gst_pad_task_get_state

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

7 years agomeson: Add an option to disable usage of libunwind
Thibault Saunier [Mon, 13 Feb 2017 18:18:59 +0000 (15:18 -0300)]
meson: Add an option to disable usage of libunwind

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

7 years agomeson: Update version
Sebastian Dröge [Fri, 24 Feb 2017 13:59:35 +0000 (15:59 +0200)]
meson: Update version

7 years agoBack to development
Sebastian Dröge [Fri, 24 Feb 2017 13:37:30 +0000 (15:37 +0200)]
Back to development

7 years agoRelease 1.11.2
Sebastian Dröge [Fri, 24 Feb 2017 13:06:46 +0000 (15:06 +0200)]
Release 1.11.2

7 years agoUpdate .po files
Sebastian Dröge [Fri, 24 Feb 2017 10:44:17 +0000 (12:44 +0200)]
Update .po files

7 years agovalue: Add deserialization for arrays/lists outside GstStructures
Vivia Nikolaidou [Thu, 23 Feb 2017 18:52:39 +0000 (20:52 +0200)]
value: Add deserialization for arrays/lists outside GstStructures

This is mostly useful for properties of those types when used in
gst-launch or similar.

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

7 years agovalue: Add a type abbreviation for GstFlagSet in serialization
Sebastian Dröge [Thu, 23 Feb 2017 18:50:38 +0000 (20:50 +0200)]
value: Add a type abbreviation for GstFlagSet in serialization

7 years agovalue: Always add the type name to elements when serializing arrays/lists
Vivia Nikolaidou [Thu, 23 Feb 2017 18:47:30 +0000 (20:47 +0200)]
value: Always add the type name to elements when serializing arrays/lists

But only when serializing outside of GstStructures, because in case of
GstStructure the type is already preprended to the array/list and the
GstStructure API makes sure that they have the same "generic" type so
deserialization works properly.

This keeps serialization of GstStructures the same as before, and the
GstCaps unit tests already test for that. However when serializing
standalone arrays/lists get the types added now.

7 years agovalue: Move list/array serialization/deserialization functions from GstStructure...
Vivia Nikolaidou [Thu, 23 Feb 2017 18:22:03 +0000 (20:22 +0200)]
value: Move list/array serialization/deserialization functions from GstStructure to GstValue

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

7 years agoparamspecs: Add GstParamSpecArray for GST_TYPE_ARRAY typed properties
Vivia Nikolaidou [Thu, 23 Feb 2017 18:16:17 +0000 (20:16 +0200)]
paramspecs: Add GstParamSpecArray for GST_TYPE_ARRAY typed properties

These are mostly useful to get our automatic
serialization/deserialization from strings and simple usage from
gst-launch or similar.

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

7 years agobytereader: fix peek value when scanning for 00 00 01 with non-0 offset
Tim-Philipp Müller [Tue, 21 Feb 2017 20:23:51 +0000 (20:23 +0000)]
bytereader: fix peek value when scanning for 00 00 01 with non-0 offset

We would add the offset a second time in _scan_for_start_code()
when we found a result, but it's already been added to the data
pointer at the beginning of _masked_scan_uint32_peek(), so the
peeked value would be wrong if the initial offset was >0, and
we would potentially read memory out-of-bounds.

Add unit test for all of this.

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

7 years agoinfo: put () around macro arguments
Wim Taymans [Mon, 20 Feb 2017 11:16:32 +0000 (12:16 +0100)]
info: put () around macro arguments

Put braces around macro arguments or else we might run into problems
with operater precedence.

7 years agodeviceproviderfactory: ignore empty classes
Wim Taymans [Mon, 20 Feb 2017 09:45:57 +0000 (10:45 +0100)]
deviceproviderfactory: ignore empty classes

7 years agodeviceproviderfactory: compare class against NULL
Wim Taymans [Mon, 20 Feb 2017 09:25:50 +0000 (10:25 +0100)]
deviceproviderfactory: compare class against NULL

gstdeviceproviderfactory.c:501:20: error: comparison between pointer and zero character constant [-Werror=pointer-compare]
     if (classes[0] == '\0')

7 years agomeson: Fix build with latest upstream git
Nirbheek Chauhan [Sat, 18 Feb 2017 11:19:40 +0000 (16:49 +0530)]
meson: Fix build with latest upstream git

Trivial incorrect include_directories() call

7 years agogstconfig: Fix unaligned access support for the openrisc architecture
Peter Korsgaard [Sat, 18 Feb 2017 09:03:24 +0000 (10:03 +0100)]
gstconfig: Fix unaligned access support for the openrisc architecture

Teach gstconfig.h.in about the openrisc (or1k) architecture.  Fixes
buildroot autobuild failure:

http://autobuild.buildroot.net/results/717/717d78ce0935749f477bdf3133b6f20057a28c01/build-end.log

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

7 years agogstbasesink: xref symbol in docs
Stefan Sauer [Wed, 15 Feb 2017 20:37:31 +0000 (21:37 +0100)]
gstbasesink: xref symbol in docs

7 years agopad: revert the content changes from previous commit
Stefan Sauer [Wed, 15 Feb 2017 19:58:49 +0000 (20:58 +0100)]
pad: revert the content changes from previous commit

The default behaviour when returning GST_PAD_PROBE_OK is unrelated to
the other return code.

7 years agopad: fix docs for GstPadProbeReturn
Stefan Sauer [Wed, 15 Feb 2017 19:37:40 +0000 (20:37 +0100)]
pad: fix docs for GstPadProbeReturn

There is no 'block' value, but we have 'drop'. Also fix the markup; it
is '%' to link to constants (and enum values).

7 years agomeson: dist meson build files
Tim-Philipp Müller [Mon, 24 Oct 2016 21:47:29 +0000 (22:47 +0100)]
meson: dist meson build files

Ship meson build files in tarballs, so people who use tarballs
in their builds can start playing with meson already.

7 years agotests: add 2 unit tests for non-flush seek with gstbaseparse
Julien Isorce [Tue, 31 Jan 2017 09:55:59 +0000 (09:55 +0000)]
tests: add 2 unit tests for non-flush seek with gstbaseparse

The unit test defines a test parse element that inherit from GstBaseParse.
The test pipeline is: fakesrc ! testparse ! fakesink sync=1

Before the fix b2c05cac8 the first new test would have fail because the
pipeline would have wait doing nothing just after proceeded the seek event.
The second new test would have fail because the pipeline would have
played the media instantly just after proceeded the seek event
(like if sync was FALSE on the sink).

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

7 years agoparse: Don't translate the "bin" element name
Sebastian Dröge [Tue, 31 Jan 2017 19:19:18 +0000 (21:19 +0200)]
parse: Don't translate the "bin" element name

Otherwise we won't be able to create bins, there is no element called
"Behälter" if you're using a German locale.

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

7 years agosegment: Modifiy inside segment condition
Seungha Yang [Fri, 15 Apr 2016 11:54:42 +0000 (20:54 +0900)]
segment: Modifiy inside segment condition

There is a special case that segment_start == segment_stop == start.
It's inside of segment

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

7 years agoinfo: Check libunwind return codes
Thibault Saunier [Thu, 26 Jan 2017 16:35:27 +0000 (16:35 +0000)]
info: Check libunwind return codes

7 years agomeson: libs: Add gir to the source list of the dependency
Thibault Saunier [Wed, 18 Jan 2017 21:16:26 +0000 (18:16 -0300)]
meson: libs: Add gir to the source list of the dependency

7 years agoPort gtk-doc comments to their equivalent markdown syntax
Thibault Saunier [Mon, 16 Jan 2017 14:26:16 +0000 (11:26 -0300)]
Port gtk-doc comments to their equivalent markdown syntax

Modernizing our documentation and preparing a possible move to hotdoc.
This commits also adds missing @title metadatas to all SECTIONs

7 years agogst: Fix includes so that files can be built separately
Thibault Saunier [Wed, 11 Jan 2017 20:25:08 +0000 (17:25 -0300)]
gst: Fix includes so that files can be built separately

It used to work but it has broke in the 1.10 cycle.

7 years agogstpoll: Encode in utf-8
Thibault Saunier [Wed, 18 Jan 2017 13:56:38 +0000 (10:56 -0300)]
gstpoll: Encode in utf-8

7 years agoGstStream/GstStreamCollection: add g_autoptr() support
Brendan Shanks [Thu, 26 Jan 2017 23:32:31 +0000 (15:32 -0800)]
GstStream/GstStreamCollection: add g_autoptr() support

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

7 years agobaseparse: correctly handle non-flush seek
Julien Isorce [Thu, 26 Jan 2017 16:51:21 +0000 (16:51 +0000)]
baseparse: correctly handle non-flush seek

Otherwise when seeking/looping to the start when reaching the end,
the sink waits for the duration of the stream. So the user hears
nothing for the duration of the stream before it actually loop again.
See example attached to the bug for that.

Existing test:
gst-plugins-good/tests/icles/test-segment-seeks foo.flac
Without the patch the user hears a crack/cut at each seek.

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

7 years agocheck: Add API to filter g_warning/g_critical etc
Stian Selnes [Tue, 24 May 2016 12:57:54 +0000 (14:57 +0200)]
check: Add API to filter g_warning/g_critical etc

New API functions to filter log messages before they are processed by
GstCheck. This can be used to discard specific messages that are
accepted by the test or to add callbacks that test specific messages.

Default bevavior when no callback is given to a filter is to discard the
message, because it does not makes sense to have a filter with no
callback which does not discard; that would be a noop.

Discarded messages will in addition to bypass the GstCheck handling also
return to GLib that the message is not fatal if it occurs.

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

7 years agobin: update the docs for the event forwarding
Stefan Sauer [Wed, 18 Jan 2017 21:39:33 +0000 (22:39 +0100)]
bin: update the docs for the event forwarding

First this sends the events not only to the sources and 2nd this is not only
for seek events.

7 years agoparse: Don't hold element's object lock while querying element pads' caps
Sebastian Dröge [Wed, 18 Jan 2017 13:07:58 +0000 (15:07 +0200)]
parse: Don't hold element's object lock while querying element pads' caps

This can easily deadlock if the element uses the object lock for
something internally, like posting an error message. Use an GstIterator
for iterating over the pads instead.

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

7 years agogstbin: Quieten a noisy FIXME about duration caching
Jan Schmidt [Sun, 15 Jan 2017 22:41:19 +0000 (09:41 +1100)]
gstbin: Quieten a noisy FIXME about duration caching

Only print this FIXME once per run, at it's pretty annoying in
lots of logs otherwise.

7 years agoidentity: Add ts-offset property.
Jan Schmidt [Tue, 14 Jul 2015 13:11:11 +0000 (13:11 +0000)]
identity: Add ts-offset property.

Add a property to delay or advance sync time
when sync=true, with the same behaviour as
the ts-offset property in basesink

7 years agodatetime: fix potential out-of-bound read on malformed datetime string
Tim-Philipp Müller [Sun, 15 Jan 2017 11:52:44 +0000 (11:52 +0000)]
datetime: fix potential out-of-bound read on malformed datetime string

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

7 years agomeson: bump version
Tim-Philipp Müller [Fri, 13 Jan 2017 12:34:43 +0000 (12:34 +0000)]
meson: bump version

7 years agoBack to development
Sebastian Dröge [Thu, 12 Jan 2017 14:32:38 +0000 (16:32 +0200)]
Back to development

7 years agoRelease 1.11.1
Sebastian Dröge [Thu, 12 Jan 2017 13:29:15 +0000 (15:29 +0200)]
Release 1.11.1

7 years agoUpdate .po files
Sebastian Dröge [Thu, 12 Jan 2017 12:35:22 +0000 (14:35 +0200)]
Update .po files

7 years agopo: Update translations
Sebastian Dröge [Thu, 12 Jan 2017 12:34:18 +0000 (14:34 +0200)]
po: Update translations

7 years agoUpdate .po files
Sebastian Dröge [Thu, 12 Jan 2017 12:26:55 +0000 (14:26 +0200)]
Update .po files

7 years agotools: update gst-inspect man page
Mark Nauwelaerts [Thu, 5 Jan 2017 12:45:37 +0000 (13:45 +0100)]
tools: update gst-inspect man page

7 years agomeson: Do not generate .pc files for libgstcheck on windows
Thibault Saunier [Thu, 5 Jan 2017 13:32:03 +0000 (10:32 -0300)]
meson: Do not generate .pc files for libgstcheck on windows

The lib is not built

7 years agomeson: generate pkg-config -uninstalled pc files
Guillaume Desmottes [Wed, 4 Jan 2017 11:10:45 +0000 (12:10 +0100)]
meson: generate pkg-config -uninstalled pc files

Generating those files is useful for users building the GStreamer stack
using meson and having to link it to another project which is still
using the autotools.

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

7 years agopad: clarify docs for GST_PAD_PROBE_DROP
Tim-Philipp Müller [Tue, 3 Jan 2017 12:30:02 +0000 (12:30 +0000)]
pad: clarify docs for GST_PAD_PROBE_DROP

7 years agoqueue: Don't generate GST_FLOW_ERROR without logging
Jan Schmidt [Mon, 2 Jan 2017 15:13:30 +0000 (02:13 +1100)]
queue: Don't generate GST_FLOW_ERROR without logging

At least log a message to the debug log when generating
a GST_FLOW_ERROR, to make it possible to find where it came from.

7 years agopadtemplate: Fix null pointer dereference on invalid static caps
Jan Schmidt [Mon, 2 Jan 2017 15:12:27 +0000 (02:12 +1100)]
padtemplate: Fix null pointer dereference on invalid static caps

A typo in a static caps string may result in failure to
deserialise it, so don't dereference the result without
checking.

7 years agocaps: Fix null pointer dereference on invalid static caps
Jan Schmidt [Mon, 2 Jan 2017 15:11:27 +0000 (02:11 +1100)]
caps: Fix null pointer dereference on invalid static caps

A typo in a static caps string may result in failure to
deserialise it, so don't dereference the result without
checking.

7 years agostructure: reword comment for gst_structure_parse_string()
Stefan Sauer [Fri, 30 Dec 2016 18:42:57 +0000 (19:42 +0100)]
structure: reword comment for gst_structure_parse_string()

The comment was a bit confusing. Turn it into gtkdoc style and reword it.

7 years agoinfo: re-eval GST_DEBUG env var for late categories
Stefan Sauer [Wed, 28 Dec 2016 20:47:03 +0000 (21:47 +0100)]
info: re-eval GST_DEBUG env var for late categories

When registering a new debug category after _debug_init(), we need to
re check the GST_DEBUG filter settings again.
In addition when parsing the filter setting, we need to already bump up
the min-debug level to not suppress debug log statments that dynamically
register a category. This happens in libraries that use a function to
register a category on first use.

7 years agogst-uninstalled: Default to python3
Edward Hervey [Thu, 29 Dec 2016 16:04:04 +0000 (17:04 +0100)]
gst-uninstalled: Default to python3

It's 2016, unless you've specified a different version of python,
we'll default to python3

7 years agobaseparse: also unset DISCONT on buffers in reverse playback fragments
Mark Nauwelaerts [Wed, 28 Dec 2016 12:45:54 +0000 (13:45 +0100)]
baseparse: also unset DISCONT on buffers in reverse playback fragments

7 years agogst-launch: Add a '--types' option to filter elements by types to print
Thibault Saunier [Thu, 22 Dec 2016 00:58:53 +0000 (21:58 -0300)]
gst-launch: Add a '--types' option to filter elements by types to print

This way the user can easily figure out what are the available audio
encoder for example doing:

  gst-inspect-1.0 --types Encoder/Audio

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

7 years agotools: gst-launch: set GST_GL_XINITTHREADS
Nicolas Dechesne [Thu, 22 Dec 2016 17:45:10 +0000 (18:45 +0100)]
tools: gst-launch: set GST_GL_XINITTHREADS

This ensure that XInitThreads is called and so gl contexts are properly
initialized.

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

7 years agogstpreset: Lower some debug logs level
Thibault Saunier [Thu, 22 Dec 2016 19:13:22 +0000 (16:13 -0300)]
gstpreset: Lower some debug logs level

A property not defined in a preset file can simply mean that the
user wants it to be set as it default value, and we should not warn
about that.

A missing preset file in a directory can happen has there are several
directory where a preset can be found in.

7 years agomeson: Fix order of C source and header in mkenums
Nirbheek Chauhan [Thu, 22 Dec 2016 18:09:39 +0000 (23:39 +0530)]
meson: Fix order of C source and header in mkenums

Otherwise gstenum_h dependencies don't get added properly to gst_dep and
we see racy build failures everywhere.

7 years agomeson: use gnome.mkenums() with template files for enum file gen
Tim-Philipp Müller [Sat, 17 Dec 2016 14:35:19 +0000 (14:35 +0000)]
meson: use gnome.mkenums() with template files for enum file gen

Saves us a custom script. Template files are nicer than passing
multiline templating stuff through to glib-mkenums. And we can
get rid of our custom python script.

7 years agoelement: Add guard to gst_element_release_pad() to ensure the pad belongs to this...
Sebastian Dröge [Thu, 22 Dec 2016 10:05:56 +0000 (12:05 +0200)]
element: Add guard to gst_element_release_pad() to ensure the pad belongs to this element

It's a programming error to pass other pads here, and it easily causes
crashes or other problematic behaviour down the road as subclasses
usually assume to only get their pads.

7 years agogstrusage: explicitly register to hooks
Stefan Sauer [Wed, 21 Dec 2016 21:18:17 +0000 (22:18 +0100)]
gstrusage: explicitly register to hooks

We were attaching to any probe point to take rusage samples. The new refcount
hooks are called way too frequently though to make this still feasible.

7 years agomeson: Add several missing features from configure.ac
Nirbheek Chauhan [Wed, 21 Dec 2016 18:19:11 +0000 (23:49 +0530)]
meson: Add several missing features from configure.ac

* -Wl,-Bsymbolic-functions
* HAVE_PTHREAD_SETNAME_NP_WITHOUT_TID
* HAVE_POSIX_TIMERS
* HAVE_MONOTONIC_CLOCK
* HAVE_UINT128_T
* HAVE_LONG_LONG
* HAVE_PROCESS_H
* HAVE_GMP
* HAVE_GSL
* HAVE_DLADDR

Also, don't use prefix for checking functions, and only check msvc
functions on Windows.

7 years agobuild: Remove unused functions
Nirbheek Chauhan [Wed, 21 Dec 2016 04:03:39 +0000 (09:33 +0530)]
build: Remove unused functions

fgetpos, fsetpos, mmap, posix_memalign. None of these are used anywhere
in the codebase.

7 years agomeson: Derive defines from header/function names
Nirbheek Chauhan [Wed, 21 Dec 2016 03:30:22 +0000 (09:00 +0530)]
meson: Derive defines from header/function names

This is what Autoconf already does for us, so just do this. Avoids
people making typos while adding header or function checks. Because we
use a config.h.meson, such typos won't even be noticed.

Also, starting from Meson 0.36.0, the XCode 8 workaround that we use for
clock_gettime is no longer needed.

7 years agogststructure: simplify test
Stefan Sauer [Wed, 21 Dec 2016 09:02:45 +0000 (10:02 +0100)]
gststructure: simplify test

We can compare structures, that is what the caps fucntion that was used before
would call anyway.

7 years agotracerrecord: improve the values flags docs
Stefan Sauer [Tue, 20 Dec 2016 20:08:09 +0000 (21:08 +0100)]
tracerrecord: improve the values flags docs

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

The logged latencies are individual meassurements.

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

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

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

It makes it much simpler to later debug refcount issues.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Adding options while running gst_check_init

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

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

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

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