platform/upstream/gstreamer.git
11 years agotools/gstreamer-completion: Bash 3.2 compatibility fixes
David Rothlisberger [Fri, 21 Dec 2012 08:56:26 +0000 (08:56 +0000)]
tools/gstreamer-completion: Bash 3.2 compatibility fixes

Compatible with bash 3.2; doesn't require the bash-completion package at
all (though the easiest way to install this script is still to install
bash-completion, and then drop this script into /etc/bash_completion.d).

Note that bash 3 doesn't break COMP_WORDS according to characters in
COMP_WORDBREAKS, so "property=val" looks like a single word, so this
won't complete property values (on bash 3). Similarly,
"--gst-debug-level=<TAB>" won't complete properly (on bash 3), but
"--gst-debug-level <TAB>" will.

For that reason, I now offer "--gst-debug-level" etc as completions
instead of "--gst-debug-level=".

Functions "_init_completion" and "_parse_help" were provided by the
bash-completion package >= 2.0; now I roll my own equivalent of
"_parse_help", and instead of "_init_completion" I use
"_get_comp_words_by_ref" which is available from bash-completion 1.2
onwards. If the bash-completion package isn't available at all I use
bash's raw facilities, at the expense of not completing properly when
the cursor is in the middle of a word.

The builtin "compopt" doesn't exist in bash 3; those users will just
have to live with the inconvenience of "property=" completing to
"property= " with a trailing space. Property values aren't completed
properly anyway on bash 3 (see above).

"[[ -v var ]]" to test whether a variable is set, also doesn't exist in
bash 3. Neither does ";;&" to fall through in a "case" statement.

In the unit tests:

* On my system (OS X), "#!/bin/bash" is bash 3.2, whereas
  "#!/usr/bin/env bash" is the 4.2 version I built myself.
* I have to initialise array variables like "expected=()", or bash 3
  treats "+=" as appending to an array already populated with one empty
  string.

11 years agotools/gstreamer-completion: Support gst-inspect, and gst-launch element properties
David Rothlisberger [Wed, 19 Dec 2012 10:46:50 +0000 (10:46 +0000)]
tools/gstreamer-completion: Support gst-inspect, and gst-launch element properties

Completes options like "--gst-debug-level" and the values of some of
those options; completes gst-launch pipeline element names, property
names, and even property values (for enum or boolean properties only).

Doesn't complete all caps specifications, nor element names specified
earlier in the pipeline with "name=...".

The GStreamer version number is hard-coded into the completion script:
This patch is off the master branch and has the version hard-coded as
"1.0"; it needs to be updated if backported to the 0.10 branch. You
could always create a "gstreamer-completion.in" that has the appropriate
version inserted by "configure", but I'd rather not do that. The
hard-coded version is consistent with the previous implementation of
gstreamer-completion, which had the registry path hard-coded as
~/.gstreamer-1.0/registry.xml.

Note that GStreamer 0.10 installs "gst-inspect" and "gst-inspect-0.10".
"gst-inspect --help" only prints 4 flags (--help, --print, --gst-mm,
gst-list-mm) whereas "gst-inspect-0.10 --help-all" prints the full list
of flags. The same applies to "gst-launch" and "gst-launch-0.10".
GStreamer 1.0 only installs "gst-inspect-1.0", not "gst-inspect".

Requires bash 4; only tested with bash 4.2. Requires "bash-completion"
(which you install with your system's package manager).

Put this in /etc/bash_completion.d/ or in `pkg-config
--variable=compatdir bash-completion`, where it will be loaded at the
beginning of every new terminal session;
or in `pgk-config --variable=completionsdir bash-completion`, renamed to
match the name of the command it completes (e.g. "gst-launch-1.0", with
an additional symlink named "gst-inspect-1.0"), where it will be
autoloaded when needed.

test-gstreamer-completion.sh is (for now) in tests/misc -- it might be
worth creating "tests/check/tools", with all the necessary automake
boilerplate, and moving test-gstreamer-completion.sh there, and have it
run automatically with "make check".

IF YOU'RE NEW TO BASH COMPLETION SCRIPTS
----------------------------------------

"complete -F _gst_launch gst-launch-1.0" means that bash will run the
function "_gst_launch" to generate possible completions for the command
"gst-launch-1.0".

"_gst_launch" must return the possible completions in the array variable
COMPREPLY. (Note on bash syntax: "V=(a b c)" assigns three elements to
the array "V").

"compgen" prints a list of possible completions to standard output. Try
it:

    compgen -W "abc1 abc2 def" -- "a"
    compgen -f -- "/"

The last argument is the word currently being completed; compgen uses it
to filter out the non-matching completions. We put "--" first, in case
the word currently being completed starts with "-" or "--", so that it
isn't treated as a flag to compgen.

For the documentation of COMP_WORDS, COMP_CWORD, etc see
http://www.gnu.org/software/bash/manual/html_node/Bash-Variables.html#index-COMP_005fCWORD-180

See also:
* http://www.gnu.org/software/bash/manual/html_node/Programmable-Completion.html
* http://www.gnu.org/software/bash/manual/html_node/Programmable-Completion-Builtins.html

The bash-completion package provides the helper function
"_init_completion" which populates variables "cur", "prev", and "words".
See
http://anonscm.debian.org/gitweb/?p=bash-completion/bash-completion.git;a=blob;f=bash_completion;h=870811b4;hb=HEAD#l634

Note that by default, bash appends a space to the completed word. When
the completion is "property=" we don't want a trailing space; calling
"compopt -o nospace" modifies the currently-executing completion
accordingly. See
http://www.gnu.org/software/bash/manual/html_node/Programmable-Completion-Builtins.html#index-compopt

11 years agotools/gstreamer-completion: Updated to work with the binary registry
David Rothlisberger [Tue, 13 Nov 2012 16:36:46 +0000 (16:36 +0000)]
tools/gstreamer-completion: Updated to work with the binary registry

The original registry was in xml format (~/.gstreamer-*/registry.xml). A
binary registry format was added in 2007 (commit ebf0c9d3) and made the
default in 2008 (commit 3f39fd7e). In 0.10 you could still choose at
"configure" time to use the xml registry instead; in 1.0 the binary
registry is your only choice.

This change to gstreamer-completion should work with either format
because it parses the output of "gst-inspect" instead of reading the
registry file directly.

Note that _gst_launch no longer needs an explicit "return 0" because,
unlike the previous grep command, compgen always returns 0 (unless a
genuine error occurs).

Just like the previous implementation by David Schleef, this "only
completes names of features, but that's 90% of what I want it for."

11 years agoporting-to-1.0.txt: nit clarification
Stefan Sauer [Mon, 29 Apr 2013 19:11:36 +0000 (21:11 +0200)]
porting-to-1.0.txt: nit clarification

It is the process context that matters.

11 years agotypefind: Always leave TYPEFIND mode when we're stopping typefinding
Sebastian Dröge [Mon, 29 Apr 2013 11:20:11 +0000 (13:20 +0200)]
typefind: Always leave TYPEFIND mode when we're stopping typefinding

11 years agotypefind: Simplify code
Sebastian Dröge [Mon, 29 Apr 2013 11:03:24 +0000 (13:03 +0200)]
typefind: Simplify code

This is only called when in TYPEFIND mode.

11 years agotypefind: Push pending events independent of the existence of a downstream chain...
Sebastian Dröge [Mon, 29 Apr 2013 10:58:07 +0000 (12:58 +0200)]
typefind: Push pending events independent of the existence of a downstream chain function and peer

Downstream might create a peer only as result of the events in theory.

11 years agotypefind: Only push CAPS event once if we get one from upstream
Sebastian Dröge [Mon, 29 Apr 2013 10:56:54 +0000 (12:56 +0200)]
typefind: Only push CAPS event once if we get one from upstream

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

11 years agotypefind: Stop typefinding if we get a CAPS event from upstream
Sebastian Dröge [Mon, 29 Apr 2013 10:54:27 +0000 (12:54 +0200)]
typefind: Stop typefinding if we get a CAPS event from upstream

11 years agotypefind: Improve handling of GAP events
Sebastian Dröge [Mon, 29 Apr 2013 10:52:46 +0000 (12:52 +0200)]
typefind: Improve handling of GAP events

There's still room for improvement though.

11 years agotypefind: Forward events that should happen before the caps event directly
Sebastian Dröge [Mon, 29 Apr 2013 10:48:29 +0000 (12:48 +0200)]
typefind: Forward events that should happen before the caps event directly

There's no point in storing them and sending them later, and doing so would
later require to distinguish between events that should come before caps and
after.

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

11 years agotypefind: Only push pending buffers and events if we have caps
Sebastian Dröge [Mon, 29 Apr 2013 10:48:13 +0000 (12:48 +0200)]
typefind: Only push pending buffers and events if we have caps

11 years agotypefind: Remove code that would cause caps to be sent twice
Sebastian Dröge [Mon, 29 Apr 2013 10:39:20 +0000 (12:39 +0200)]
typefind: Remove code that would cause caps to be sent twice

Whenever we set typefind->caps we will also send a caps event downstream.

11 years agopwg: improve allocation docs
Wim Taymans [Sat, 27 Apr 2013 18:33:06 +0000 (20:33 +0200)]
pwg: improve allocation docs

11 years agocheck: set CK_TIMEOUT_MULTIPLIER on ARM
Tim-Philipp Müller [Sat, 27 Apr 2013 10:46:13 +0000 (11:46 +0100)]
check: set CK_TIMEOUT_MULTIPLIER on ARM

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

11 years agotypefind: fix caps leak when used in connection with uridecodebin and playbin
Tim-Philipp Müller [Fri, 26 Apr 2013 23:05:45 +0000 (00:05 +0100)]
typefind: fix caps leak when used in connection with uridecodebin and playbin

Don't leak forced sink caps.

11 years agocontroller: Fix element-type annotations
Thibault Saunier [Mon, 22 Apr 2013 21:08:43 +0000 (18:08 -0300)]
controller: Fix element-type annotations

11 years agoinputselector: Try to not push read-only buffers
Sebastian Dröge [Thu, 25 Apr 2013 14:38:49 +0000 (16:38 +0200)]
inputselector: Try to not push read-only buffers

We should only increase the refcount before pushing if we're
really going to use the buffer afterwards.

11 years agotests: add check for FLUSH pad probes
Alessandro Decina [Thu, 25 Apr 2013 05:15:39 +0000 (07:15 +0200)]
tests: add check for FLUSH pad probes

11 years agogstpad: run probes for FLUSH events sent with gst_pad_send_event
Alessandro Decina [Wed, 24 Apr 2013 06:40:32 +0000 (08:40 +0200)]
gstpad: run probes for FLUSH events sent with gst_pad_send_event

Move probe handling in gst_pad_send_event_unchecked so that probes are run for
FLUSH events too.

11 years agonetclock: Add support for IPv6
Sebastian Dröge [Wed, 24 Apr 2013 13:58:49 +0000 (15:58 +0200)]
netclock: Add support for IPv6

11 years agoporting-to-1.0.txt: add troubleshooting section
Tim-Philipp Müller [Wed, 24 Apr 2013 11:30:07 +0000 (12:30 +0100)]
porting-to-1.0.txt: add troubleshooting section

Add note about "cannot register existing type `GstObject'" warning.

11 years agobaseparse: Only infer TS if PTS interpolation is enabled
Sebastian Dröge [Tue, 23 Apr 2013 09:47:54 +0000 (11:47 +0200)]
baseparse: Only infer TS if PTS interpolation is enabled

Otherwise this is breaking timestamps of formats that
need reordering.

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

11 years agopad: notify caps property on NULL as well
Wim Taymans [Tue, 23 Apr 2013 09:17:05 +0000 (11:17 +0200)]
pad: notify caps property on NULL as well

Also notify the caps property when it changes to NULL

11 years agopad: clarify locking
Wim Taymans [Tue, 23 Apr 2013 09:16:16 +0000 (11:16 +0200)]
pad: clarify locking

11 years agoAutomatic update of common submodule
Tim-Philipp Müller [Mon, 22 Apr 2013 22:50:17 +0000 (23:50 +0100)]
Automatic update of common submodule

From 3cb3d3c to 5edcd85

11 years agopart-context: Write some design documentation about GstContext
Sebastian Dröge [Fri, 19 Apr 2013 13:01:20 +0000 (15:01 +0200)]
part-context: Write some design documentation about GstContext

11 years agopart-caps: Add more information about caps features, caps semantics and how to use...
Sebastian Dröge [Fri, 19 Apr 2013 11:21:34 +0000 (13:21 +0200)]
part-caps: Add more information about caps features, caps semantics and how to use them

11 years agocapsfeatures: Add documentation about ANY GstCapsFeatures
Sebastian Dröge [Fri, 19 Apr 2013 09:23:31 +0000 (11:23 +0200)]
capsfeatures: Add documentation about ANY GstCapsFeatures

11 years agobasesink: Don't set last_render_time if we're checking for a late buffer before ...
Sebastian Dröge [Fri, 19 Apr 2013 08:24:06 +0000 (10:24 +0200)]
basesink: Don't set last_render_time if we're checking for a late buffer before ::prepare()

This makes sure that at least one buffer per second is rendered if buffers
are dropped before ::prepare. Without this change, at least one buffer per
second wouldn't be too late before ::prepare anymore but would be dropped
before ::render because of last_render_time being set before ::prepare
already.

11 years agogstvalue: Add compare function for caps
Andre Moreira Magalhaes (andrunko) [Fri, 8 Feb 2013 05:57:44 +0000 (03:57 -0200)]
gstvalue: Add compare function for caps

11 years agodataqueue: add gst_data_queue_peek
Thiago Santos [Tue, 15 Jan 2013 19:57:20 +0000 (16:57 -0300)]
dataqueue: add gst_data_queue_peek

This function works just like gst_data_queue_pop, but it doesn't
remove the object from the queue.

Useful when inspecting multiple GstDataQueues to decide from which
to pop the element from.

Add: gst_data_queue_peek

11 years agotests: ignore new test binary
Tim-Philipp Müller [Thu, 18 Apr 2013 09:14:09 +0000 (10:14 +0100)]
tests: ignore new test binary

11 years agotools: update for latest context API changes
Tim-Philipp Müller [Thu, 18 Apr 2013 09:13:30 +0000 (10:13 +0100)]
tools: update for latest context API changes

11 years agocontext: Add gst_context_writable_structure() and let get_structure() return const...
Sebastian Dröge [Thu, 18 Apr 2013 08:17:44 +0000 (10:17 +0200)]
context: Add gst_context_writable_structure() and let get_structure() return const again

11 years agoprintf: fix handling of old printf extension specifiers for ABI compatibility
Tim-Philipp Müller [Wed, 17 Apr 2013 23:44:32 +0000 (00:44 +0100)]
printf: fix handling of old printf extension specifiers for ABI compatibility

Fixes abort when the old specifiers are used. Fix up the conversion
specifier, it would get overwritten with 'c' below to the extension
format char, which then later is unhandled, leading to the abort.
Also fix up and enable unit test for this.

https://bugzilla.gnome.org/process_bug.cgi

11 years agotests: add unit test for old printf extension specifiers
Tim-Philipp Müller [Wed, 17 Apr 2013 23:28:00 +0000 (00:28 +0100)]
tests: add unit test for old printf extension specifiers

To make sure we maintain binary compatibility with the old
specifiers.

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

11 years agocheck: run skipped tests if explicitly requested via GST_CHECKS
Tim-Philipp Müller [Wed, 17 Apr 2013 23:19:23 +0000 (00:19 +0100)]
check: run skipped tests if explicitly requested via GST_CHECKS

If a test that's disabled with tcase_skip_broken_test() is listed
in the GST_CHECKS environment variable, run it anyway.

11 years agogst-launch: Add GstContext support
Sebastian Dröge [Wed, 17 Apr 2013 11:47:35 +0000 (13:47 +0200)]
gst-launch: Add GstContext support

gst-launch will collect all the contexts from the pipeline elements
and update the overall pipeline context with it.

11 years agocontext: Add unit test for GstContext
Sebastian Dröge [Wed, 17 Apr 2013 10:44:29 +0000 (12:44 +0200)]
context: Add unit test for GstContext

11 years agocontext: Return a non-const GstStructure to make code simpler and update docs
Sebastian Dröge [Wed, 17 Apr 2013 10:17:49 +0000 (12:17 +0200)]
context: Return a non-const GstStructure to make code simpler and update docs

11 years agoquery: new _BANDWIDTH_LIMITED flag
Philippe Normand [Fri, 29 Mar 2013 13:56:57 +0000 (14:56 +0100)]
query: new _BANDWIDTH_LIMITED flag

Source elements with limited bandwidth capabilities and supporting
buffering for downstream elements should set this flag when answering
a scheduling query. This is useful for the on-disk buffering scenario
of uridecodebin to avoid checking the URI protocol against a list of
hardcoded protocols.

Bug 693484

11 years agodocs: fix missing flacdec in porting-to-1.0 pipeline example
Tim-Philipp Müller [Tue, 16 Apr 2013 08:55:00 +0000 (09:55 +0100)]
docs: fix missing flacdec in porting-to-1.0 pipeline example

11 years agodocs: add note about decoders and parsers to porting-to-1.0 doc
Tim-Philipp Müller [Tue, 16 Apr 2013 08:03:52 +0000 (09:03 +0100)]
docs: add note about decoders and parsers to porting-to-1.0 doc

11 years agogst: Add better support for static plugins
Sebastian Dröge [Wed, 24 Oct 2012 09:58:35 +0000 (11:58 +0200)]
gst: Add better support for static plugins

API: GST_PLUGIN_STATIC_DECLARE()
API: GST_PLUGIN_STATIC_REGISTER()

Based on a patch by Håvard Graff <havard.graff@tandberg.com>.

This now allows GST_PLUGIN_DEFINE() to create a static plugin if
GST_PLUGIN_BUILD_STATIC is defined. The resulting plugin can be
statically linked or dynamically linked during compilation but
can't be dynamically loaded during runtime.

Also adds GST_PLUGIN_STATIC_DECLARE() and GST_PLUGIN_STATIC_REGISTER(),
which allows to register a static linked plugin easily.
It is still required to manually register every single statically linked
plugin from inside the application as this can't be automated in a portable
way.

A new configure parameter --enable-static-plugins was added that allows
to build all plugins we build here as static plugins.

Fixes bug #667305.

11 years agomanual: Patch manual to refer to porting guide
Douglas Bagnall [Fri, 12 Apr 2013 01:50:39 +0000 (13:50 +1200)]
manual: Patch manual to refer to porting guide

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

11 years agopluginfeature: Fix the GstPluginFeature name comparison.
Sreerenj Balachandran [Sat, 13 Apr 2013 16:43:10 +0000 (19:43 +0300)]
pluginfeature: Fix the GstPluginFeature name comparison.

The gst_plugin_feature_rank_compare_func() should return
negative value, if the rank of both PluginFeatures are equal and
the name of first PluginFeature comes before the second one.

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

11 years agoAutomatic update of common submodule
Tim-Philipp Müller [Sun, 14 Apr 2013 16:54:22 +0000 (17:54 +0100)]
Automatic update of common submodule

From 2736592 to 3cb3d3c

11 years agoAutomatic update of common submodule
Tim-Philipp Müller [Sun, 14 Apr 2013 16:25:35 +0000 (17:25 +0100)]
Automatic update of common submodule

From aed87ae to 2736592

11 years agoprintf: disable some unused printf variants
Tim-Philipp Müller [Sun, 14 Apr 2013 10:33:41 +0000 (11:33 +0100)]
printf: disable some unused printf variants

11 years agoprintf: use sprintf() to work around glibc complaining about %n in a writable format...
Tim-Philipp Müller [Sun, 14 Apr 2013 10:23:10 +0000 (11:23 +0100)]
printf: use sprintf() to work around glibc complaining about %n in a writable format string

Don't use snprintf(), but use sprintf instead and do our own
length calculations, because glibc may complain about us passing
%n in a format string if the string is in writable memory, and
here the format string is always in writable memory since we
construct it on the fly. This happens if glibc has been compiled
with _FORTIFY_SOURCE=2, which seems to be the case on some
distros/systems). On the upside, we now use the sprintf code path
on all systems which should be better from a maintenance point
of view.

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

11 years agotests: skip all GstPoll tests on Windows
Tim-Philipp Müller [Sat, 13 Apr 2013 11:18:28 +0000 (12:18 +0100)]
tests: skip all GstPoll tests on Windows

As they don't work there, and it's non-trivial to fix.

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

11 years agogst-inspect: only add a '*' for non-'gpointer' pointers
Tim-Philipp Müller [Sat, 13 Apr 2013 11:00:12 +0000 (12:00 +0100)]
gst-inspect: only add a '*' for non-'gpointer' pointers

Spotted by Jose Antonio Santos Cadena.

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

11 years agoplugin: fix name expansion for GST_PLUGIN_DEFINE macro
Gwenole Beauchesne [Fri, 12 Apr 2013 12:48:29 +0000 (14:48 +0200)]
plugin: fix name expansion for GST_PLUGIN_DEFINE macro

Make GST_PLUGIN_DEFINE use G_STRINGIFY() to convert the name argument
into a meaningful string. The advantage of this is that `name' can be
expanded from other macros defined in the plug-in element.

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
https://bugzilla.gnome.org/show_bug.cgi?id=697872

11 years agopo: add new translatable strings
Tim-Philipp Müller [Sat, 13 Apr 2013 10:35:49 +0000 (11:35 +0100)]
po: add new translatable strings

11 years agoprintf: don't build if debugging subsystem was disabled
Tim-Philipp Müller [Fri, 12 Apr 2013 22:58:52 +0000 (23:58 +0100)]
printf: don't build if debugging subsystem was disabled

11 years agoprintf: deal with some of the HAVE_FOO used in the printf code
Tim-Philipp Müller [Wed, 10 Apr 2013 10:51:37 +0000 (11:51 +0100)]
printf: deal with some of the HAVE_FOO used in the printf code

Probably needs some more work for MSVC.

11 years agoprintf: fix alloca use for windows with mingw32
Tim-Philipp Müller [Mon, 8 Apr 2013 18:42:27 +0000 (19:42 +0100)]
printf: fix alloca use for windows with mingw32

Don't use just GLIB_HAVE_ALLOCA_H to check if alloca is available,
that's just for the header. GLib may define alloca for us otherwise
too irrespective of GLIB_HAVE_ALLOCA_H.

Fixes compiler warning with mingw32:
gst/printf/vasnprintf.c:73:0: warning: "alloca" redefined

11 years agoprintf: enable and fix compiler warnings
Tim-Philipp Müller [Sun, 7 Apr 2013 19:11:21 +0000 (20:11 +0100)]
printf: enable and fix compiler warnings

But suppress -Wformat-nonliteral warnings since sprintf
is used with a runtime-generated format string in our
vasnprintf implementation.

11 years agoprintf: fix up dodgy use of #if HAVE_FOO and #if !HAVE_FOO
Tim-Philipp Müller [Sun, 7 Apr 2013 17:21:00 +0000 (18:21 +0100)]
printf: fix up dodgy use of #if HAVE_FOO and #if !HAVE_FOO

Should use #ifdef and #ifndef.

11 years agoprintf: mark internal functions as internal
Tim-Philipp Müller [Sun, 7 Apr 2013 16:36:29 +0000 (17:36 +0100)]
printf: mark internal functions as internal

11 years agoprintf: skip pointer extension signifier chars after %p
Tim-Philipp Müller [Sun, 7 Apr 2013 16:29:02 +0000 (17:29 +0100)]
printf: skip pointer extension signifier chars after %p

So they don't get printed after the serialised pointer string.

11 years agoprintf: don't leak serialised pointer extension strings
Tim-Philipp Müller [Sun, 7 Apr 2013 16:21:10 +0000 (17:21 +0100)]
printf: don't leak serialised pointer extension strings

11 years agoprintf: handle old GST_PTR_FORMAT %P and GST_SEGMENT_FORMAT %Q defines too
Tim-Philipp Müller [Sun, 7 Apr 2013 16:02:55 +0000 (17:02 +0100)]
printf: handle old GST_PTR_FORMAT %P and GST_SEGMENT_FORMAT %Q defines too

For binary backwards compatibility.

11 years agoprintf: make printf parser recognise our pointer extension format
Tim-Philipp Müller [Sun, 7 Apr 2013 15:41:40 +0000 (16:41 +0100)]
printf: make printf parser recognise our pointer extension format

and call the hook to get a string for the pointer instead.

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

11 years agoprintf: add infrastructure for pointer extensions hook
Tim-Philipp Müller [Sat, 30 Mar 2013 18:28:38 +0000 (18:28 +0000)]
printf: add infrastructure for pointer extensions hook

Does not do anything yet. On a sidenote, we can't just use
%p\001 or so to signal the extension because g-i complains
about an invalid ascii character then, so have to resort to
something more elaborate, such as %p\aA etc.

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

11 years agoinfo: use new internal printf for debug message printing
Tim-Philipp Müller [Sat, 30 Mar 2013 17:20:13 +0000 (17:20 +0000)]
info: use new internal printf for debug message printing

and remove all the printf extension/specifier stuff for
the system printf. Next we need to add back the custom
specifiers to our own printf implementation.

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

11 years agoprintf: add our own printf implementation for debug logging
Tim-Philipp Müller [Sat, 30 Mar 2013 15:13:32 +0000 (15:13 +0000)]
printf: add our own printf implementation for debug logging

We will add support for our own printf modifiers, so we can
get nice debug log output on all operating systems irrespective
of the specific libc version used.

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

11 years agotaglist: avoid triggering an assertion
Wim Taymans [Fri, 12 Apr 2013 15:13:15 +0000 (16:13 +0100)]
taglist: avoid triggering an assertion

When deserialization of the structure fails, return a NULL taglist instead of
asserting.

11 years agogst-inspect: add pointer mark to signal and action return types that are pointers
Jose Antonio Santos Cadenas [Thu, 11 Apr 2013 12:54:32 +0000 (14:54 +0200)]
gst-inspect: add pointer mark to signal and action return types that are pointers

When the return type of a signal or action is a pointer, it
should have an asterisk to mark it as such.

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

11 years agodocs: document type change of playbin's connection-speed property in porting docs
Tim-Philipp Müller [Thu, 11 Apr 2013 21:32:39 +0000 (22:32 +0100)]
docs: document type change of playbin's connection-speed property in porting docs

11 years agobuffer: add _gst_max_memory() function
Wim Taymans [Thu, 11 Apr 2013 13:31:01 +0000 (14:31 +0100)]
buffer: add _gst_max_memory() function

Add the a function to query the maximum amount of memory blocks that can be
added to a buffer. Also improve the docs for _insert_memory().

11 years agonettimeprovider: notify of changed bound address
Wim Taymans [Thu, 11 Apr 2013 13:04:45 +0000 (14:04 +0100)]
nettimeprovider: notify of changed bound address

Notify when the bound address is known, just like the port.

11 years agolaunch: handle PROGRESS messages
Wim Taymans [Thu, 11 Apr 2013 12:55:47 +0000 (13:55 +0100)]
launch: handle PROGRESS messages

Wait for all PROGRESS messages (if any) to complete before going to the PLAYING
state. This is the only way we can wait for live elements to complete their
operations.

This is interesting for elements like rtspsrc that do some asynchronous network
requests as part of going to the PAUSED state. It could be possible that it, for
example, provides a clock and then we would like to wait until it completes
so that we can use the provided clock when going to PLAYING.

11 years agoToggle upstream and downstream in RECONFIGURE paragraph.
Douglas Bagnall [Thu, 11 Apr 2013 03:05:08 +0000 (15:05 +1200)]
Toggle upstream and downstream in RECONFIGURE paragraph.

11 years agoGstCollectPads documentation: gst_collect_pads_read is gone.
Douglas Bagnall [Wed, 10 Apr 2013 22:11:25 +0000 (10:11 +1200)]
GstCollectPads documentation: gst_collect_pads_read is gone.

11 years agobus: fix the precondition for gst_bus_disable_sync_message_emission()
Stefan Sauer [Wed, 10 Apr 2013 19:24:38 +0000 (21:24 +0200)]
bus: fix the precondition for gst_bus_disable_sync_message_emission()

Use the right variable and invert the test. The precondition should catch
someone calling to once too often.

11 years agocapsfeatures: Init debug category before ever using it
Olivier Crête [Tue, 9 Apr 2013 23:37:06 +0000 (19:37 -0400)]
capsfeatures: Init debug category before ever using it

11 years agoAutomatic update of common submodule
Stefan Sauer [Tue, 9 Apr 2013 18:59:36 +0000 (20:59 +0200)]
Automatic update of common submodule

From 04c7a1e to aed87ae

11 years agoUse xlstproc instead of docbook2html
Руслан Ижбулатов [Wed, 3 Apr 2013 17:32:54 +0000 (21:32 +0400)]
Use xlstproc instead of docbook2html

11 years agonetclientclock: bind socket before querying local address
Tim-Philipp Müller [Tue, 9 Apr 2013 09:17:45 +0000 (10:17 +0100)]
netclientclock: bind socket before querying local address

Fails on windows otherwise.

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

11 years agoconfigure: Also check for clock_gettime in libpthread
Руслан Ижбулатов [Mon, 8 Apr 2013 09:14:35 +0000 (13:14 +0400)]
configure: Also check for clock_gettime in libpthread

libwinpthreads provides POSIX time API.
It also provides libpthread alias for itself, for compatibility, so that
is what we will link with.

Fixes #697550

11 years agoclock: Do use HAVE_CLOCK_GETTIME
Руслан Ижбулатов [Mon, 8 Apr 2013 11:30:07 +0000 (15:30 +0400)]
clock: Do use HAVE_CLOCK_GETTIME

Fixes #697549

11 years agolibsabi: Special struct size values for W32
Руслан Ижбулатов [Mon, 8 Apr 2013 10:42:15 +0000 (14:42 +0400)]
libsabi: Special struct size values for W32

These account for both possible type size mismatch AND -mms-bitfields
packing. Sizes are taken from an i686-w64-mingw32-built GStreamer,
gcc 4.8.0, mingw-w64 svn-r5685.

Fixes #697551

11 years agotests: fix GstPad test on windows and in CK_FORK=no mode
Руслан Ижбулатов [Tue, 9 Apr 2013 05:22:39 +0000 (09:22 +0400)]
tests: fix GstPad test on windows and in CK_FORK=no mode

Need to clear buffer lists at the end of each test.

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

11 years agogst-launch: Fix space in fault message
David Schleef [Sat, 6 Apr 2013 23:09:54 +0000 (16:09 -0700)]
gst-launch: Fix space in fault message

11 years agocapsfeatures: Copy ANY flag when copying caps features too
Sebastian Dröge [Sat, 6 Apr 2013 20:10:58 +0000 (22:10 +0200)]
capsfeatures: Copy ANY flag when copying caps features too

11 years agocaps: Handle ANY caps features properly in more places
Sebastian Dröge [Sat, 6 Apr 2013 19:49:25 +0000 (21:49 +0200)]
caps: Handle ANY caps features properly in more places

11 years agocaps: Add test for operations on caps with ANY features
Sebastian Dröge [Sat, 6 Apr 2013 19:21:39 +0000 (21:21 +0200)]
caps: Add test for operations on caps with ANY features

11 years agocaps: Properly handle ANY caps features in caps operations
Sebastian Dröge [Sat, 6 Apr 2013 19:09:49 +0000 (21:09 +0200)]
caps: Properly handle ANY caps features in caps operations

11 years agobus: update signal docs for gst_bus_enable_sync_message_emission()
Stefan Sauer [Fri, 5 Apr 2013 19:10:48 +0000 (21:10 +0200)]
bus: update signal docs for gst_bus_enable_sync_message_emission()

11 years agomultiqueue: ignore empty not-linked queues
Wim Taymans [Fri, 5 Apr 2013 08:15:37 +0000 (10:15 +0200)]
multiqueue: ignore empty not-linked queues

We need to ignore the not-linked queues in the underrun and overrun callbacks
because they are expected to be empty.

11 years agocaps: fix caps feature leak
Tim-Philipp Müller [Thu, 4 Apr 2013 22:12:52 +0000 (23:12 +0100)]
caps: fix caps feature leak

Fixes leaks in 14 core unit tests including
gst/gstcaps.

11 years agomultiqueue: start pushing again on RECONFIGURE
Wim Taymans [Thu, 4 Apr 2013 17:16:23 +0000 (19:16 +0200)]
multiqueue: start pushing again on RECONFIGURE

When we got NOT_LINKED before and we receive a RECONFIGURE event, start pushing
again on the source pad.

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

11 years agoqueue2: start pushing again on RECONFIGURE
Wim Taymans [Thu, 4 Apr 2013 17:07:29 +0000 (19:07 +0200)]
queue2: start pushing again on RECONFIGURE

When we got NOT_LINKED before and we receive a RECONFIGURE event, start pushing
again on the source pad.

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

11 years agoqueue: start pushing again on RECONFIGURE
Wim Taymans [Thu, 4 Apr 2013 17:06:35 +0000 (19:06 +0200)]
queue: start pushing again on RECONFIGURE

When we got NOT_LINKED before and we receive a RECONFIGURE event, start pushing
again on the source pad.

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

11 years agostructure: simplify is_subset check
Wim Taymans [Thu, 4 Apr 2013 15:59:10 +0000 (17:59 +0200)]
structure: simplify is_subset check

Iterate over the fields of the superset instead of those of the subset.
This way we can check the presence of the subset field and do the subset check
in one iteration.

11 years agocaps: update docs, is_subset() works now
Wim Taymans [Thu, 4 Apr 2013 15:46:09 +0000 (17:46 +0200)]
caps: update docs, is_subset() works now

11 years agobufferpool: fix docs
Wim Taymans [Thu, 4 Apr 2013 14:39:23 +0000 (16:39 +0200)]
bufferpool: fix docs

11 years agopad: add gst_pad_store_sticky_event()
Wim Taymans [Thu, 4 Apr 2013 14:20:24 +0000 (16:20 +0200)]
pad: add gst_pad_store_sticky_event()

Rewire some internal functions and expose a new
gst_pad_store_sticky_event() function.

API: gst_pad_store_sticky_event()