Sebastian Dröge [Thu, 9 May 2013 15:21:13 +0000 (17:21 +0200)]
pad: Make sure pending, older sticky events are sent downstream in dynamic linking scenarios
If a pad block was triggered from sending a sticky event downstream, it
could happen that the pad block is relinking pads, which then requires
to resend previous sticky events.
Sebastian Dröge [Thu, 9 May 2013 11:32:07 +0000 (13:32 +0200)]
tests: Fix event order warnings and dataflow before stream-start/segment event
Sebastian Dröge [Thu, 9 May 2013 11:31:38 +0000 (13:31 +0200)]
basetransform: Properly port unit test to actually use caps and check results
Sebastian Dröge [Thu, 9 May 2013 10:50:20 +0000 (12:50 +0200)]
queue: Store sticky events on the srcpad if we're dropping them because of leaking
Sebastian Dröge [Thu, 9 May 2013 10:27:12 +0000 (12:27 +0200)]
outputselector: Always forward sticky events to all pads
Sebastian Dröge [Thu, 9 May 2013 10:15:48 +0000 (12:15 +0200)]
inputselector: Forward all sticky events, including stream-start
Sebastian Dröge [Thu, 9 May 2013 09:05:50 +0000 (11:05 +0200)]
pad: Warn if data flow happens before stream-start or segment event
Sebastian Dröge [Thu, 9 May 2013 08:59:41 +0000 (10:59 +0200)]
pad: Only let gst_pad_sticky_events_foreach() iterate over existing events
Sebastian Dröge [Thu, 9 May 2013 08:29:11 +0000 (10:29 +0200)]
pad: If we push sticky events because of another sticky event, only push those that come before the new event
https://bugzilla.gnome.org/show_bug.cgi?id=699937
Sebastian Dröge [Thu, 9 May 2013 07:50:41 +0000 (09:50 +0200)]
capsfilter: Add more debug output and forward caps events immediately too
Sebastian Dröge [Thu, 9 May 2013 07:42:33 +0000 (09:42 +0200)]
pad: No sticky events must arrive after EOS
Sebastian Dröge [Thu, 9 May 2013 07:38:35 +0000 (09:38 +0200)]
capsfilter: Fix typo in last commit
Nicolas Dufresne [Wed, 8 May 2013 23:44:09 +0000 (19:44 -0400)]
pad: Improve warning message naming events type name
With this patch, message should look like ¨Sticky event misordering, got
'caps' before 'stream-start'¨ making it faster to debug.
https://bugzilla.gnome.org/show_bug.cgi?id=688188
Nicolas Dufresne [Wed, 8 May 2013 22:19:48 +0000 (18:19 -0400)]
pad: Only inforce STREAM_START, CAPS and SEGMENT ordering
Previous patch was inforcing a complete ordering of the sticky events, while
in fact, only STREAM_START, CAPS and SEGMENT events need proper ordering.
See: https://bugzilla.gnome.org/show_bug.cgi?id=688188
Sebastian Dröge [Thu, 9 May 2013 07:32:49 +0000 (09:32 +0200)]
capsfilter: Send all events that should happen after CAPS after the CAPS event
Nicolas Dufresne [Thu, 9 May 2013 01:45:08 +0000 (21:45 -0400)]
capsfilter: Send caps before segment
In the case the source has no caps, caps must be sent before segment. This
fixes few unit tests that where failing due to the new misordering warning.
https://bugzilla.gnome.org/show_bug.cgi?id=699968
Nicolas Dufresne [Wed, 8 May 2013 01:53:37 +0000 (21:53 -0400)]
pad: Detect, fix and warn when sticky events are in wrong order
We can prevent buggy element from causing other elements to fail or crash
by sorting sticky event at insertion. In this case, we also warn as this
is not supposed to happen.
See: https://bugzilla.gnome.org/show_bug.cgi?id=688188
Tim-Philipp Müller [Wed, 8 May 2013 09:26:15 +0000 (10:26 +0100)]
tests: add some basic checks for gst_buffer_fill()
Tim-Philipp Müller [Wed, 8 May 2013 09:25:36 +0000 (10:25 +0100)]
buffer: allow calling _fill() with a NULL data pointer if size is 0 bytes
Sebastian Dröge [Tue, 7 May 2013 14:46:32 +0000 (16:46 +0200)]
basesrc: Add FIXME comment for unused assignment results
Tim-Philipp Müller [Tue, 7 May 2013 14:18:06 +0000 (15:18 +0100)]
docs: fix typo in metadata section in app dev manual
There's no g_tag_list_get_xyz().
Sreerenj Balachandran [Tue, 7 May 2013 11:47:09 +0000 (14:47 +0300)]
controller: Fix the function signature and a minor typo fix
https://bugzilla.gnome.org/show_bug.cgi?id=699827
Nicolas Dufresne [Mon, 6 May 2013 22:47:44 +0000 (18:47 -0400)]
typefind: Send stream-start before anything else
To do so, send stream-start when the streaming thread goes up for the first
time.
https://bugzilla.gnome.org/show_bug.cgi?id=699767
David Rothlisberger [Wed, 26 Dec 2012 11:54:51 +0000 (11:54 +0000)]
tools/gstreamer-completion: Allow 1.0 and 0.10 scripts installed simultaneously
As long as the scripts' filenames are different, and the _gst_inspect
and _gst_launch functions are named differently, the completion scripts
for GStreamer 1.0 and 0.10 can be installed side-by-side in
/etc/bash_completion.d.
On my 0.10 branch† the completion script is renamed to
"gstreamer-completion-0.10" and the functions are renamed to
"_gst_inspect_0_10" and "_gst_launch_0_10". The remaining helper
functions should remain identical (the command-line interface to
gst-inspect hasn't changed, nor has the format of the gst-launch
pipeline), so it doesn't matter if the 1.0 script overrides the 0.10
script's definitions.
Note that I don't expect there to be another GStreamer 0.10 release, so
the 0.10 completion script will probably never be officially released;
but it is still worthwhile allowing both scripts to be installed
alongside each other, for those who install the 0.10 completion script
manually.
Fixes: #690515
† https://github.com/drothlis/gstreamer/blob/bash-completion-0.10/tools/gstreamer-completion-0.10
David Rothlisberger [Fri, 21 Dec 2012 18:13:53 +0000 (18:13 +0000)]
tools/gstreamer-completion: Complete option & property values on bash 3.2
Bash 3's completion doesn't split words by characters in
COMP_WORDBREAKS. In particular it doesn't split at "=" signs. Now
_gst_launch_parse handles both bash 3 and 4 format of COMP_WORDS.
Note that "${cur%%=*}" means cur's value with the longest possible match
of "=*" deleted from the end; "${cur#*=}" means cur's value with the
shortest possible match of "*=" deleted from the beginning. See
http://www.gnu.org/software/bash/manual/html_node/Shell-Parameter-Expansion.html
Regardless of the version of bash running the unit tests, I can test for
both behaviours because the unit test populates COMP_WORDS manually. So
this tests the bash 3 behaviour:
test_gst_inspect_completion --gst-debug-level=4
and this tests the bash 4 behaviour:
test_gst_inspect_completion --gst-debug-level = 4
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.
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
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."
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.
Sebastian Dröge [Mon, 29 Apr 2013 11:20:11 +0000 (13:20 +0200)]
typefind: Always leave TYPEFIND mode when we're stopping typefinding
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.
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.
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
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
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.
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
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
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.
Wim Taymans [Sat, 27 Apr 2013 18:33:06 +0000 (20:33 +0200)]
pwg: improve allocation docs
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
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.
Thibault Saunier [Mon, 22 Apr 2013 21:08:43 +0000 (18:08 -0300)]
controller: Fix element-type annotations
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.
Alessandro Decina [Thu, 25 Apr 2013 05:15:39 +0000 (07:15 +0200)]
tests: add check for FLUSH pad probes
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.
Sebastian Dröge [Wed, 24 Apr 2013 13:58:49 +0000 (15:58 +0200)]
netclock: Add support for IPv6
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.
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
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
Wim Taymans [Tue, 23 Apr 2013 09:16:16 +0000 (11:16 +0200)]
pad: clarify locking
Tim-Philipp Müller [Mon, 22 Apr 2013 22:50:17 +0000 (23:50 +0100)]
Automatic update of common submodule
From 3cb3d3c to 5edcd85
Sebastian Dröge [Fri, 19 Apr 2013 13:01:20 +0000 (15:01 +0200)]
part-context: Write some design documentation about GstContext
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
Sebastian Dröge [Fri, 19 Apr 2013 09:23:31 +0000 (11:23 +0200)]
capsfeatures: Add documentation about ANY GstCapsFeatures
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.
Andre Moreira Magalhaes (andrunko) [Fri, 8 Feb 2013 05:57:44 +0000 (03:57 -0200)]
gstvalue: Add compare function for caps
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
Tim-Philipp Müller [Thu, 18 Apr 2013 09:14:09 +0000 (10:14 +0100)]
tests: ignore new test binary
Tim-Philipp Müller [Thu, 18 Apr 2013 09:13:30 +0000 (10:13 +0100)]
tools: update for latest context API changes
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
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
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
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.
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.
Sebastian Dröge [Wed, 17 Apr 2013 10:44:29 +0000 (12:44 +0200)]
context: Add unit test for GstContext
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
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
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
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
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.
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
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
Tim-Philipp Müller [Sun, 14 Apr 2013 16:54:22 +0000 (17:54 +0100)]
Automatic update of common submodule
From 2736592 to 3cb3d3c
Tim-Philipp Müller [Sun, 14 Apr 2013 16:25:35 +0000 (17:25 +0100)]
Automatic update of common submodule
From aed87ae to 2736592
Tim-Philipp Müller [Sun, 14 Apr 2013 10:33:41 +0000 (11:33 +0100)]
printf: disable some unused printf variants
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
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
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
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
Tim-Philipp Müller [Sat, 13 Apr 2013 10:35:49 +0000 (11:35 +0100)]
po: add new translatable strings
Tim-Philipp Müller [Fri, 12 Apr 2013 22:58:52 +0000 (23:58 +0100)]
printf: don't build if debugging subsystem was disabled
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.
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
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.
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.
Tim-Philipp Müller [Sun, 7 Apr 2013 16:36:29 +0000 (17:36 +0100)]
printf: mark internal functions as internal
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.
Tim-Philipp Müller [Sun, 7 Apr 2013 16:21:10 +0000 (17:21 +0100)]
printf: don't leak serialised pointer extension strings
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.
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
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
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
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
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.
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
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
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().
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.
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.
Douglas Bagnall [Thu, 11 Apr 2013 03:05:08 +0000 (15:05 +1200)]
Toggle upstream and downstream in RECONFIGURE paragraph.