Sebastian Dröge [Sat, 24 Oct 2009 11:14:25 +0000 (13:14 +0200)]
typefindhelper: Remove obsolete FIXME
It's not necessary (and not a good idea) to cache the typefind factory
list anymore.
Sebastian Dröge [Sat, 24 Oct 2009 09:58:25 +0000 (11:58 +0200)]
registry: private is a C++ keyword, don't use it
...otherwise C++ compilers will complain when including gstregistry.h
Tim-Philipp Müller [Sat, 24 Oct 2009 09:21:30 +0000 (10:21 +0100)]
docs: add Since tag to docs for new API
And tell gtk-doc that GstRegistryPrivate is private.
Edward Hervey [Wed, 21 Oct 2009 07:48:41 +0000 (09:48 +0200)]
typefind: Keep typefind factories sorted in the registry. Fixes #599147
This avoids having to do the sorting everytime we use typefind
The behaviour of gst_type_find_factory_get_list has subtlely changed
in the sense that the order was previously undefined, whereas now
it returns them sorted by rank and then by name.
Edward Hervey [Wed, 21 Oct 2009 07:45:47 +0000 (09:45 +0200)]
registry: Cache element and typefind factories. Fixes 598896
This avoids unneeded list/filtering if the registry hasn't changed
Edward Hervey [Wed, 21 Oct 2009 07:40:49 +0000 (09:40 +0200)]
gstpluginfeature: API : new gst_plugin_feature_list_copy() method
This allows copying AND incrementing the refcount at the same time,
avoiding a double iteratio of the GList
Edward Hervey [Sat, 24 Oct 2009 08:05:59 +0000 (10:05 +0200)]
gstregistry: Add a cookie for detecting feature list changes
We also create a private structure, since we will need to add more
data there in following patches.
Wim Taymans [Fri, 23 Oct 2009 17:19:04 +0000 (13:19 -0400)]
message: don't use typechecking cast macros
Simply use casting macros for accessing the message fields like we do for
buffers and events. Avoids some costly typechecking that does not really buy us
much.
Wim Taymans [Fri, 23 Oct 2009 17:13:52 +0000 (13:13 -0400)]
Revert "gstmessage: Avoid expensive src/type/timestamp fetch."
This reverts commit
61cf93a334b79a2d8493e531cc44ba45a4209805.
Edward Hervey [Fri, 23 Oct 2009 15:51:27 +0000 (17:51 +0200)]
gstmessage: Avoid expensive src/type/timestamp fetch.
If we've already checked that we have a valid message, use the entries
directly.
Edward Hervey [Fri, 23 Oct 2009 15:47:43 +0000 (17:47 +0200)]
gstcaps: Use inlined version of _is_any()/_is_empty()
CAPS_IS_ANY and CAPS_IS_EMPTY are the equivalent of their gst_caps_*
counterpart except that they avoid the typechecking and are inlined.
CAPS_IS_EMPTY_SIMPLE only checks for empty caps (without checking if
the caps is ANY).
Wim Taymans [Thu, 22 Oct 2009 20:42:13 +0000 (16:42 -0400)]
TODO: add item to TODO list
We currently do a little too much work when we push the first buffer around
resulting in excessive caps checking. We can probably make this a little less
expensive.
Jan Schmidt [Thu, 22 Oct 2009 11:52:46 +0000 (12:52 +0100)]
gstpipeline: Simplify base time checking slightly
Simplify checking and distribution of the base time - don't re-check
the value of a local variable that was set 3 lines earlier.
Edward Hervey [Thu, 22 Oct 2009 11:15:15 +0000 (13:15 +0200)]
gsturi: Optimisation: Avoid type-checking in sorting method.
We already know the list only contains plugin features
Edward Hervey [Thu, 22 Oct 2009 11:13:56 +0000 (13:13 +0200)]
gsturi: Optimisation : Cast when we're sure of the type.
Also directly access GstElementFactory->uri_type instead of going
through a function that will (once again) check whether it's a
GstElementFactory
Edward Hervey [Thu, 22 Oct 2009 10:33:37 +0000 (12:33 +0200)]
tests/fakesink: Add some debugging
Edward Hervey [Thu, 22 Oct 2009 10:33:01 +0000 (12:33 +0200)]
tests/faeksink: Lower the number of threads to avoid timeouts
We just end up with way too much contention in glib otherwise.
Edward Hervey [Mon, 19 Oct 2009 07:06:16 +0000 (09:06 +0200)]
gstregistry: Use hash table when finding a feature. Fixes #598895
Wim Taymans [Wed, 21 Oct 2009 20:26:01 +0000 (16:26 -0400)]
tee: implement custom acceptcaps function
Implement a custom acceptcaps function on the sinkpad. We can accept any caps as
long as it is accepted by all downstream peer elements.
Wim Taymans [Wed, 21 Oct 2009 17:38:57 +0000 (13:38 -0400)]
multiqueue: avoid lock for taking the counter
The counter for incomming data is already protected with the STREAM_LOCK so we
don't need to add another lock around it.
Wim Taymans [Wed, 21 Oct 2009 03:28:54 +0000 (23:28 -0400)]
registry: hash the plugin basename
Maintain a hashtable of the plugin basename. We can then use this
hashtable to speedup the search for an existing plugin and avoid
a whole lot of strcmp calls.
Wim Taymans [Wed, 21 Oct 2009 03:27:41 +0000 (23:27 -0400)]
registry: speed up _strlen
Make the _strlen function a little tighter
Wim Taymans [Wed, 21 Oct 2009 01:43:58 +0000 (21:43 -0400)]
registry: name is never NULL
When looking up a feature by name, we never call this internal
function with NULL so we don't have to check for it.
Wim Taymans [Wed, 21 Oct 2009 01:39:11 +0000 (21:39 -0400)]
registry: refactor plugin lookup
We keep lookup plugins by their basename. Avoid creating a basename
from a filename if we can.
Wim Taymans [Wed, 21 Oct 2009 01:01:55 +0000 (21:01 -0400)]
registry: do quick check for . files
Do a quick check for . files before calling the strcmp functions
Michael Smith [Tue, 20 Oct 2009 19:21:09 +0000 (12:21 -0700)]
Remove executable bits on xml unit test.
Benjamin Otte [Mon, 19 Oct 2009 14:47:10 +0000 (16:47 +0200)]
docs: Fix docs for gst_caps_set_simple()
Jan Schmidt [Mon, 19 Oct 2009 12:02:30 +0000 (13:02 +0100)]
docs: Modify docs string slightly.
Apparently starting the last line of a docs string with 'returns' both
confuses and enrages gtk-doc. Use a slightly different wording instead.
Jan Schmidt [Mon, 19 Oct 2009 11:29:35 +0000 (12:29 +0100)]
pluginloader: When a plugin is blacklisted, output a GST_ERROR line.
Edward Hervey [Mon, 19 Oct 2009 11:30:10 +0000 (13:30 +0200)]
tools/gst-inspect: Check we're not handling NULL pointers.
Edward Hervey [Mon, 19 Oct 2009 11:29:40 +0000 (13:29 +0200)]
tools/gst-inspect: Remove dead assignment
Peter Kjellerstedt [Wed, 14 Oct 2009 08:54:32 +0000 (10:54 +0200)]
trace: Do not poison gst_trace_add_entry()
Since gst_trace_add_entry() is a macro, gcc will barf when it is
defined in case it has been poisoned due to trace support being
disabled.
Stefan Kost [Sun, 18 Oct 2009 20:18:58 +0000 (23:18 +0300)]
controller: just cast in internal API where we have checked parameters already
Stefan Kost [Sun, 18 Oct 2009 20:15:07 +0000 (23:15 +0300)]
controller: use g_slice for controlled property structures
Use g_slide instead of nomal g_new, Also don't init struct with 0 as we need to
init it anyway with the real values.
Also join the 3 flags checks into one.
Edward Hervey [Sun, 18 Oct 2009 15:17:17 +0000 (17:17 +0200)]
libs/base/typefindhelper: Remove useless typechecking in tight loop
The list against which we run the comparefunc will only contain
GstPluginFeature, therefore remove the 6 expensive type checks we do
for every single comparision.
Wim Taymans [Fri, 16 Oct 2009 10:39:54 +0000 (12:39 +0200)]
caps: fix typo in docs
Edward Hervey [Fri, 16 Oct 2009 07:43:08 +0000 (09:43 +0200)]
win32: Add new API symbol
Stefan Kost [Fri, 16 Oct 2009 07:13:53 +0000 (10:13 +0300)]
Automatic update of common submodule
From 85d1530 to 0702fe1
Benjamin Otte [Wed, 7 Oct 2009 13:32:18 +0000 (15:32 +0200)]
Improve caps setters API
This patch adds gst_caps_set_value() and allows gst_caps_set_simple() to
work on non-simple caps. See the API documentation for the functions
about what they do.
The intention of these changes is to ease working with caps in caps
transform functions. An example for this would be ffmpegcolorspace,
where the caps transform function could be changed to look roughly like
this (pseudocode ahead):
result = gst_caps_copy (template_caps);
value = gst_structure_get_value (gst_caps_get_structure (caps, 0),
"widh");
gst_caps_set_value (result, value);
/* same for height, framerate and par */
return caps;
which is much cleaner and easier to understand than the current code.
https://bugzilla.gnome.org/show_bug.cgi?id=597690
Benjamin Otte [Fri, 2 Oct 2009 08:15:55 +0000 (10:15 +0200)]
Add XML_LIBS when building tests that use xml-specific functions
Jan Schmidt [Thu, 15 Oct 2009 15:35:59 +0000 (16:35 +0100)]
po: Don't create backup .po files
As well as preventing creation of useless backup files, it works
around a bug in gettext 0.17 on OS/X
Wim Taymans [Thu, 15 Oct 2009 14:30:36 +0000 (16:30 +0200)]
basesrc: fix race in PLAYING->PAUSED->PLAYING
When we quickly switch from PLAYING to PAUSED and back to PLAYING it's possible
in some cases that the task refuses to start, This is because when we go to
PAUSED, we unschedule the clock timeout, which could return UNSCHEDULED when
we're back to PLAYING, causing the task to PAUSE again with a wrong-state.
This patch checks if we are running when we return with an UNSCHEDULED return
value and if we are, try to create a new buffer.
Fixes #597550
Stefan Kost [Thu, 15 Oct 2009 09:16:05 +0000 (12:16 +0300)]
docs: clarify preset api docs
Stefan Kost [Wed, 14 Oct 2009 14:57:40 +0000 (17:57 +0300)]
docs: fix controller sections docs
Edward Hervey [Wed, 14 Oct 2009 08:40:50 +0000 (10:40 +0200)]
Automatic update of common submodule
From 6380d4b to 85d1530
Peter Kjellerstedt [Wed, 14 Oct 2009 08:16:31 +0000 (10:16 +0200)]
iterator: Fix a documentation typo
Sebastian Dröge [Wed, 14 Oct 2009 06:57:52 +0000 (08:57 +0200)]
build: ...and add missing endif
Sebastian Dröge [Wed, 14 Oct 2009 06:57:04 +0000 (08:57 +0200)]
build: Also don't run make check-exports if debugging is disabled
Peter Kjellerstedt [Wed, 14 Oct 2009 06:50:31 +0000 (08:50 +0200)]
build: Only run make check-exports if no public API was disabled
Fixes bug #598297.
Sebastian Dröge [Wed, 14 Oct 2009 06:30:07 +0000 (08:30 +0200)]
gstobject: Replace recursive gst_object_has_ancestor() with an iterative version
This is slightly more efficient because the compiler can't do tail
recursion here and has to keep all stack frames.
Not that efficiency is that important here but I already had
the iterative version somewhere else and both are easy to read.
Sebastian Dröge [Wed, 14 Oct 2009 06:29:32 +0000 (08:29 +0200)]
gstobject: Add simple unit test for gst_object_has_ancestor()
Tommi Myöhänen [Tue, 13 Oct 2009 16:12:50 +0000 (19:12 +0300)]
netclientclock: fix timestamp comparission, Fixes #597407
Jan Schmidt [Mon, 12 Oct 2009 20:51:55 +0000 (21:51 +0100)]
check: Disable the test_fail_abstract_new() test entirely on OS/X
Fixes a compiler warning from the function being compiled but not
used.
Jan Schmidt [Mon, 12 Oct 2009 13:57:35 +0000 (14:57 +0100)]
debug: Mark the GST_POLL symbol as extern to avoid multiply-defined error
Jan Schmidt [Mon, 12 Oct 2009 13:47:30 +0000 (14:47 +0100)]
Jan Schmidt [Mon, 12 Oct 2009 13:24:04 +0000 (14:24 +0100)]
gstpoll: Make the new GST_POLL debug completely private
Make the GST_POLL debug category symbol private to libgstreamer, as
there should be no external users of it.
Jan Schmidt [Mon, 12 Oct 2009 13:22:34 +0000 (14:22 +0100)]
checks: Disable a fairly silly gstobject test on OS/X
This test used to SIGBUS on OS/X but now SIGSEGV's instead on
Snow Leopard. It's not worth the effort to figure out which platform
should produce which error for what is fundamentally a pretty silly
test, so just disable it on OS/X
Edward Hervey [Mon, 12 Oct 2009 11:50:51 +0000 (13:50 +0200)]
libs/gst/check: Make writing threadsafe. Backported from libcheck trunk
Edward Hervey [Mon, 12 Oct 2009 11:49:35 +0000 (13:49 +0200)]
libs/gst/check: Run gst-indent on libcheck.
Edward Hervey [Mon, 12 Oct 2009 10:02:34 +0000 (12:02 +0200)]
gstpluginloader: Don't wait forever on gst_poll_wait.
This allows the macosx versions to properly error out when fds are closed.
This is only a temporary fix until the pluginloader is switched to not
use GstPoll but GIOChannels.
Edward Hervey [Mon, 12 Oct 2009 10:01:59 +0000 (12:01 +0200)]
gstpoll: Only take into account active fds
This is needed so that select properly errors out on macosx (sigh)
Edward Hervey [Mon, 12 Oct 2009 08:07:03 +0000 (10:07 +0200)]
gstpoll: Add some debugging statements
Edward Hervey [Mon, 12 Oct 2009 08:01:01 +0000 (10:01 +0200)]
gstpoll: Use the error fdset when using select/pselect.
This is needed to properly detect fds that are closed or that got
an error
Edward Hervey [Mon, 12 Oct 2009 07:50:46 +0000 (09:50 +0200)]
gstpoll: Don't use poll on systems with broken poll
Edward Hervey [Mon, 12 Oct 2009 07:50:00 +0000 (09:50 +0200)]
gst: Add debugging category GST_POLL for gstpoll
Edward Hervey [Mon, 12 Oct 2009 07:47:59 +0000 (09:47 +0200)]
configure.ac: Detect broken poll()
Stefan Kost [Fri, 9 Oct 2009 14:44:28 +0000 (17:44 +0300)]
basesink: lets keep -1 for segmenst as they are guint64 and not GstClockTime
Stefan Kost [Fri, 9 Oct 2009 14:11:27 +0000 (17:11 +0300)]
basesink: use GST_CLOCK_TIME_NONE and GST_CLOCK_TIME_IS_VALID more
Jan Schmidt [Thu, 8 Oct 2009 22:10:40 +0000 (23:10 +0100)]
pluginloader: Fix valgrind warnings by zeroing padding bytes.
Jan Schmidt [Thu, 8 Oct 2009 16:19:38 +0000 (17:19 +0100)]
check: Hopefully fix an 'may be used uninitialized' warning on OS/X
Jan Schmidt [Thu, 8 Oct 2009 15:21:45 +0000 (16:21 +0100)]
registrychunks: Fix a debug format string harder to satisfy OS/X's gcc.
Jan Schmidt [Thu, 8 Oct 2009 15:05:08 +0000 (16:05 +0100)]
registrychunks: Fix format string for debug error message.
Jan Schmidt [Thu, 8 Oct 2009 14:21:48 +0000 (15:21 +0100)]
pluginloader: Move stdin and stdout out of harm's way
In the plugin loader subprocess, move stdin and stdout to new fd's
so that plugins printing things during plugin init or (*gasp*)
possibly reading from stdin don't interfere with the data sent to
and from the parent.
Jan Schmidt [Thu, 8 Oct 2009 10:17:14 +0000 (11:17 +0100)]
plugin docs: Add GST_PLUGIN_SCANNER env var to the inspect environment
Jan Schmidt [Thu, 8 Oct 2009 09:59:15 +0000 (10:59 +0100)]
Automatic update of common submodule
From 37f898b to a3e3ce4
Jan Schmidt [Thu, 8 Oct 2009 09:39:28 +0000 (10:39 +0100)]
gitignores: Ignore the bytewriter check binary
Jan Schmidt [Thu, 8 Oct 2009 09:36:56 +0000 (10:36 +0100)]
registry: Fix error handling in the registry loader
When the plugin-scanner load fails (because the helper can't be
spawned), make sure to load the plugin that failed in-process, so
that all plugins do get loaded.
Jan Schmidt [Thu, 8 Oct 2009 09:26:27 +0000 (10:26 +0100)]
check: Fix test run in tests/examples/manual
Add the GST_PLUGIN_SCANNER env var to the check environment here too
so that it doesn't fail when no installed scanner is available.
Tim-Philipp Müller [Thu, 8 Oct 2009 08:34:47 +0000 (09:34 +0100)]
gstinfo: add back fix that shouldn't have been reverted
Stefan Kost [Thu, 8 Oct 2009 07:47:44 +0000 (10:47 +0300)]
queue: more queue optimizations
Split gst_queue_locked_enqueue() into variant for buffer and event to get rid of
the if() and make the code more readable (constant boolean parameters are never
nice). Removes the if (item) checks as we dereference the pointer before anyway.
Also apply the same idea of reusing the previous knowledge in
gst_queue_locked_dequeue to remove more type checks.
Stefan Kost [Thu, 8 Oct 2009 07:51:49 +0000 (10:51 +0300)]
multiqueue: split gst_multi_queue_item_new
Split gst_multi_queue_item_new into buffer and event variant to make save an if
and make code more readable.
Edward Hervey [Thu, 8 Oct 2009 06:55:59 +0000 (08:55 +0200)]
plugins/gstfilesrc: Make a fast-path for length == 0 buffer creation.
If the requested length is 0, we don't need to read anything from the file.
Edward Hervey [Thu, 8 Oct 2009 06:55:23 +0000 (08:55 +0200)]
gst/check/consistencychecker: Check type of miniobject in probe
Edward Hervey [Thu, 8 Oct 2009 06:53:54 +0000 (08:53 +0200)]
gst/base/basesink: Remove dead assignment.
The code was previously:
* checking if ret was != OK
* .. but if it was FLOW_STEP, swith it to OK
* .. and then not using ret
Instead we just make it more compact by checking if it's OK or STEP.
Edward Hervey [Thu, 8 Oct 2009 06:53:26 +0000 (08:53 +0200)]
gstobject: Remove dead assignment.
object is no longer used after that line
Edward Hervey [Thu, 8 Oct 2009 06:52:18 +0000 (08:52 +0200)]
gstindex: Make sure writer is non-NULL.
Fixes the NULL dereference a few lines lower (where it gets the object type).
Edward Hervey [Tue, 29 Sep 2009 06:13:40 +0000 (08:13 +0200)]
benchmarks: Clean up gstbufferstress.
Jan Schmidt [Thu, 8 Oct 2009 01:42:16 +0000 (02:42 +0100)]
benchmarks: Fix the complexity and mass-elements benchmarks
Jan Schmidt [Thu, 8 Oct 2009 01:20:51 +0000 (02:20 +0100)]
checks: Fix string leaks in the new childproxy test
Jan Schmidt [Thu, 8 Oct 2009 01:03:08 +0000 (02:03 +0100)]
plugin: Ignore an empty dependency list.
If a plugin registers an empty dependency set, just ignore it rather
than serialising and checking an empty set.
Jan Schmidt [Thu, 8 Oct 2009 01:01:54 +0000 (02:01 +0100)]
registrychunks: Fix off-by-one error. Improve debug.
Fix an off-by-one error in the size guard for unpack_element, and
improve various debug statements in the failure paths.
Also, swap some g_new0 to g_malloc0 for the fun of it.
Michael Smith [Wed, 7 Oct 2009 23:02:58 +0000 (16:02 -0700)]
filesink: Use _wfopen on win32 to open files with non-ascii filenames correctly.
Tim-Philipp Müller [Wed, 7 Oct 2009 22:31:20 +0000 (23:31 +0100)]
docs: fix Since: tags in docs for newly-added API
Stefan Kost [Wed, 7 Oct 2009 21:08:47 +0000 (00:08 +0300)]
info: revert two of the changes
It only needed for the non constant string.
Stefan Kost [Wed, 7 Oct 2009 20:36:45 +0000 (23:36 +0300)]
info: use a "%s" format string when printing the memory dump line
We know that the content is save, but the compiler does not.
Rob Clark [Wed, 7 Oct 2009 20:23:08 +0000 (23:23 +0300)]
parse: don't format the string twice
We were formatting the string once and then passing the string as a format
string to the log functions.
Stefan Kost [Wed, 7 Oct 2009 08:43:54 +0000 (11:43 +0300)]
pad: add variants of gst_pad_get_caps() that don't copy caps. Fixes #590941
In most places in core and baseclasses we just need the caps to do caps-
intersections. In that case ref'ed caps are enough (no need to copy).
This patch also switches the code to use the new functions.
API: gst_pad_get_caps_refed(), gst_pad_peer_get_caps_refed()
Stefan Kost [Sat, 26 Sep 2009 20:43:37 +0000 (23:43 +0300)]
tests: add ghostpad test for setting target again after pad is linked
Stefan Kost [Sat, 26 Sep 2009 20:42:22 +0000 (23:42 +0300)]
tests: remove empty lines from wrong indent run
Jan Schmidt [Wed, 7 Oct 2009 19:38:49 +0000 (20:38 +0100)]
check: Fix compilation of the bytewriter test