platform/upstream/gstreamer.git
7 years agotools: ship the final man pages directly, no more man pages templates
Antonio Ospite [Thu, 3 Nov 2016 09:30:53 +0000 (10:30 +0100)]
tools: ship the final man pages directly, no more man pages templates

Don't use templates for the man pages, the API version change is a rare
event, so it's not really worth keeping in place the "sed" boilerplate
to have it set at build time.

Shipping the final man pages directly also makes it easer to install the
man pages with meson (in a future commit).

Note that now all the occurrences of the programs names have the API
version as a suffix.

Traditionally the example command lines looked like:

  gst-launch ...

Now they look like:

  gst-launch-1.0 ...

This reflects the actual programs names and makes it easier to copy and
paste the example commands.

Also, the .gitignore file is adjusted not to ignore the final man pages
anymore.

You may need to clean your src/build directory before pulling in this
patch.

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

7 years agocontrollers: add new proxy control binding
Matthew Waters [Fri, 18 Nov 2016 02:09:21 +0000 (13:09 +1100)]
controllers: add new proxy control binding

Allows proxying the control interface from one property on one GstObject
to another property (of the same type) in another GstObject.

E.g. in a parent-child relationship, one may need to
gst_object_sync_values() on the child and have a binding (set elsewhere)
on the parent update the value.

Note: that this doesn't solve GObject property forwarding and must be
taken care of by the implementation manually or using GBinding.

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

7 years agomemory: log with GST_INFO instead GST_ERROR when subclass map failed.
Julien Isorce [Fri, 7 Oct 2016 10:39:26 +0000 (11:39 +0100)]
memory: log with GST_INFO instead GST_ERROR when subclass map failed.

Add unit test to ensure that.

It can be a normal execution path to do some map trials and there is
no need to worry the user in that case.

The application has to check the return value of gst_memory_map.

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

7 years agobasetransform: Ensure to set the RECONFIGURE flag again if reconfiguration failed
Sebastian Dröge [Thu, 17 Nov 2016 15:37:16 +0000 (17:37 +0200)]
basetransform: Ensure to set the RECONFIGURE flag again if reconfiguration failed

It might've failed just because of flushing or other things, and we
should retry again on the next possibility if something ever calls in
here again.

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

7 years agomeson: add_global_arguments -> add_project_arguments
Scott D Phillips [Fri, 18 Nov 2016 00:39:52 +0000 (16:39 -0800)]
meson: add_global_arguments -> add_project_arguments

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

7 years agomultiqueue: Make sure not-linked streams get woken up
Jan Schmidt [Wed, 16 Nov 2016 12:19:28 +0000 (23:19 +1100)]
multiqueue: Make sure not-linked streams get woken up

When running in sync-by-running-time mode, pad groups
that have exactly 1 pad and it's not-linked might never
wake up after computing a high time, as the per-pad-group
high time was only recomputed when a pad in the group
advances.

Wake those up using the global multiqueue high-time across
all other groups instead.

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

7 years agodocs: misc fixes
Tim-Philipp Müller [Wed, 16 Nov 2016 10:55:29 +0000 (10:55 +0000)]
docs: misc fixes

7 years agoutils: use temp var in fallback GST_WRITE_*() macros
Tim-Philipp Müller [Wed, 16 Nov 2016 10:51:48 +0000 (10:51 +0000)]
utils: use temp var in fallback GST_WRITE_*() macros

To make sure the value is only expanded/used once, in case
there are side effects to it, and to avoid calculating it
or looking it up multiple times if there is a calculation
or lookup involved.

7 years agobaseparse: Fix previous commit
Jan Schmidt [Tue, 15 Nov 2016 13:30:26 +0000 (00:30 +1100)]
baseparse: Fix previous commit

Check the correct segment format value.

parse->segment.format is the format we're outputting in,
not the upstream format. Use parse->priv->upstream_format instead,
and make sure it's set in pull mode.

7 years agobaseparse: Restrict query/convert responses when demuxing
Jan Schmidt [Tue, 15 Nov 2016 12:51:06 +0000 (23:51 +1100)]
baseparse: Restrict query/convert responses when demuxing

If the parser is not parsing a raw elementary stream, restrict
the position, duration and conversion query replies to
things we can sensibly answer about - especially don't do
random conversions to/from bytes.

7 years agoqueues: Don't return negative position queries.
Jan Schmidt [Tue, 15 Nov 2016 11:39:43 +0000 (22:39 +1100)]
queues: Don't return negative position queries.

When subtracting queued data sizes from upstream queries
in queue, queue2, downloadbuffer and typefind, clamp the
result to not go negative, in case upstream returned
a nonsense value that's too small (as could happen if
upstream is estimating, or just broken)

7 years agoCast away const from GstMetaInfo in *_get_meta_info() functions
Scott D Phillips [Mon, 14 Nov 2016 19:27:05 +0000 (11:27 -0800)]
Cast away const from GstMetaInfo in *_get_meta_info() functions

MSVC warns about the const in the implicit argument conversion in the
calls to g_once_init_{enter,leave}. It's OK so explicitly cast it.

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

7 years agotypefindhelper: Update prototype of helper_find_suggest()
Scott D Phillips [Mon, 14 Nov 2016 19:32:51 +0000 (11:32 -0800)]
typefindhelper: Update prototype of helper_find_suggest()

forward declaration prototype is updated to match the change in:

 5a72c23 Change some types to match their prototypes

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

7 years agowin32: remove copies of generated headers
Tim-Philipp Müller [Mon, 14 Nov 2016 21:28:22 +0000 (21:28 +0000)]
win32: remove copies of generated headers

7 years agodocs: remove more docbook build cruft that's no longer needed
Tim-Philipp Müller [Mon, 14 Nov 2016 21:18:13 +0000 (21:18 +0000)]
docs: remove more docbook build cruft that's no longer needed

7 years agodocs/README: remove more outdated pieces of info/advice
Stefan Sauer [Mon, 14 Nov 2016 20:29:43 +0000 (21:29 +0100)]
docs/README: remove more outdated pieces of info/advice

7 years agoscripts/gst-plot-traces.sh: make log parsing a bit more solid
Stefan Sauer [Thu, 20 Oct 2016 20:32:50 +0000 (22:32 +0200)]
scripts/gst-plot-traces.sh: make log parsing a bit more solid

Use grep -o to grab the log message only. This makes it work with colored log
files too. Prefilter the log to not catch tracer classes.

Update the commandline for the script in the docs.

7 years agomeson: require meson 0.36 and use new `pic` arg on static libs
Thibault Saunier [Thu, 20 Oct 2016 18:38:46 +0000 (15:38 -0300)]
meson: require meson 0.36 and use new `pic` arg on static libs

Removes a meson warning and some special casing we had.

7 years agoChange some types to match their prototypes
Scott D Phillips [Fri, 11 Nov 2016 18:30:44 +0000 (10:30 -0800)]
Change some types to match their prototypes

Particularly note that the underlying integer type of the enum
GstTypeFindProbability is implementation dependent and may not match
guint.

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

7 years agopo: update for new translatable strings
Tim-Philipp Müller [Mon, 14 Nov 2016 18:04:28 +0000 (18:04 +0000)]
po: update for new translatable strings

7 years agodocs: remove FAQ which was moved into gst-docs module
Tim-Philipp Müller [Mon, 14 Nov 2016 17:46:07 +0000 (17:46 +0000)]
docs: remove FAQ which was moved into gst-docs module

7 years agogst-uninstalled: add GIO_EXTRA_MODULES
Nicola Murino [Wed, 29 Apr 2015 10:34:49 +0000 (12:34 +0200)]
gst-uninstalled: add GIO_EXTRA_MODULES

In case glib is installed into local prefix dir.

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

7 years agoutils: faster GST_WRITE_* macros if unaligned access is possible
Tim-Philipp Müller [Sat, 12 Nov 2016 12:36:05 +0000 (12:36 +0000)]
utils: faster GST_WRITE_* macros if unaligned access is possible

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

7 years agoparse: better error message when linking two elements with capsfilter fails
Tim-Philipp Müller [Fri, 11 Nov 2016 20:31:03 +0000 (20:31 +0000)]
parse: better error message when linking two elements with capsfilter fails

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

7 years agoAdd gst_print(), gst_println(), gst_printerr(), gst_printerrln()
Tim-Philipp Müller [Fri, 11 Nov 2016 16:11:15 +0000 (16:11 +0000)]
Add gst_print(), gst_println(), gst_printerr(), gst_printerrln()

Useful for debugging.

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

7 years agotaglist: remove `return void` in gst_tag_register
Scott D Phillips [Fri, 11 Nov 2016 18:23:17 +0000 (10:23 -0800)]
taglist: remove `return void` in gst_tag_register

MSVC warns on this and the documentation about the warning says:

> The compiler assumes the function returns a value of type int

which is a little scary, so lets just remove the unnecessary 'return'

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

7 years agotests: add unit test for gst_adapter_prev_pts_at_offset()
Nicolas Huet [Mon, 9 May 2016 13:32:43 +0000 (15:32 +0200)]
tests: add unit test for gst_adapter_prev_pts_at_offset()

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

7 years agoadapter: fix distance when getting prev pts/dts at offset
Nicolas Huet [Wed, 27 Apr 2016 08:57:29 +0000 (10:57 +0200)]
adapter: fix distance when getting prev pts/dts at offset

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

7 years agomeson: don't add_global_arguments when being built as a subproject
Scott D Phillips [Thu, 27 Oct 2016 05:38:07 +0000 (22:38 -0700)]
meson: don't add_global_arguments when being built as a subproject

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

7 years agobasetransform: fix pool leak when early returning in decide_allocation
Guillaume Desmottes [Thu, 21 Jul 2016 08:52:30 +0000 (10:52 +0200)]
basetransform: fix pool leak when early returning in decide_allocation

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

7 years agoinfo: add GstStream and GstStreamCollection support to gst_debug_print_object()
Guillaume Desmottes [Wed, 27 Jul 2016 11:39:50 +0000 (13:39 +0200)]
info: add GstStream and GstStreamCollection support to gst_debug_print_object()

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

7 years agobasesrc: Support PROTECTION event from application
Seungha Yang [Thu, 11 Aug 2016 23:03:41 +0000 (08:03 +0900)]
basesrc: Support PROTECTION event from application

Application may want to send PROTECTION event to the src element.

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

7 years agomeson: tools: generate the targets dynamically
Antonio Ospite [Thu, 3 Nov 2016 12:34:18 +0000 (13:34 +0100)]
meson: tools: generate the targets dynamically

The three targets are the same except for input and output
files, use a loop and generate them dynamically.

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

7 years agotools: don't mention gst-feedback in man pages
Antonio Ospite [Thu, 3 Nov 2016 14:21:05 +0000 (15:21 +0100)]
tools: don't mention gst-feedback in man pages

gst-feedback no longer exists.

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

7 years agotools: put the examples descriptions before the commands in man page
Antonio Ospite [Wed, 2 Nov 2016 23:18:21 +0000 (00:18 +0100)]
tools: put the examples descriptions before the commands in man page

Put the description of the example command lines before the command
instead of after them. The new way is more intuitive.

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

7 years agotools: don't start lines with single quotes in man page
Antonio Ospite [Wed, 2 Nov 2016 21:56:01 +0000 (22:56 +0100)]
tools: don't start lines with single quotes in man page

When a line starts with a single quote it's treated in a special way by
man, which may result in paragraphs of the man page not rendered by the
man pager, so just avoid that.

A possible solution could have been to escape the singe quote with
a \(cq sequence but this is rather unreadable, instead the text has been
reformatted to have the problematic quoted 'ppc' string on the previous
line.

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

7 years agotools: escape dashes in the man pages
Antonio Ospite [Wed, 2 Nov 2016 21:36:27 +0000 (22:36 +0100)]
tools: escape dashes in the man pages

The portable way to have the dashes to be rendered as ASCII minuses is
to use the sequence backslash-dash, use this style at least for text
that can be copied and pasted (e.g. command names, file names, element
options).

Also use backslash-dash in the NAME section as suggested by lexgrog(1).

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

7 years agomeson: Fir dependencies of gstnet-1.0
Nirbheek Chauhan [Thu, 10 Nov 2016 23:12:30 +0000 (04:42 +0530)]
meson: Fir dependencies of gstnet-1.0

It depends on gst_base_dep which will pull in gst_dep

7 years agomeson: Add GstBase-1.0.gir to gst_base_dep
Nirbheek Chauhan [Thu, 10 Nov 2016 23:11:39 +0000 (04:41 +0530)]
meson: Add GstBase-1.0.gir to gst_base_dep

Without this, GIR generators can't find and use it

7 years agobaseparse: add since marker for new API to docs and fix win32 .def file
Tim-Philipp Müller [Thu, 10 Nov 2016 13:42:46 +0000 (13:42 +0000)]
baseparse: add since marker for new API to docs and fix win32 .def file

7 years agobaseparse: expose gst_base_parse_drain
Vincent Penquerc'h [Thu, 10 Nov 2016 12:47:37 +0000 (12:47 +0000)]
baseparse: expose gst_base_parse_drain

7 years agomeson: Advertise dependency on gst_dep generating girs
Thibault Saunier [Wed, 9 Nov 2016 17:07:28 +0000 (14:07 -0300)]
meson: Advertise dependency on gst_dep generating girs

And do not simply link to libgst as the gir information
location only exist in declare_dependecy

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

7 years agotests: Fix compile warning on mingw64
Victor Toso [Tue, 8 Nov 2016 16:09:53 +0000 (17:09 +0100)]
tests: Fix compile warning on mingw64

In file included from ../../libs/gst/net/gstntppacket.c:35:0,
                 from netclock-replay.c:25:
../../config.h:546:0: error: "__MSVCRT_VERSION__" redefined [-Werror]
 #define __MSVCRT_VERSION__ 0x0601

In file included from /usr/x86_64-w64-mingw32/sys-root/mingw/include/crtdefs.h:10:0,
                 from /usr/x86_64-w64-mingw32/sys-root/mingw/include/stdio.h:9,
                 from netclock-replay.c:21:
/usr/x86_64-w64-mingw32/sys-root/mingw/include/_mingw.h:220:0: note:
this is the location of the previous definition
 # define __MSVCRT_VERSION__ 0x0700

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

7 years agofunnel: Make sure to only lock the stream lock once
Sebastian Dröge [Wed, 9 Nov 2016 09:37:09 +0000 (11:37 +0200)]
funnel: Make sure to only lock the stream lock once

We also only unlock it once, and otherwise have it locked forever from
this thread, causing deadlocks on shutdown later.

7 years agopool: Fix compiler warning on mingw64
Victor Toso [Tue, 8 Nov 2016 15:58:53 +0000 (16:58 +0100)]
pool: Fix compiler warning on mingw64

gstpoll.c: In function 'release_event':
gstpoll.c:239:3: error: suggest parentheses around assignment used as
          truth value [-Werror=parentheses]

   if (status = WaitForSingleObject (set->wakeup_event, INFINITE)) {
   ^~

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

7 years agowin32: update .def for new API
Tim-Philipp Müller [Fri, 4 Nov 2016 21:15:58 +0000 (21:15 +0000)]
win32: update .def for new API

7 years agomeson: Unset the plugin paths to generate the .gir files
Thibault Saunier [Fri, 4 Nov 2016 13:19:17 +0000 (10:19 -0300)]
meson: Unset the plugin paths to generate the .gir files

Avoiding problems when using subproject:

    Failed to load plugin 'something.so: file too short

7 years agodebug: Remove the Gst only based stack trace printing implementation
Thibault Saunier [Mon, 10 Oct 2016 14:40:21 +0000 (16:40 +0200)]
debug: Remove the Gst only based stack trace printing implementation

We now have 2 other implementations that should work better.

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

7 years agotracers: leaks: Use the new gst_debug_get_stack_trace
Thibault Saunier [Fri, 7 Oct 2016 10:02:44 +0000 (12:02 +0200)]
tracers: leaks: Use the new gst_debug_get_stack_trace

And remove the local implementation of it.

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

7 years agogst: Use libunwind/libdw to generate backtraces if avalaible
Thibault Saunier [Fri, 7 Oct 2016 09:38:27 +0000 (11:38 +0200)]
gst: Use libunwind/libdw to generate backtraces if avalaible

Making the gst_debug_print_trace function more generally useful.

API:
  + gst_debug_get_trace

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

7 years agotools: gst-launch: fix minor memory leak when failing to parse options
Antonio Ospite [Wed, 2 Nov 2016 12:57:51 +0000 (13:57 +0100)]
tools: gst-launch: fix minor memory leak when failing to parse options

Commit 215cfcf99338 (gstreamer: Fix memory leaks when context parse
fails) fixes some memory leak, but in one of the newly added calls to
g_clear_error() the wrong variable was passed.

When failing to parse command line options, free the "err" variable, not
the "error" one.

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

7 years agobasesink: Make sure we never drop the preroll buffer
Nicolas Dufresne [Thu, 3 Nov 2016 19:22:34 +0000 (15:22 -0400)]
basesink: Make sure we never drop the preroll buffer

This is cosmetic as 'late' should never be set during preroll (in pause).
Though code may evolve in the future, so this is good for preventing
potential bugs.

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

7 years agobasesink: Don't nest prepare/render calls
Nicolas Dufresne [Wed, 5 Oct 2016 18:26:11 +0000 (14:26 -0400)]
basesink: Don't nest prepare/render calls

When the first buffer arrives, we endup calling:

  ->prepare()
    ->prepare()
    ->preroll()
  ->render()

This will likely confuse any element using this method. With this patch,
we ensure the preroll take place before the first render prepare() is
called. This will result in:

  ->prepare()
  ->preroll()
  ->prepare()
  ->render()

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

7 years agobasesink: fix typo in documentation
Luis de Bethencourt [Wed, 2 Nov 2016 16:27:58 +0000 (16:27 +0000)]
basesink: fix typo in documentation

Small typo in the documentatin of gst_base_sink_set_drop_out_of_segment().
Fixing it.

7 years agobasesink: Fix gst_base_sink_set_drop_out_of_segment() documentation
Sebastian Dröge [Wed, 2 Nov 2016 14:35:59 +0000 (16:35 +0200)]
basesink: Fix gst_base_sink_set_drop_out_of_segment() documentation

Also silences a GI warning.

7 years agoclock_gettime.c: Use __APPLE__ instead of __MACH__
Nirbheek Chauhan [Wed, 2 Nov 2016 08:41:43 +0000 (14:11 +0530)]
clock_gettime.c: Use __APPLE__ instead of __MACH__

Hurd also defines __MACH__, but it does not have mach_absolute_time. Use
the more strict __APPLE__ instead.

Has also been sent upstream: https://github.com/libcheck/check/pull/65

7 years agobuild: Fix AM_CONDITIONAL check for clock_gettime
Nirbheek Chauhan [Wed, 2 Nov 2016 08:31:38 +0000 (14:01 +0530)]
build: Fix AM_CONDITIONAL check for clock_gettime

It was always evaluating to false, so clock_gettime.c was always being
included into libcheck. This breaks building on Hurd and causes us to
always override clock_gettime() even when it is available.

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

7 years agogst: Also include the gstdynamictypefactory.c source file in the build
Sebastian Dröge [Wed, 2 Nov 2016 08:12:58 +0000 (10:12 +0200)]
gst: Also include the gstdynamictypefactory.c source file in the build

7 years agogst: Install gstdynamictypefactory.h header file
Sebastian Dröge [Wed, 2 Nov 2016 08:04:01 +0000 (10:04 +0200)]
gst: Install gstdynamictypefactory.h header file

7 years agoRevert "baseparse: fix draining with less data than min frame size available"
Sebastian Dröge [Wed, 2 Nov 2016 07:35:05 +0000 (09:35 +0200)]
Revert "baseparse: fix draining with less data than min frame size available"

This reverts commit 2e278aeb7128e8732f5324ab8c8b22a47950c80a.

Some parsers, specifically audio parsers, assume to get all remaining
data on EOS and just pass them onwards. While the idea here is correct,
we will probably need a property for this on baseparse for parsers to
opt-in.

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

7 years agoparse-launch: Support linking all pads with new operator
Jan Schmidt [Thu, 25 Jun 2015 17:29:27 +0000 (03:29 +1000)]
parse-launch: Support linking all pads with new operator

Introduce a new operator ':' - e.g. element1 ':' element2

For example, 'uridecodebin : encodebin' -
if the encodebin has multiple profiles compatible with the
decodebin, multiple links will be created.

With '!' , after one delayed link is successfully done, the
pad-added callback is disconnected.

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

7 years agoAdd new basesink API to exports and Since markers
Jan Schmidt [Wed, 2 Nov 2016 00:32:42 +0000 (11:32 +1100)]
Add new basesink API to exports and Since markers

Add Since markers to the new basesink API to drop
out-of-segment buffers, and add them to the
win32 exports

7 years agodynamic types: Implement dynamic types in the registry
Jan Schmidt [Wed, 13 May 2015 14:25:21 +0000 (00:25 +1000)]
dynamic types: Implement dynamic types in the registry

Implement GstDynamicTypeFactory as a new registry feature.

GstDynamicTypeFactory provides a way of registering a GType
into the registry, such that it will be registered as a dynamic
type when the registry is loaded, and then automatically loaded
if the type is needed during caps parsing.

This allows using non-core types in pad templates, by loading a
registry feature to create the GType on the fly.

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

7 years agofakesink: Add property to not drop out-of-segment buffers
Jan Schmidt [Thu, 28 Apr 2016 16:38:49 +0000 (02:38 +1000)]
fakesink: Add property to not drop out-of-segment buffers

Implement handling in basesink to not unconditionally discard
out-of-segment buffers and expose it as a new property on fakesink
(not unconditionally in all basesink based sinks).

The property defaults to FALSE.

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

7 years agovalue: Update GstValue table size for GValueArray
Sebastian Dröge [Tue, 1 Nov 2016 21:54:05 +0000 (23:54 +0200)]
value: Update GstValue table size for GValueArray

7 years agofunnel: Always push all sticky events whenever we forward a serialized event
Sebastian Dröge [Thu, 7 Jul 2016 16:41:49 +0000 (19:41 +0300)]
funnel: Always push all sticky events whenever we forward a serialized event

Otherwise downstream will have an inconsistent set of sticky events at this
point, e.g. when a TAG event is pushed and downstream wants to relate it to
the stream by looking at the current STREAM_START event.

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

7 years agotee: Set GST_PAD_FLAG_PROXY_CAPS before forwarding sticky events
Sebastian Dröge [Tue, 29 Mar 2016 07:38:05 +0000 (10:38 +0300)]
tee: Set GST_PAD_FLAG_PROXY_CAPS before forwarding sticky events

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

7 years agobaseparse: fix draining with less data than min frame size available
Tim-Philipp Müller [Sat, 29 Oct 2016 10:17:38 +0000 (11:17 +0100)]
baseparse: fix draining with less data than min frame size available

baseparse would pass whatever is left in the adapter to the
subclass when draining, even if it's less than the minimum
frame size required. This is bogus, baseparse should just
discard that data then. The original intention of that code
seems to have been that if we have more data available than
the minimum required we should pass all of the data available
and not just the minimum required, which does make sense, so
we'll continue to do that in the case that more data is available.

Fixes assertions in rawvideoparse on EOS after not-negotiated with
fakesrc sizetype=random ! queue ! rawvideoparse format=rgb ! appsink caps=video/x-raw,format=I420

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

7 years agoinfo: Replace %p and %r in GST_DEBUG_FILE
Stian Selnes [Thu, 29 Oct 2015 21:51:18 +0000 (22:51 +0100)]
info: Replace %p and %r in GST_DEBUG_FILE

It's useful to be able to set a name pattern for GST_DEBUG_FILE so that
the same environment variable can be used for multiple processes and
still write to different files. Especially useful if these processes
run simultaneously.

%p: Replaced with PID
%r: Replaced with random number

%p is obviously useful. %r is useful when for instance running two
processes with same PID but in different containers.

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

7 years agoregistry: set env GST_REGISTRY_DISABLE=yes to disable registry
Stian Selnes [Thu, 2 May 2013 08:09:29 +0000 (10:09 +0200)]
registry: set env GST_REGISTRY_DISABLE=yes to disable registry

If GST_REGISTRY_DISABLE=yes the registry is disabled similar to
compile time switch GST_DISABLE_REGISTRY.

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

7 years agogstvalue: Make GValueArray serializable
Stian Selnes [Wed, 11 Nov 2015 15:43:40 +0000 (16:43 +0100)]
gstvalue: Make GValueArray serializable

For instance very useful for logging GValueArray with GST_PTR_FORMAT

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

7 years agoelement: Allow multiple conversion specifiers for request pads
Wonchul Lee [Fri, 29 Apr 2016 07:26:49 +0000 (16:26 +0900)]
element: Allow multiple conversion specifiers for request pads

This allows pad template names like "src_%u_%u", but it does not allow
multiple specifiers of string type %s as that would lead to ambiguities.

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

7 years agopad: add no-reconfigure link check
Thiago Santos [Thu, 5 Nov 2015 20:13:25 +0000 (17:13 -0300)]
pad: add no-reconfigure link check

Enable it to prevent sending reconfigure when linking elements.

Useful for autoplugging when we know caps or bufferpools shouldn't change
to save doing caps renegotiation to end up with the same final scenario.

The no-reconfigure is not a proper check, it is a flag. It is implemented
as a GstPadLinkCheck to avoid creating another gst_pad_link variant.

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

7 years agomeson: update version
Tim-Philipp Müller [Tue, 1 Nov 2016 18:08:18 +0000 (18:08 +0000)]
meson: update version

7 years agodocs: remove app dev manual and plugin writer's guide
Tim-Philipp Müller [Tue, 1 Nov 2016 17:35:18 +0000 (17:35 +0000)]
docs: remove app dev manual and plugin writer's guide

They have moved to gst-docs and will be maintained there in future.

7 years agoBack to development
Sebastian Dröge [Tue, 1 Nov 2016 16:53:15 +0000 (18:53 +0200)]
Back to development

7 years agoRelease 1.10.0
Sebastian Dröge [Tue, 1 Nov 2016 15:50:24 +0000 (17:50 +0200)]
Release 1.10.0

7 years agoUpdate .po files
Sebastian Dröge [Tue, 1 Nov 2016 15:40:11 +0000 (17:40 +0200)]
Update .po files

7 years agopo: Update translations
Sebastian Dröge [Tue, 1 Nov 2016 15:38:43 +0000 (17:38 +0200)]
po: Update translations

7 years agoUpdate .po files
Sebastian Dröge [Tue, 1 Nov 2016 15:36:02 +0000 (17:36 +0200)]
Update .po files

7 years agomeson: Add an option to explicitly disable gtk-doc
Nirbheek Chauhan [Tue, 25 Oct 2016 06:51:07 +0000 (12:21 +0530)]
meson: Add an option to explicitly disable gtk-doc

Similar to how Autotools provides an option, default is 'enabled'.

7 years agoRevert "collectpads: Assume PTS is equal DTS if PTS is missing"
Nicolas Dufresne [Mon, 24 Oct 2016 15:45:38 +0000 (11:45 -0400)]
Revert "collectpads: Assume PTS is equal DTS if PTS is missing"

This reverts commit 9b0d42ceecb3198399d7e05e3d5f080a7ca27ca9.

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

7 years agoallocator: Mark registered allocator for leak
Nicolas Dufresne [Tue, 18 Oct 2016 15:59:25 +0000 (11:59 -0400)]
allocator: Mark registered allocator for leak

7 years agogstmessage.h: Avoid gcc bit shift overflow compiler warning
Andrew Eikum [Tue, 21 Jun 2016 13:00:30 +0000 (08:00 -0500)]
gstmessage.h: Avoid gcc bit shift overflow compiler warning

Avoids bit shift overflow warning with gcc6.

https://bugzilla.gnome.org/show_bug.cgi?id=767882 (glib)
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71803 (gcc)
https://bugzilla.gnome.org/show_bug.cgi?id=767883

7 years agoparse: fix erroneous use of _("")
Tim-Philipp Müller [Sun, 23 Oct 2016 21:11:08 +0000 (22:11 +0100)]
parse: fix erroneous use of _("")

Fixes xgettext warnings when doing 'make update-po':
gst/parse/grammar.y:217: warning: Empty msgid.  It is reserved by GNU gettext:
                                  gettext("") returns the header entry with
                                  meta information, not the empty string.

7 years agodocs: add index for API new in 1.10
Tim-Philipp Müller [Sat, 22 Oct 2016 16:05:44 +0000 (17:05 +0100)]
docs: add index for API new in 1.10

7 years agodocs: add index for API new in 1.8
Tim-Philipp Müller [Sat, 22 Oct 2016 16:05:25 +0000 (17:05 +0100)]
docs: add index for API new in 1.8

7 years agoadapter: Fix mix-up between DTS and PTS
Jesper Larsen [Fri, 21 Oct 2016 13:40:47 +0000 (15:40 +0200)]
adapter: Fix mix-up between DTS and PTS

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

7 years agoRevert "queue: Fix race when calculating cur_level.time"
Sebastian Dröge [Fri, 21 Oct 2016 12:22:28 +0000 (15:22 +0300)]
Revert "queue: Fix race when calculating cur_level.time"

This reverts commit d03bd547809f849405a3f706920091d9b03147b0.

It breaks the unit test, although it ensures that only correct values
are used for calculations. Needs to be fixed up.

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

7 years agoRevert "meson: Use the new `pic` argument on static libs"
Thibault Saunier [Thu, 20 Oct 2016 20:19:25 +0000 (17:19 -0300)]
Revert "meson: Use the new `pic` argument on static libs"

This reverts commit a5752240a178c2c651ed10167025fad8b9c4e7bd.

pic was added after 0.35 and will be present in 0.36 (meson
documentation was wrong).

7 years agomeson: Use the new `pic` argument on static libs
Thibault Saunier [Thu, 20 Oct 2016 18:38:46 +0000 (15:38 -0300)]
meson: Use the new `pic` argument on static libs

We depend on meson 0.35 which makes it simpler to handle

Removes a meson warning

7 years agoqueue: Fix race when calculating cur_level.time
Stian Selnes [Wed, 14 Sep 2016 12:23:56 +0000 (14:23 +0200)]
queue: Fix race when calculating cur_level.time

On the first buffer, it's possible that sink_segment is set but
src_segment has not been set yet. If this is the case, we should not
calculate cur_level.time since sink_segment.position may be large and
src_segment.position default is 0, with the resulting diff being larger
than max-size-time, causing the queue to start leaking (if
leaky=downstream).

One potential consequence of this is that the segment event may be
stored on the srcpad before the caps event is pushed downstream, causing
a g_warning ("Sticky event misordering, got 'segment' before 'caps'").

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

7 years agoelement: use g_strcmp0 in set_context
Matthew Waters [Mon, 26 Sep 2016 14:00:30 +0000 (00:00 +1000)]
element: use g_strcmp0 in set_context

It's NULL-safe while the libc implementation may not be.

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

7 years agoelement: check for invalid gstcontext's being provided to set_context
Matthew Waters [Mon, 26 Sep 2016 13:59:29 +0000 (23:59 +1000)]
element: check for invalid gstcontext's being provided to set_context

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

7 years agobuild: Apply XCode 8 workaround for iOS too
Nirbheek Chauhan [Tue, 18 Oct 2016 04:08:04 +0000 (09:38 +0530)]
build: Apply XCode 8 workaround for iOS too

clock_gettime was also added for iOS 10.0, so don't use it if we're
targetting an older version. That would've caused the symbol to not be
found at runtime on older devices.

7 years agomeson: Don't use c_std=c99
Nirbheek Chauhan [Sat, 15 Oct 2016 16:19:21 +0000 (21:49 +0530)]
meson: Don't use c_std=c99

Just use the default c_std used by the compiler. With GCC on Linux this
is gnu89.

Tons of errors related to time.h, signal.h, etc when using c99:

FAILED: libs/gst/check/libcheck/check@sta/check_run.c.o
cc  '-Ilibs/gst/check/libcheck/check@sta' '-fdiagnostics-color=always' '-I../libs/gst/check/libcheck' '-Ilibs/gst/check/libcheck' '-I.' '-I../.' '-Ilibs/gst/check/libcheck/..' '-I../libs/gst/check/libcheck/..' '-pipe' '-Wall' '-Winvalid-pch' '-std=c99' '-DHAVE_CONFIG_H' '-fPIC' '-O2' '-g' '-fPIC' '-MMD' '-MQ' 'libs/gst/check/libcheck/check@sta/check_run.c.o' '-MF' 'libs/gst/check/libcheck/check@sta/check_run.c.o.d' -o 'libs/gst/check/libcheck/check@sta/check_run.c.o' -c ../libs/gst/check/libcheck/check_run.c
In file included from ../libs/gst/check/libcheck/check_run.c:21:0:
../libs/gst/check/libcheck/libcompat.h:167:18: warning: ‘struct itimerspec’ declared inside parameter list will not be visible outside of this definition or declaration
     const struct itimerspec *new_value, struct itimerspec *old_value);
                  ^~~~~~~~~~
../libs/gst/check/libcheck/check_run.c:98:25: error: array type has incomplete element type ‘struct sigaction’
 static struct sigaction old_action[3];
                         ^~~~~~~~~~
../libs/gst/check/libcheck/check_run.c:99:25: error: array type has incomplete element type ‘struct sigaction’
 static struct sigaction new_action[3];
                         ^~~~~~~~~~

[...]

ninja: build stopped: subcommand failed.

The change was originally made because gnu99 was causing issues on OS X.

7 years agostats: Fix warning
Thibault Saunier [Fri, 14 Oct 2016 09:59:24 +0000 (11:59 +0200)]
stats: Fix warning

7 years agomeson: Make use of new environment object and set plugin path to builddir
Thibault Saunier [Tue, 4 Oct 2016 12:20:37 +0000 (09:20 -0300)]
meson: Make use of new environment object and set plugin path to builddir

- Properly set where to find gst-plugin-scanner
- Use GST_LOADING_WHITELIST so that only core plugins are used

Bump meson requirement to 0.35

7 years agocontrolbinding: Store object in a thread-safe GWeakRef
Sebastian Dröge [Thu, 13 Oct 2016 16:20:58 +0000 (18:20 +0200)]
controlbinding: Store object in a thread-safe GWeakRef

g_object_weak_ref() is not thread-safe.

7 years agoargbcontrolbinding: gst_object_replace() is transfer none
Sebastian Dröge [Thu, 13 Oct 2016 16:02:38 +0000 (18:02 +0200)]
argbcontrolbinding: gst_object_replace() is transfer none