Commit graph

9676 commits

Author SHA1 Message Date
Edward Hervey
61ec6a561c plugins/multiqueue: Avoid instance check
We know earlier on in the code whether we're handling an event or a buffer,
just pass that information through.

This commit and the previous commit reduce instruction fetch:
* when pushing buffer (_chain) by 10%
* when popping buffer (_loop) by 3%
2009-10-07 10:07:01 +02:00
Edward Hervey
c15879f94e plugins/multiqueue: Cache input/output time, avoid expensive calls.
* Cache the input/output time
* Only recalculate it when needed.

Avoids 50% calls to gst_segment_to_running_time
2009-10-07 10:07:01 +02:00
Stefan Kost
cfb4aa4627 build: sprintf, sscanf need stdio.h 2009-10-07 10:59:54 +03:00
Stefan Kost
09c7d34921 childproxy: initialize gvalue in _valist function. Fixes #595602
Reflow the code to move error handling to the end of the functions. Initialize
gvalue like we do in the setter. Add a unit-test module with two simple tests
the catche this bug.
2009-10-07 10:59:54 +03:00
Stefan Kost
82526701f0 pad: don't intersect with any in proxy_pad_get_caps
We initialize the caps with any and if a pad has NULL caps, just skip it instead
of intersecting with any. Also add branch prediction here.
2009-10-07 10:59:54 +03:00
Stefan Kost
b1f88b3f1f docs: rename aggregator to adder in the docs. 2009-10-07 10:59:54 +03:00
Stefan Kost
bc6b1db5e9 man: fix copy and past mistake for -q option 2009-10-07 10:59:54 +03:00
Sebastian Dröge
fe83b6fa66 gst-uninstalled: Extend environment variables to allow using an uninstalled gstreamer-sharp 2009-10-07 09:59:32 +02:00
Edward Hervey
7c6d555848 plugins/multiqueue: Use new GstDataQueue constructor 2009-10-07 09:32:47 +02:00
Edward Hervey
ea9b0cedcd gstdataqueue: new constructor which takes callbacks.
This allows us to avoid going through glib's signalling system
2009-10-07 09:32:05 +02:00
Edward Hervey
8c67b6390e plugins/multiqueue: Use cached value instead of expensive object get.
The task will always exist as long as its owner (i.e. the pad) and that
owner's owner (i.e. multiqueue) exist.

Reduces the number of instruction fetches by 36%.
2009-10-07 09:25:41 +02:00
Edward Hervey
d28a3e7435 plugins/queue: Use previous knowledge of data type to avoid typecheck.
We know whether we have a buffer or an event, use that instead of going
trough the expensive GLib typecheck.

The overall instruction fetch reduction introduced by this commit and the
2 previous commits:
* receiving a buffer (_chain) by 20%
* popping a buffer (_loop) by 14%

Numbers acquired through callgrind passing 100000 buffers through queue.
2009-10-07 09:15:13 +02:00
Edward Hervey
9be7fdc857 plugins/queue: Avoid useless segment_to_running_time() calculations.
* Cache src and sink time
* Use a boolean to know whether src/sink time need to be recalculated

Avoids 50% calls to gst_segment_to_running_time()
2009-10-07 09:06:21 +02:00
Edward Hervey
b1945ad429 plugins/queue: Just cast to the object parent instead of typechecking. 2009-10-07 09:06:11 +02:00
Edward Hervey
fe366f7b24 benchmark: New benchmark for testing contention when creating buffers 2009-10-07 08:54:03 +02:00
Edward Hervey
4322a4b0db gst-launch: Don't activate tracing if not requested. 2009-10-07 08:41:32 +02:00
Edward Hervey
3879cc60b1 tests: init more variables to avoid compiler warning on osx
Init variable to avoid compiler warning and make the build bot happy
(the compiler most likely complains about this because it doesn't know
here that fail_unless will abort/exit in the path where it fails).
2009-10-07 08:40:18 +02:00
Sebastian Dröge
d6de0e4cce multiqueue: Improve iterate internal links function
Pads have their GstSingleQueue stored as element private data
so there's no need to iterate over the list of single queues
every time. Also every pad only has a single internal link so
use a single iterator instead of a complex custom iterator.

Set the element private data of the pad to NULL when freeing the
single queue.
2009-10-07 07:18:04 +02:00
Johan Bilien
920e9b569d introspection: Add annotations for gst_element_query_{duration,position}
Fixes bug #595511.
2009-10-07 07:18:04 +02:00
Tim-Philipp Müller
d600ce0a29 bytereader: add inline version of gst_byte_reader_skip 2009-10-07 00:52:23 +01:00
Tim-Philipp Müller
28fcb132e5 po: update translation files for new and changed strings 2009-10-07 00:49:46 +01:00
Wim Taymans
3ac4a08383 ghostpad: take locks around smaller section
We don't need the hold the proxy mutex locked for getting the internal pad and
for linking the new target pad when we retarget. So take the lock a little later
and release it earlier.

Fixes #596366
2009-10-06 22:40:17 +02:00
Tim-Philipp Müller
abb9caf484 tests: init variable to avoid compiler warning on osx
Init variable to avoid compiler warning and make the build bot happy
(the compiler most likely complains about this because it doesn't know
here that fail_unless will abort/exit in the path where it fails).
2009-10-06 20:04:10 +01:00
Tim-Philipp Müller
3c6db4ed95 gst: remove more unnecessary cast when using g_signal_*() 2009-10-06 20:04:10 +01:00
Tim-Philipp Müller
6ce1f0cbce dataqueue, elements: avoid unnecessary runtime type checks 2009-10-06 20:04:10 +01:00
Jan Schmidt
72953ec2bb docs: Update the release script
Remove old cruft from the release script, and change some CVS
references to equivalent git commands
2009-10-06 19:51:45 +01:00
Jan Schmidt
8108494a38 pluginloader: Add a magic number and maximum size limit.
Guard against a hostile child process that sends bogus data
due to memory corruption by adding a magic number to each packet,
and limit the maximum size of any message to 32MB
2009-10-06 19:51:45 +01:00
Jan Schmidt
97d6c854ae registry: Also check the binary registry chunk version of the child.
When trying to find a function plugin-scanner, include a check on the
version of the binary registry chunks it sends, to make sure it's
what we understand.
2009-10-06 19:51:45 +01:00
Jan Schmidt
8bf3d8cec2 registry: Support installed/uninstalled plugin-scanner helper
Add a simple version check when starting the plugin-scanner so we can
verify we're talking to one that talks the same language.
First try a plugin-scanner in the installed path, then try one via the
GST_PLUGIN_SCANNER env var if that doesn't work.
Update the uninstalled script.
Install the plugin-scanner to the libexec dir
2009-10-06 19:51:44 +01:00
Jan Schmidt
6eee943b36 Remove checking for and mentions of fork where possible.
We no longer use fork() directly, instead using glib's spawn
functionality, so don't check for it, and don't use it in the
documentation notes.
2009-10-06 19:51:44 +01:00
Jan Schmidt
8105265087 Re-enable and fix disabled bit of the registry test 2009-10-06 19:51:44 +01:00
Jan Schmidt
82aeddbc61 Only load the registry cache once per process.
When updating the registry, we don't need to re-read the registry cache
and waste time replacing all our existing, hopefully identical, plugins
and features that we're about to re-scan anyway.
2009-10-06 19:51:43 +01:00
Jan Schmidt
c7922fb838 Add some more debug the registry.
Add the full set of debug about why it's decided that a given plugin is
stale or not, and include the plugin name when finalizing it.
2009-10-06 19:51:43 +01:00
Jan Schmidt
ef32c11e6e Add restarting of the plugin loader and blacklisting of broken files 2009-10-06 19:51:42 +01:00
Jan Schmidt
38083fb0c8 Plugin loader phase 2
phase 2 - make the plugin loader receive the list of plugins to load and
send back the results asynchronously, so we don't context switch back
and forth so much.
2009-10-06 19:51:42 +01:00
Jan Schmidt
51675e0c2a registry: Add registry helper phase 1
Phase 1 of adding the registry scan helper
2009-10-06 19:51:42 +01:00
Jan Schmidt
1f4e477033 registry: Rearrange some things.
Prepare to land the external plugin helper process
2009-10-06 19:51:41 +01:00
Jan Schmidt
46812eeb7f Back to development -> 0.10.25.1 2009-10-06 19:41:38 +01:00
Jan Schmidt
fe5106cee0 Release 0.10.25 2009-10-05 12:57:03 +01:00
Jan Schmidt
487695a9e7 Update .po files 2009-10-05 12:41:42 +01:00
Jan Schmidt
0993f3adba 0.10.24.4 pre-release 2009-10-01 16:24:52 +01:00
Jan Schmidt
274d985472 libgstcheck: Don't use character classes in sed expressions
Apparently the sed that ships on Solaris 10 doesn't support character
classes like [:alnum:], so don't use them. We don't need them for the
symbol names that are being extracted anyway.

Also, use $(SED) instead of 'sed'

Fixes: #596877
2009-09-30 16:35:18 +01:00
Jan Schmidt
95c438cf85 0.10.24.3 pre-release 2009-09-17 01:20:03 +01:00
Sebastian Dröge
7464062ff2 utils: Fix GMP scaling unit test
GMP only uses "unsigned long int", which is 32 bit
on 32 bit architectures and can't hold a guint64.
This resulted in false unit test failures on 32 bit architectures.

Fixes bug #595133.
2009-09-15 11:31:15 +02:00
David Schleef
ebe095420a Fix out-of-tree build 2009-09-14 12:47:26 -07:00
Stefan Kost
4d472935a6 docs: GST_MESSAGE_STREAM_STATUS is implemented nowadays.
Docs were still mention it as "not yet implemented".
2009-09-14 14:09:07 +03:00
Sebastian Dröge
3c1f41ee7d introspection: Build pkgconfig before all libraries and set PKG_CONFIG_PATH
This way g-ir-scanner can find the gstreamer-0.10 pkg-config file.
2009-09-12 14:35:09 +02:00
Sebastian Dröge
1c253a01a4 introspection: Don't typedef GstTagList to GstStructure for gobject-introspection 2009-09-12 14:35:08 +02:00
Jan Schmidt
41479df703 0.10.24.2 pre-release 2009-09-11 23:21:30 +01:00
Jan Schmidt
fb1e9408b2 Don't use C++ style comments 2009-09-11 22:42:51 +01:00