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
Sebastian Dröge [Sat, 5 Sep 2009 07:34:30 +0000 (09:34 +0200)]
dataprotocol: Add gobject-introspection support
Because of a bug in gobject-introspection this is disabled for now.
Sebastian Dröge [Sat, 5 Sep 2009 07:28:48 +0000 (09:28 +0200)]
controller: Add gobject-introspection support
Sebastian Dröge [Sat, 5 Sep 2009 07:27:04 +0000 (09:27 +0200)]
check: Add gobject-introspection support
Sebastian Dröge [Sat, 5 Sep 2009 07:23:19 +0000 (09:23 +0200)]
gstbase: Add gobject-introspection support
Sebastian Dröge [Fri, 4 Sep 2009 18:56:43 +0000 (20:56 +0200)]
gst: Add gobject-introspection support
Partially fixes bug #550616.
Sebastian Dröge [Sat, 5 Sep 2009 08:19:23 +0000 (10:19 +0200)]
Automatic update of common submodule
From 94f95e3 to 19fa4f3
Tim-Philipp Müller [Fri, 4 Sep 2009 18:37:15 +0000 (19:37 +0100)]
docs: fix docs for gst_byte_reader_{get|peek}_float*()
Wim Taymans [Fri, 4 Sep 2009 09:35:59 +0000 (11:35 +0200)]
event: whitespace fixes
Aurelien Grimaud [Fri, 4 Sep 2009 07:51:26 +0000 (09:51 +0200)]
bin: Only unref EOS message after it is not used anymore
Fixes bug #594107.
Wim Taymans [Wed, 2 Sep 2009 16:54:06 +0000 (18:54 +0200)]
states: post structure change on sinkpads
Post the structure change messages on the sinkpads of the elements. This allows
us to catch unlinked pads earlier without ending up with inconsistent element
degrees.
Wim Taymans [Wed, 2 Sep 2009 16:13:22 +0000 (18:13 +0200)]
bin: avoid false 'loop detected' warnings
When we detect a pad unlink in progress, we will not be updating the degree of
the parent element. This can cause false loop detected warnings because the
degree counter is invalid. Handle this case by marking the iterator as 'dirty'
when we detect a pad unlink and avoid emiting the warning in this case. We have
to continue our state change as good as we can, we will eventually resync when
the pad unlink completed.
Wim Taymans [Tue, 1 Sep 2009 14:49:56 +0000 (16:49 +0200)]
basesrc: whitespace fixes
Wim Taymans [Tue, 1 Sep 2009 14:49:22 +0000 (16:49 +0200)]
buffer: whitespace fixes
Jan Schmidt [Tue, 1 Sep 2009 11:07:31 +0000 (12:07 +0100)]
dist: Don't list the streams subdir twice in examples Makefile
Listing the 'streams' subdir twice in DIST_SUBDIRS breaks distcheck.
Jan Schmidt [Tue, 1 Sep 2009 11:05:51 +0000 (12:05 +0100)]
gstbin: Don't propagate a NULL cached index to added elements
When an element is added to the bin, only set the index if we have a
cached index, rather than setting a NULL index on elements that might
have a default index object of their own.
Jan Schmidt [Sun, 19 Jul 2009 20:23:18 +0000 (21:23 +0100)]
docs: Add a note about regenerating the changelog in the release script
Tim-Philipp Müller [Tue, 1 Sep 2009 09:03:35 +0000 (10:03 +0100)]
element: don't take object lock for g_critical() and flesh out warning message some more
Sebastian Dröge [Tue, 1 Sep 2009 08:21:31 +0000 (10:21 +0200)]
iterator: Add unit test for the single iterator
Sebastian Dröge [Tue, 1 Sep 2009 08:20:59 +0000 (10:20 +0200)]
iterator: Only visit the element a single time in the single iterator
Sebastian Dröge [Tue, 1 Sep 2009 05:27:25 +0000 (07:27 +0200)]
iterator: Fix single iterator for NULL objects and non-GTypeInstance objects
Fixes bug #593719.
Stefan Kost [Mon, 31 Aug 2009 21:00:57 +0000 (00:00 +0300)]
debug: more detail in wrong-state-on-dispose error.
Also tell in which state the element actualy is and if it is eventualy
state-locked.
Wim Taymans [Mon, 31 Aug 2009 18:38:07 +0000 (20:38 +0200)]
iterator: fix docs for _new_single().
Tim-Philipp Müller [Mon, 31 Aug 2009 15:56:22 +0000 (16:56 +0100)]
docs: it's its
The panda says no!
Mark Nauwelaerts [Sat, 29 Aug 2009 18:44:36 +0000 (20:44 +0200)]
registry: fill in elementfactory when registering element
elementfactory field is filled in by gst_element_base_class_init,
but it needs some info set on the element's type, so have it
available prior to class structure creation spinning up.
This affects elements that have a well-known/public type (e.g. pipeline)
and can be created by other means than gst_element_factory_make
(which will also fill in the element's factory).
Wim Taymans [Mon, 31 Aug 2009 09:45:17 +0000 (11:45 +0200)]
utils: use 128bits division on x86_64
Руслан Ижбулатов [Sat, 29 Aug 2009 00:44:51 +0000 (04:44 +0400)]
systemclock: fix compilation of win32 code
Fixes #593460.
Wim Taymans [Fri, 28 Aug 2009 16:37:44 +0000 (18:37 +0200)]
bin: cache index
Cache the last index that was set with _set_index() and return this in the
_get_index() call.
Set the cached index on newly added elements.
Fixes #566881
Wim Taymans [Fri, 28 Aug 2009 16:35:54 +0000 (18:35 +0200)]
element: better type checks
Add GST_CLOCK typecheck for _set_clock().
Allow setting NULL indexes on element (clear the current index)
Some whitespace fixes.
Wim Taymans [Fri, 28 Aug 2009 16:14:23 +0000 (18:14 +0200)]
element; whitespace fixes
Wim Taymans [Fri, 28 Aug 2009 16:06:45 +0000 (18:06 +0200)]
defs: add gst_iterator_new_single to defs
Wim Taymans [Fri, 28 Aug 2009 16:03:44 +0000 (18:03 +0200)]
adapter: whitespace fixes
Thijs Vermeir [Fri, 28 Aug 2009 15:59:15 +0000 (17:59 +0200)]
Check suggested caps for proxy alloc
Because we are trying to resolve a suggestion here we don't need
to check on caps for proxy_alloc but we need to check on the
suggested caps instead.
Wim Taymans [Fri, 28 Aug 2009 15:49:11 +0000 (17:49 +0200)]
queue: whitespace fixes
Wim Taymans [Fri, 28 Aug 2009 15:02:30 +0000 (17:02 +0200)]
systemclock: use preformance counters on windows
Based on clock implementation by Håvard Graff <havard.graff@tandberg.com>
Try to get the time on windows using the performance counters. These have a much
higher resolution and accuracy than the regular getcurrenttime(). Be careful to
fall back to regular getcurrenttime() or posix clocks when performance counters
are not available.