Tim-Philipp Müller [Wed, 28 Oct 2009 00:29:30 +0000 (00:29 +0000)]
Remove GST_DEBUG_FUNCPTR where they're pointless
There's not much point in using GST_DEBUG_FUNCPTR with GObject
virtual functions such as get_property, set_propery, finalize and
dispose, since they'll never be used by anyone anyway. Saves a
few bytes and possibly a tenth of a polar bear.
Tim-Philipp Müller [Wed, 28 Oct 2009 00:07:48 +0000 (00:07 +0000)]
capsfilter: sprinkle some GST_DEBUG_FUNCPTR
Wim Taymans [Tue, 27 Oct 2009 14:47:39 +0000 (15:47 +0100)]
design: add some ideas for SKIP mode trickmodes
Wim Taymans [Fri, 23 Oct 2009 14:20:02 +0000 (10:20 -0400)]
multiqueue: buffering is implemented now
Wim Taymans [Fri, 23 Oct 2009 01:24:24 +0000 (21:24 -0400)]
multiqueue: make sure percent increases
Keep track of the last posted percent message and make sure the next percent
messages are strictly increasing.
Wim Taymans [Thu, 22 Oct 2009 20:38:12 +0000 (16:38 -0400)]
multiqueue: refactor buffering code
Move the buffering update code to a separate function so that we can call it
when the buffering state changes due to EOS.
Avoid dividing by 0.
Wim Taymans [Thu, 22 Oct 2009 18:09:01 +0000 (14:09 -0400)]
multiqueue: add buffering support
Add support for buffering mode where we post BUFFERING messages based on the
level of the queues. It currently operates on the first queue that goes over or
under the high/low thresholds.
Wim Taymans [Thu, 22 Oct 2009 18:07:31 +0000 (14:07 -0400)]
multiqueue: don't check visible items in buffering
In buffering mode we want to ignore the max visible items to decide when the
queue is filled. Instead, we only look at the number of bytes and/or time in the
queue.
Wim Taymans [Wed, 21 Oct 2009 15:30:40 +0000 (11:30 -0400)]
multiqueue: hook up low/high percent
Hook up the low/high percent properties for the buffering mode.
Wim Taymans [Wed, 21 Oct 2009 15:24:47 +0000 (11:24 -0400)]
multiqueue: hook up property for buffering
Wim Taymans [Thu, 22 Oct 2009 14:21:39 +0000 (15:21 +0100)]
multiqueue: small cleanups
Remove unused variable to avoid confusion
Fix some typo
Wim Taymans [Thu, 22 Oct 2009 13:41:52 +0000 (09:41 -0400)]
multiqueue: add FIXME for wrong code
Needs further investigation
Wim Taymans [Wed, 21 Oct 2009 18:20:29 +0000 (14:20 -0400)]
multiqueue: fix debug output
Wim Taymans [Wed, 21 Oct 2009 18:15:05 +0000 (14:15 -0400)]
multiqueue: avoid shadowing function argument
Don't shadow the sq argument in the underrun_cb function but use
a different variable name to iterate the other queues.
Use the same variable name in the overrun_cb function.
Wim Taymans [Wed, 21 Oct 2009 18:12:12 +0000 (14:12 -0400)]
multiqueue: make queue arg explicit
Make the queue argument to IS_FILLED explicit
Wim Taymans [Wed, 21 Oct 2009 15:17:08 +0000 (11:17 -0400)]
multiqueue: fix properties
Fix properties, make the extra-size properties as not implemented.
Stefan Kost [Sun, 25 Oct 2009 19:35:09 +0000 (21:35 +0200)]
debugutils: allow to hide/show pad status with graphdetails flag
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