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
Edward Hervey
7115b77aab
basesink: Pass along miniobject type through various functions
...
Avoids doing useless GST_IS_*
https://bugzilla.gnome.org/show_bug.cgi?id=632778
2010-12-02 19:04:56 +01:00
Edward Hervey
606e59468d
basesink: Switch enable_last_buffer to an atomic int
...
Avoids having to take a lock to read/write it.
https://bugzilla.gnome.org/show_bug.cgi?id=632778
2010-12-02 19:04:56 +01:00
Edward Hervey
0c2086a475
queue: Remove useless checks from e406f7
...
srcresult was being rechecked in places it couldn't have changed.
queue level was being rechecked in places it couldn't have changed.
https://bugzilla.gnome.org/show_bug.cgi?id=632780
2010-12-02 19:04:56 +01:00
Edward Hervey
7cc08390b9
gstdataqueue: Only emit g_cond_signal when needed
...
Keep track of which cond we're waiting for and only emit when needed.
https://bugzilla.gnome.org/show_bug.cgi?id=632779
2010-12-02 19:04:55 +01:00