Commit graph

10960 commits

Author SHA1 Message Date
Edward Hervey 6aa8ca37ee micro-optim: if (x) is cheaper than if (x > 0) for unsigned integers 2010-12-03 12:03:42 +01:00
Edward Hervey 5519b1fcb1 gstquery: Use structure property directly, avoid function variable.
All functions in this file can access the structure field of a query directly.
This avoids having to call gst_query_get_structure() to get it, along with being
able to remove some function variables that were used to store the result of that
function.
2010-12-03 11:33:37 +01:00
Edward Hervey 3a9396d259 gstinfo: remove useless ternary operator usage. 2010-12-03 11:33:37 +01:00
Edward Hervey 6b002234cd gstevent: Use structure property directly, avoid function variable.
All functions in this file can access the structure field of an event directly.
This avoids having to call gst_query_get_structure() to get it, along with being
able to remove some function variables that were used to store the result of that
function.
2010-12-03 11:33:37 +01:00
Wim Taymans cec2a42808 pad: add push cache to bufferlists
Add the push cahce for the bufferlist push code path as well.
2010-12-03 11:28:52 +01:00
Wim Taymans 59bc71c47a pad: don't cache the peer chainfunc
There is no need to cache the peer chainfunction as we can just as efficiently
get to it from the peer object. Also not caching the chain function works better
because then we automatically get the new chainfunctions when they change.
2010-12-03 11:28:52 +01:00
Wim Taymans d3630379da pad: clear pad cache when installing probes
Move the method to clear the pad cache into _private.h
Clear the pad cache when installing pad probes.
2010-12-03 11:28:52 +01:00
Wim Taymans 2239038d76 pad: explicitly inline some functions 2010-12-03 11:28:52 +01:00
Wim Taymans 67d7c543b3 pad: remove unused variable 2010-12-03 11:28:52 +01:00
Wim Taymans 5e37ade932 pad: invalidate caches on flush and pad block 2010-12-03 11:28:52 +01:00
Wim Taymans 8abc14052a pad: don't unref NULL caps 2010-12-03 11:28:52 +01:00
Wim Taymans 14542a0d46 pad: add invalidate function
More small optimisations, remove the unneeded valid boolean.
Add function to invalide the cache.
Invalidate the cache on unlink.
2010-12-03 11:28:52 +01:00
Wim Taymans 1c79181afd pad: small cleanup 2010-12-03 11:28:52 +01:00
Wim Taymans b83e66be46 pad: improve pad push caching
Build the cache while we push data. When we don't have a cache, we run the
slowpath and collect cacheable properties. When all conditions are met, keep the
cached data around so that we can more efficiently push data around.
2010-12-03 11:28:52 +01:00
Wim Taymans d59b7f81b7 pad: prototype of pad push cache
Prototype of how we can cache the peer and caps for a pad link.
2010-12-03 11:28:52 +01:00
Stefan Kost 7106cabce3 docs: fix previous extract.pl commit
Make it also work in the srcdir=builddir case again.
2010-12-03 12:24:42 +02:00
Wim Taymans 1e1872137d task: avoid task lock for each iteration
Make the task state an atomic variable so that we can avoid taking and releasing
the task lock for each iteration.
2010-12-03 11:21:03 +01:00
Stefan Kost caf006c03a docs: fix example matching in extract.pl
When building with $srcdir != $builddir output would contain the builddir path.
Strip the path when scanning the xml for the example markers.
2010-12-03 10:18:19 +02:00
Stefan Kost 898583b2a0 docs: query doc improvements
More xrefs. Mentioned that some queries need a running pipeline.
2010-12-03 09:50:32 +02:00
Stefan Kost a4c5448eee elementfactory: clarify list item types in comments 2010-12-03 09:50:31 +02:00
Stefan Kost d4e2107987 padtemplate: add two FIXME0.11: comments 2010-12-03 09:50:31 +02:00
Stefan Kost f9039c2204 padtemplate: allow disablinbg the template name conformance checks 2010-12-03 09:50:31 +02:00
Stefan Kost 20c173bada padtemplate: the supplied caps may not be NULL
There is a earlier g_return_val_if_fail check. Also
gst_static_pad_template_get does not have such a check.
2010-12-03 09:50:31 +02:00
Andoni Morales Alastruey d2d42082c3 fakesink: Print sink-message events like a message and the GstMessage structure 2010-12-03 09:50:31 +02:00
Stefan Kost 16ce2d4ea4 design-docs: add html output using asciidoc
Unify the ad-hoc markup to be asciidoc style in many places. Add a "html" target
to Makefile to generate the output.
2010-12-03 09:50:31 +02:00
Stefan Kost 1c50dcd54f gstobject: more default name generation more efficient
Save ~2000 malloc/memcpy/free pairs at startup by running to_lower in-place.
Also skip the numbers as we can.
2010-12-03 09:50:31 +02:00
Stefan Kost aa440a1e24 pluginfeature: use the parent_class from G_DEFINE_TYPE macro and drop extra copy 2010-12-03 09:50:31 +02:00
Stefan Kost ffa8f100ce elementfactory: use g_intern_string for interface names 2010-12-03 09:50:31 +02:00
Stefan Kost d370a2437a registry: also intern the static caps 2010-12-03 09:42:44 +02:00
Stefan Kost 2d17d86ba8 elementfactory: meta-data can be NULL 2010-12-03 00:00:09 +02:00
Thiago Santos 2f94ad3d6c gstdatetime: Fix handling of timezones
Fix returning of timezones on systems with gdatetime
to use floats on the math expression to avoid
truncating the fractional part.

Also adds a test for covering this case.
2010-12-02 16:28:43 -03:00
Edward Hervey 01039b1671 gstdataqueue: Don't break ABI
The order of the field was wrong, and the size of the structure didn't
end up being the same.
2010-12-02 19:44:41 +01:00
Wim Taymans a813aad0ac basesink: rework position reporting code
Unify the different position reporting code paths to make it more
understandable.
Use start_time to get more accurate position reporting in paused.
Fix unit tests for more accurate reporting.
2010-12-02 19:10:46 +01:00
Wim Taymans 79570f49dc basesink: perform wait_preroll in a while loop
We need to continue calling wait_preroll() as long as the need_preroll variable
is true.
2010-12-02 19:10:45 +01:00
Wim Taymans a0cb088284 utils: return immediately for -1 conversion
When we are asked to convert -1, we can return immediately with a -1 return
value.
2010-12-02 19:10:45 +01:00
Wim Taymans e84d563033 utils: a convert query can have a -1 input value
It is allowed to pass -1 to the src_val for a convert.
2010-12-02 19:10:45 +01:00
Wim Taymans 9076d5688f basesink: also preroll after a flush with async=false
Make sure to preroll after a flush even when we are async=false.
Add unit test.

Fixes #634965
2010-12-02 19:10:45 +01:00
Wim Taymans 19e5a54c9f adapter: improve docs a little. 2010-12-02 19:10:45 +01:00
Wim Taymans 6c47a2e69d check: lock src state to avoid error cases
Lock the state of the src element or else the pipeline might go into the error
state when we set it to PAUSED later.
2010-12-02 19:10:44 +01:00
Wim Taymans 7590cee744 pipeline: avoid using invalid clock times
Be extra careful to not use invalid clock times but give a warning instead. This
should make things work better with faulty clock implementations.
2010-12-02 19:10:44 +01:00
Wim Taymans d36903c1c2 caps: improve some comments about the zigzag intersection 2010-12-02 19:10:44 +01:00
Edward Hervey 0fe3a9bc22 docs: Add unused symbols to proper sections 2010-12-02 19:04:57 +01:00
Edward Hervey 9275159a6d docs: Add GstDateTime section and update it for latest symbols 2010-12-02 19:04:57 +01:00
Edward Hervey 8f12a5e7cd queue2: Only call update_buffering if needed.
update_buffering is so big it will never be inlined (and shouldn't),
we therefore move the check outside of it.
2010-12-02 19:04:57 +01:00
Edward Hervey 66bba2a49e queue2: Avoid re-checking many times whether an item is a buffer
Avoids calling 6 times gst_buffer_get_type() for every item coming
through queue2
2010-12-02 19:04:56 +01:00
Edward Hervey 080c965f4f queue2: Reduce amount of time locks are taken 2010-12-02 19:04:56 +01:00
Edward Hervey ccb9ed2e80 queue2: Fixup documentation of some properties 2010-12-02 19:04:56 +01:00
Edward Hervey 8a79c1aa98 queue2: Avoid useless segment_to_running_time() calculations.
* Cache src and sink time
* Use a boolean to known whether src/sink time needs to be recalculated

Avoids 50% of calls to gst_segment_to_running_time()
2010-12-02 19:04:56 +01:00
Edward Hervey ece40dacbc basesink: Re-using GstClockID instead of constantly recreating one
Makes _sink_wait_clock at least 2 times faster.

https://bugzilla.gnome.org/show_bug.cgi?id=632778
2010-12-02 19:04:56 +01:00
Edward Hervey b4285611ad gstclock: New API to re-use a single shot GstClockID
API: gst_clock_single_shot_id_reinit

https://bugzilla.gnome.org/show_bug.cgi?id=632778
2010-12-02 19:04:56 +01:00