Stefan Kost [Wed, 7 Oct 2009 08:43:54 +0000 (11:43 +0300)]
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()
Stefan Kost [Sat, 26 Sep 2009 20:43:37 +0000 (23:43 +0300)]
tests: add ghostpad test for setting target again after pad is linked
Stefan Kost [Sat, 26 Sep 2009 20:42:22 +0000 (23:42 +0300)]
tests: remove empty lines from wrong indent run
Jan Schmidt [Wed, 7 Oct 2009 19:38:49 +0000 (20:38 +0100)]
check: Fix compilation of the bytewriter test
Tim-Philipp Müller [Wed, 7 Oct 2009 17:07:26 +0000 (18:07 +0100)]
win32: add new byte writer and reader API to .def file
API: gst_byte_writer_*()
Michael Smith [Thu, 20 Aug 2009 21:24:19 +0000 (14:24 -0700)]
elementfactory: fix spelling in comment
Mark Nauwelaerts [Wed, 7 Oct 2009 16:40:46 +0000 (18:40 +0200)]
multiqueue: flush queue upon fatal flowreturn and release upstream thread
Mark Nauwelaerts [Tue, 22 Sep 2009 13:44:31 +0000 (15:44 +0200)]
dataqueue: fix API documentation typo
Sebastian Dröge [Wed, 7 Oct 2009 16:37:28 +0000 (18:37 +0200)]
bytewriter: Add to the docs
Sebastian Dröge [Mon, 5 Oct 2009 09:24:35 +0000 (11:24 +0200)]
bytewriter: Add unit test
Sebastian Dröge [Sat, 3 Oct 2009 11:30:54 +0000 (13:30 +0200)]
bytewriter: Add a generic byte writer
Fixes bug #590669.
Sebastian Dröge [Sat, 3 Oct 2009 13:57:07 +0000 (15:57 +0200)]
bitreader/bytereader: API: Add gst_(bit|byte)_reader_get_size()
... and GST_(BYTE|BIT)_READER() casts.
Sebastian Dröge [Sat, 3 Oct 2009 10:34:54 +0000 (12:34 +0200)]
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.
Jan Schmidt [Wed, 7 Oct 2009 15:36:31 +0000 (16:36 +0100)]
check: Attempt to fix type-punning warning in the gstiterator test
Jan Schmidt [Wed, 7 Oct 2009 15:00:12 +0000 (16:00 +0100)]
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
Jan Schmidt [Wed, 7 Oct 2009 14:47:45 +0000 (15:47 +0100)]
check: Use GST_DEBUG instead of g_message in the gdp test
Jan Schmidt [Wed, 7 Oct 2009 14:14:46 +0000 (15:14 +0100)]
check: Add GST_PLUGIN_SCANNER env var to the check environment
Tim-Philipp Müller [Wed, 7 Oct 2009 13:34:17 +0000 (14:34 +0100)]
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.
Jan Schmidt [Wed, 7 Oct 2009 12:59:47 +0000 (13:59 +0100)]
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.
Tim-Philipp Müller [Wed, 7 Oct 2009 08:56:42 +0000 (09:56 +0100)]
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()
Tim-Philipp Müller [Wed, 7 Oct 2009 08:55:15 +0000 (09:55 +0100)]
benchmarks: add bufferstress binary to .gitignore
Tim-Philipp Müller [Wed, 7 Oct 2009 08:42:55 +0000 (09:42 +0100)]
configure: bump GLib requirement to 2.18
Bump GLib requirement as per the release planning docs.
Wim Taymans [Wed, 7 Oct 2009 08:37:39 +0000 (10:37 +0200)]
message: whitespace fixes
Stefan Kost [Wed, 7 Oct 2009 08:12:57 +0000 (11:12 +0300)]
pad: flip the G_UNLIKELY
Its likely that we have caps and unlikely (error) otherwise.
Stefan Kost [Wed, 7 Oct 2009 08:04:56 +0000 (11:04 +0300)]
docs: add new queue api to the docs to fix the build
Edward Hervey [Mon, 28 Sep 2009 13:25:22 +0000 (15:25 +0200)]
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%
Edward Hervey [Mon, 28 Sep 2009 13:24:02 +0000 (15:24 +0200)]
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
Stefan Kost [Wed, 7 Oct 2009 07:00:05 +0000 (10:00 +0300)]
build: sprintf, sscanf need stdio.h
Stefan Kost [Mon, 5 Oct 2009 08:46:34 +0000 (11:46 +0300)]
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.
Stefan Kost [Thu, 1 Oct 2009 14:39:45 +0000 (17:39 +0300)]
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.
Stefan Kost [Wed, 30 Sep 2009 13:41:07 +0000 (16:41 +0300)]
docs: rename aggregator to adder in the docs.
Stefan Kost [Wed, 30 Sep 2009 06:47:23 +0000 (09:47 +0300)]
man: fix copy and past mistake for -q option
Sebastian Dröge [Wed, 7 Oct 2009 07:54:41 +0000 (09:54 +0200)]
gst-uninstalled: Extend environment variables to allow using an uninstalled gstreamer-sharp
Edward Hervey [Mon, 28 Sep 2009 13:19:44 +0000 (15:19 +0200)]
plugins/multiqueue: Use new GstDataQueue constructor
Edward Hervey [Mon, 28 Sep 2009 13:18:37 +0000 (15:18 +0200)]
gstdataqueue: new constructor which takes callbacks.
This allows us to avoid going through glib's signalling system
Edward Hervey [Mon, 28 Sep 2009 11:19:10 +0000 (13:19 +0200)]
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%.
Edward Hervey [Mon, 28 Sep 2009 13:41:52 +0000 (15:41 +0200)]
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.
Edward Hervey [Mon, 28 Sep 2009 13:20:06 +0000 (15:20 +0200)]
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()
Edward Hervey [Mon, 28 Sep 2009 11:21:07 +0000 (13:21 +0200)]
plugins/queue: Just cast to the object parent instead of typechecking.
Edward Hervey [Wed, 23 Sep 2009 14:19:32 +0000 (16:19 +0200)]
benchmark: New benchmark for testing contention when creating buffers
Edward Hervey [Wed, 23 Sep 2009 14:17:09 +0000 (16:17 +0200)]
gst-launch: Don't activate tracing if not requested.
Edward Hervey [Wed, 7 Oct 2009 06:37:05 +0000 (08:37 +0200)]
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).
Sebastian Dröge [Sat, 26 Sep 2009 09:43:06 +0000 (11:43 +0200)]
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.
Johan Bilien [Thu, 17 Sep 2009 20:30:43 +0000 (16:30 -0400)]
introspection: Add annotations for gst_element_query_{duration,position}
Fixes bug #595511.
Tim-Philipp Müller [Sun, 4 Oct 2009 23:11:20 +0000 (00:11 +0100)]
bytereader: add inline version of gst_byte_reader_skip
Tim-Philipp Müller [Tue, 6 Oct 2009 23:47:59 +0000 (00:47 +0100)]
po: update translation files for new and changed strings
Wim Taymans [Mon, 28 Sep 2009 20:43:51 +0000 (22:43 +0200)]
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
Tim-Philipp Müller [Sun, 4 Oct 2009 18:51:40 +0000 (19:51 +0100)]
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).
Tim-Philipp Müller [Sat, 3 Oct 2009 20:08:54 +0000 (21:08 +0100)]
gst: remove more unnecessary cast when using g_signal_*()
Tim-Philipp Müller [Sat, 3 Oct 2009 19:49:54 +0000 (20:49 +0100)]
dataqueue, elements: avoid unnecessary runtime type checks
Jan Schmidt [Mon, 5 Oct 2009 15:41:50 +0000 (16:41 +0100)]
docs: Update the release script
Remove old cruft from the release script, and change some CVS
references to equivalent git commands
Jan Schmidt [Sun, 4 Oct 2009 13:30:34 +0000 (14:30 +0100)]
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
Jan Schmidt [Mon, 9 Feb 2009 13:33:07 +0000 (13:33 +0000)]
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.
Jan Schmidt [Fri, 6 Feb 2009 09:49:34 +0000 (09:49 +0000)]
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
Jan Schmidt [Fri, 30 Jan 2009 14:18:13 +0000 (14:18 +0000)]
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.
Jan Schmidt [Fri, 30 Jan 2009 13:06:13 +0000 (13:06 +0000)]
Re-enable and fix disabled bit of the registry test
Jan Schmidt [Fri, 30 Jan 2009 13:04:52 +0000 (13:04 +0000)]
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.
Jan Schmidt [Thu, 29 Jan 2009 13:22:14 +0000 (13:22 +0000)]
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.
Jan Schmidt [Fri, 23 Jan 2009 21:15:43 +0000 (21:15 +0000)]
Add restarting of the plugin loader and blacklisting of broken files
Jan Schmidt [Fri, 23 Jan 2009 15:47:08 +0000 (15:47 +0000)]
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.
Jan Schmidt [Sat, 14 Mar 2009 23:07:40 +0000 (23:07 +0000)]
registry: Add registry helper phase 1
Phase 1 of adding the registry scan helper
Jan Schmidt [Mon, 14 Sep 2009 22:31:10 +0000 (23:31 +0100)]
registry: Rearrange some things.
Prepare to land the external plugin helper process
Jan Schmidt [Tue, 6 Oct 2009 18:41:38 +0000 (19:41 +0100)]
Back to development -> 0.10.25.1
Jan Schmidt [Mon, 5 Oct 2009 11:57:03 +0000 (12:57 +0100)]
Release 0.10.25
Jan Schmidt [Mon, 5 Oct 2009 11:41:42 +0000 (12:41 +0100)]
Update .po files
Jan Schmidt [Thu, 1 Oct 2009 15:24:52 +0000 (16:24 +0100)]
0.10.24.4 pre-release
Jan Schmidt [Wed, 30 Sep 2009 14:52:33 +0000 (15:52 +0100)]
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
Jan Schmidt [Thu, 17 Sep 2009 00:20:03 +0000 (01:20 +0100)]
0.10.24.3 pre-release
Sebastian Dröge [Tue, 15 Sep 2009 07:41:28 +0000 (09:41 +0200)]
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.
David Schleef [Mon, 14 Sep 2009 19:47:26 +0000 (12:47 -0700)]
Fix out-of-tree build
Stefan Kost [Mon, 14 Sep 2009 11:07:55 +0000 (14:07 +0300)]
docs: GST_MESSAGE_STREAM_STATUS is implemented nowadays.
Docs were still mention it as "not yet implemented".
Sebastian Dröge [Sat, 12 Sep 2009 11:52:00 +0000 (13:52 +0200)]
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.
Sebastian Dröge [Sat, 12 Sep 2009 11:51:29 +0000 (13:51 +0200)]
introspection: Don't typedef GstTagList to GstStructure for gobject-introspection
Jan Schmidt [Fri, 11 Sep 2009 22:21:30 +0000 (23:21 +0100)]
0.10.24.2 pre-release
Jan Schmidt [Fri, 11 Sep 2009 21:42:51 +0000 (22:42 +0100)]
Don't use C++ style comments
Jan Schmidt [Fri, 11 Sep 2009 21:22:34 +0000 (22:22 +0100)]
message: Disable restriction that structure changes are sink pads
The structure_change message was originally emitted on source pads and
then recently changed to be sink pads. This causes a failure in the
gst-python testsuite. Disable the restriction so that the published
behaviour is still allowed.
Jan Schmidt [Fri, 11 Sep 2009 17:24:18 +0000 (18:24 +0100)]
check: Fix version check tests
Accomodate the slightly changed semantics in the plugin version check
where a CVS version just before a release is acceptable.
Stefan Kost [Fri, 11 Sep 2009 18:20:57 +0000 (21:20 +0300)]
binaryregistry: don't crash in cleaning up on error.
Don't dereference NULL pointers.
David Schleef [Mon, 20 Jul 2009 19:54:00 +0000 (12:54 -0700)]
debug: use dummy code to avoid spurious semicolons
Fixes bug #589173.
Wim Taymans [Thu, 10 Sep 2009 09:53:09 +0000 (11:53 +0200)]
whitespace fixes
Wim Taymans [Thu, 10 Sep 2009 09:41:56 +0000 (11:41 +0200)]
pluginfeature: improve version check
Also parse the nano of the version and assume that X.Y.Z-1.1 >= X.Y.Z
With this change we can also check development versions against the version of
the upcomming release.
Sebastian Dröge [Thu, 10 Sep 2009 08:05:38 +0000 (10:05 +0200)]
taglist: Add FIXME for 0.11 to not typedef GstTagList to be a GstStructure
See bug #518934.
David Schleef [Wed, 9 Sep 2009 23:29:10 +0000 (16:29 -0700)]
Fix typo in inline documentation
Tim-Philipp Müller [Wed, 9 Sep 2009 16:57:54 +0000 (17:57 +0100)]
Update common
Sebastian Dröge [Wed, 9 Sep 2009 16:38:29 +0000 (18:38 +0200)]
utils: Add a comment to the scaling functions to explain why the rounding is correct
Wim Taymans [Wed, 9 Sep 2009 14:45:17 +0000 (16:45 +0200)]
ghostpad: don't unref NULL caps
Caps can be NULL so don't call unref on it unconditionally, instead use an
existing exit pad for the function.
Sebastian Dröge [Wed, 9 Sep 2009 12:53:16 +0000 (14:53 +0200)]
utils: Use gcc's __uint128_t for 64bit unsigned integer scaling
This is available in newer gcc releases and it should only exist
on platforms that provide some native 128bit integer arithmetic
instructions.
The x86-64 assembly for this is still kept for non-gcc compilers
that don't provide __uint128_t magic.
Stefan Kost [Wed, 9 Sep 2009 06:38:54 +0000 (09:38 +0300)]
design: add ideas for buffer management
Right now we're operating suboptimal when talking to kernel interfaces. Write
doesn some ideas.
Wim Taymans [Mon, 7 Sep 2009 16:27:08 +0000 (18:27 +0200)]
fix whitespace
Wim Taymans [Thu, 3 Sep 2009 17:06:28 +0000 (19:06 +0200)]
adapter: fix whitespace
Benjamin Otte [Mon, 7 Sep 2009 14:14:57 +0000 (16:14 +0200)]
docs: Fix typo in gst_value_union()
Tim-Philipp Müller [Sun, 6 Sep 2009 18:43:47 +0000 (19:43 +0100)]
bitreader, bytereader: add some FIXME 0.11 comments and fix indenting
Tim-Philipp Müller [Fri, 4 Sep 2009 16:15:35 +0000 (17:15 +0100)]
bytereader: add unchecked and inline versions of the float getters/peekers
API: gst_byte_reader_get_float*_unchecked()
Tim-Philipp Müller [Fri, 4 Sep 2009 15:52:06 +0000 (16:52 +0100)]
bytereader: add inline versions of the most common getters and setters
Tim-Philipp Müller [Wed, 2 Sep 2009 10:20:04 +0000 (11:20 +0100)]
bytereader: add inlined _unchecked() variants for some functions
API: gst_byte_reader_skip_unchecked()
API: gst_byte_reader_peek_*_unchecked()
API: gst_byte_reader_get_*_unchecked()
API: gst_byte_reader_{peek,get,dup}_data_unchecked()
Sebastian Dröge [Sat, 5 Sep 2009 10:30:07 +0000 (12:30 +0200)]
introspection: Strip Gst prefix from all types/functions
Sebastian Dröge [Sat, 5 Sep 2009 10:22:37 +0000 (12:22 +0200)]
introspection: Fix for out-of-tree builds
Sebastian Dröge [Sat, 5 Sep 2009 10:04:59 +0000 (12:04 +0200)]
introspection: Fix out-of-tree build
Sebastian Dröge [Sat, 5 Sep 2009 09:51:55 +0000 (11:51 +0200)]
introspection: Fix build if gir-repository is not installed
Sebastian Dröge [Sat, 5 Sep 2009 07:36:21 +0000 (09:36 +0200)]
net: Add gobject-introspection support