Commit graph

9708 commits

Author SHA1 Message Date
Jan Schmidt 69bce376b0 plugin: Ignore an empty dependency list.
If a plugin registers an empty dependency set, just ignore it rather
than serialising and checking an empty set.
2009-10-08 02:06:34 +01:00
Jan Schmidt 83252f42c9 registrychunks: Fix off-by-one error. Improve debug.
Fix an off-by-one error in the size guard for unpack_element, and
improve various debug statements in the failure paths.

Also, swap some g_new0 to g_malloc0 for the fun of it.
2009-10-08 02:06:33 +01:00
Michael Smith 0c3a8165b6 filesink: Use _wfopen on win32 to open files with non-ascii filenames correctly. 2009-10-07 16:03:30 -07:00
Tim-Philipp Müller 07d953b791 docs: fix Since: tags in docs for newly-added API 2009-10-07 23:34:44 +01:00
Stefan Kost cb7a8e8b61 info: revert two of the changes
It only needed for the non constant string.
2009-10-08 00:08:47 +03:00
Stefan Kost 084bbe3921 info: use a "%s" format string when printing the memory dump line
We know that the content is save, but the compiler does not.
2009-10-07 23:36:45 +03:00
Rob Clark e025e328fd parse: don't format the string twice
We were formatting the string once and then passing the string as a format
string to the log functions.
2009-10-07 23:23:08 +03:00
Stefan Kost fcc5d783df pad: add variants of gst_pad_get_caps() that don't copy caps. Fixes #590941
In most places in core and baseclasses we just need the caps to do caps-
intersections. In that case ref'ed caps are enough (no need to copy).
This patch also switches the code to use the new functions.
API: gst_pad_get_caps_refed(), gst_pad_peer_get_caps_refed()
2009-10-07 22:41:30 +03:00
Stefan Kost 558f4aca59 tests: add ghostpad test for setting target again after pad is linked 2009-10-07 22:41:30 +03:00
Stefan Kost 593fc8894b tests: remove empty lines from wrong indent run 2009-10-07 22:41:29 +03:00
Jan Schmidt 01cbe5012a check: Fix compilation of the bytewriter test 2009-10-07 20:38:49 +01:00
Tim-Philipp Müller ed636d6f65 win32: add new byte writer and reader API to .def file
API: gst_byte_writer_*()
2009-10-07 19:45:22 +01:00
Michael Smith 8fd0f64951 elementfactory: fix spelling in comment 2009-10-07 10:37:39 -07:00
Mark Nauwelaerts e51a34985f multiqueue: flush queue upon fatal flowreturn and release upstream thread 2009-10-07 18:51:52 +02:00
Mark Nauwelaerts 5f4daa8fd9 dataqueue: fix API documentation typo 2009-10-07 18:51:51 +02:00
Sebastian Dröge def3f57c4f bytewriter: Add to the docs 2009-10-07 18:40:37 +02:00
Sebastian Dröge 28c4bfc1c4 bytewriter: Add unit test 2009-10-07 18:40:37 +02:00
Sebastian Dröge 41f7a3fe09 bytewriter: Add a generic byte writer
Fixes bug #590669.
2009-10-07 18:40:31 +02:00
Sebastian Dröge f4c12be109 bitreader/bytereader: API: Add gst_(bit|byte)_reader_get_size()
... and GST_(BYTE|BIT)_READER() casts.
2009-10-07 17:59:51 +02:00
Sebastian Dröge c7438c738b bytereader,bitreader: Remove FIXME 0.11 to remove non-inlined functions
The normal functions are always useful to have for bindings, especially
runtime-created bindings like Seed or new GObject-Introspection based
Python bindings.
2009-10-07 17:59:51 +02:00
Jan Schmidt a39ca4a9c7 check: Attempt to fix type-punning warning in the gstiterator test 2009-10-07 16:36:31 +01:00
Jan Schmidt 8b90cf1be1 check: Make sure to init the dataprotocol lib.
Call the gst_dp_init() function to ensure that the debug
category is initialised, to avoid g_criticals when running with
GST_DEBUG=5
2009-10-07 16:14:02 +01:00
Jan Schmidt 4446a6276b check: Use GST_DEBUG instead of g_message in the gdp test 2009-10-07 16:14:02 +01:00
Jan Schmidt 4c75d07f5f check: Add GST_PLUGIN_SCANNER env var to the check environment 2009-10-07 16:14:01 +01:00
Tim-Philipp Müller 53c9c9d975 registry: improve plugin loader failure message for uninstalled setups
Everyone running an uninstalled git setup is going to wonder about
this failure next time they update, so let's mention the solution
in the error message.
2009-10-07 14:39:03 +01:00
Jan Schmidt 31218013a3 configure: Beef up the test for __uint128_t on GCC
GCC 3.4.3 on the SPARC buildbot crashes when actually
using __uint128_t. Beef up the configure test to detect that the
type is actually usable.
2009-10-07 13:59:47 +01:00
Tim-Philipp Müller 3977d6d884 win32: add new API to .def file
And add API: marker in commit message that was omitted in the original
commit:

API: gst_data_queue_new_full()
2009-10-07 09:58:44 +01:00
Tim-Philipp Müller 643c24a91b benchmarks: add bufferstress binary to .gitignore 2009-10-07 09:58:43 +01:00
Tim-Philipp Müller 85f6ef121a configure: bump GLib requirement to 2.18
Bump GLib requirement as per the release planning docs.
2009-10-07 09:58:43 +01:00
Wim Taymans b5adcf13a0 message: whitespace fixes 2009-10-07 10:38:11 +02:00
Stefan Kost 201cbbdce0 pad: flip the G_UNLIKELY
Its likely that we have caps and unlikely (error) otherwise.
2009-10-07 11:12:57 +03:00
Stefan Kost 18a903e93d docs: add new queue api to the docs to fix the build 2009-10-07 11:07:24 +03:00
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