Edward Hervey
27284628e4
optimisation : Use g_object_newv where possible.
...
This avoids:
* triple-checking for the GType when type-checking is enabled (see #597260 )
* Avoids going through an expensive no-argument checking which landed in
glib-2.22
* Avoids going through 2 extrac functions (g_object_new -> g_object_new_valist)
2009-10-28 09:31:17 +01:00
Stefan Kost
118509af69
docs: include annotation glossary to have working links.
2009-10-28 10:15:12 +02:00
Stefan Kost
cfebdcd452
annotations: add annotations to gst_init_check too
2009-10-28 10:14:36 +02:00
Stefan Kost
b66a4dbd42
docs: tell more about what happens in gst_init.
...
Add links to gst_update_registry and the env-vars.
2009-10-28 09:58:52 +02:00
Stefan Kost
369a63b11c
docs: remove reference to OGI and rephrase sections docs
...
The OGI links are dead, so remove them. Also remove the paragraph that pointed
to OGI and DS. Only mentioning DS there made it a but pointless. Add a generic
paragraph instead that tells a bit about the usecases gstreamer covers.
2009-10-28 09:38:45 +02:00
Tim-Philipp Müller
daecaf0e8a
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.
2009-10-28 00:44:24 +00:00
Tim-Philipp Müller
ff7d9470b7
capsfilter: sprinkle some GST_DEBUG_FUNCPTR
2009-10-28 00:44:07 +00:00
Wim Taymans
ac1e923617
design: add some ideas for SKIP mode trickmodes
2009-10-27 15:47:39 +01:00
Wim Taymans
03baa04059
multiqueue: buffering is implemented now
2009-10-27 14:40:19 +01:00
Wim Taymans
b852da60d4
multiqueue: make sure percent increases
...
Keep track of the last posted percent message and make sure the next percent
messages are strictly increasing.
2009-10-27 14:40:17 +01:00
Wim Taymans
30fc865162
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.
2009-10-27 14:40:15 +01:00
Wim Taymans
99dd9830a9
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.
2009-10-27 14:40:12 +01:00
Wim Taymans
07991ae4ab
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.
2009-10-27 14:40:09 +01:00
Wim Taymans
6ac9191527
multiqueue: hook up low/high percent
...
Hook up the low/high percent properties for the buffering mode.
2009-10-27 14:40:07 +01:00
Wim Taymans
b9d4f6e550
multiqueue: hook up property for buffering
2009-10-27 14:40:02 +01:00
Wim Taymans
c6b0d4a43d
multiqueue: small cleanups
...
Remove unused variable to avoid confusion
Fix some typo
2009-10-27 13:22:47 +01:00
Wim Taymans
6082b0bc89
multiqueue: add FIXME for wrong code
...
Needs further investigation
2009-10-27 13:18:31 +01:00
Wim Taymans
354cf53f81
multiqueue: fix debug output
2009-10-27 13:18:29 +01:00
Wim Taymans
606852c586
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.
2009-10-27 13:18:25 +01:00
Wim Taymans
814ee012e7
multiqueue: make queue arg explicit
...
Make the queue argument to IS_FILLED explicit
2009-10-27 13:18:20 +01:00
Wim Taymans
c490d7542c
multiqueue: fix properties
...
Fix properties, make the extra-size properties as not implemented.
2009-10-27 13:18:00 +01:00
Stefan Kost
b83fb45fac
debugutils: allow to hide/show pad status with graphdetails flag
2009-10-27 12:06:35 +02:00
Sebastian Dröge
c57e5bf07e
typefindhelper: Remove obsolete FIXME
...
It's not necessary (and not a good idea) to cache the typefind factory
list anymore.
2009-10-24 13:14:25 +02:00
Sebastian Dröge
b04f7489bf
registry: private is a C++ keyword, don't use it
...
...otherwise C++ compilers will complain when including gstregistry.h
2009-10-24 11:58:25 +02:00
Tim-Philipp Müller
4a9e983f4a
docs: add Since tag to docs for new API
...
And tell gtk-doc that GstRegistryPrivate is private.
2009-10-24 10:31:08 +01:00
Edward Hervey
5067664c09
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.
2009-10-24 10:44:09 +02:00
Edward Hervey
c79ed99bab
registry: Cache element and typefind factories. Fixes 598896
...
This avoids unneeded list/filtering if the registry hasn't changed
2009-10-24 10:44:04 +02:00
Edward Hervey
ebee258806
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
2009-10-24 10:39:30 +02:00
Edward Hervey
9e792ee5b8
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.
2009-10-24 10:39:13 +02:00
Wim Taymans
db79dd88c3
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.
2009-10-23 13:40:32 -04:00
Wim Taymans
c9a7e2d188
Revert "gstmessage: Avoid expensive src/type/timestamp fetch."
...
This reverts commit 61cf93a334
.
2009-10-23 13:13:52 -04:00
Edward Hervey
61cf93a334
gstmessage: Avoid expensive src/type/timestamp fetch.
...
If we've already checked that we have a valid message, use the entries
directly.
2009-10-23 18:21:47 +02:00
Edward Hervey
e5a13bd3fc
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).
2009-10-23 17:47:43 +02:00
Wim Taymans
c10690aea2
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.
2009-10-22 16:42:13 -04:00
Jan Schmidt
dc2c4de73a
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.
2009-10-22 12:54:17 +01:00
Edward Hervey
517ab2860e
gsturi: Optimisation: Avoid type-checking in sorting method.
...
We already know the list only contains plugin features
2009-10-22 13:16:07 +02:00
Edward Hervey
a9ed7c0ec4
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
2009-10-22 13:13:56 +02:00
Edward Hervey
5583220a1d
tests/fakesink: Add some debugging
2009-10-22 12:33:37 +02:00
Edward Hervey
ca054ff4e5
tests/faeksink: Lower the number of threads to avoid timeouts
...
We just end up with way too much contention in glib otherwise.
2009-10-22 12:33:01 +02:00
Edward Hervey
4b13520b61
gstregistry: Use hash table when finding a feature. Fixes #598895
2009-10-22 11:13:47 +02:00
Wim Taymans
2f7b348fc0
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.
2009-10-21 16:26:01 -04:00
Wim Taymans
b95cc5031b
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.
2009-10-21 13:38:57 -04:00
Wim Taymans
368b7899c0
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.
2009-10-20 23:28:54 -04:00
Wim Taymans
5de94ede2f
registry: speed up _strlen
...
Make the _strlen function a little tighter
2009-10-20 23:27:41 -04:00
Wim Taymans
50b9a3ecc3
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.
2009-10-20 21:43:58 -04:00
Wim Taymans
d722d16155
registry: refactor plugin lookup
...
We keep lookup plugins by their basename. Avoid creating a basename
from a filename if we can.
2009-10-20 21:39:11 -04:00
Wim Taymans
1be3d5cd83
registry: do quick check for . files
...
Do a quick check for . files before calling the strcmp functions
2009-10-20 21:15:56 -04:00
Michael Smith
d833b39a85
Remove executable bits on xml unit test.
2009-10-20 12:21:41 -07:00
Benjamin Otte
868711fc70
docs: Fix docs for gst_caps_set_simple()
2009-10-20 10:51:25 +01:00
Jan Schmidt
08c56edb84
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.
2009-10-19 13:02:30 +01:00