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.
Wim Taymans [Fri, 28 Aug 2009 14:07:16 +0000 (16:07 +0200)]
systemclock: fix indentation
Wim Taymans [Fri, 28 Aug 2009 13:32:26 +0000 (15:32 +0200)]
utils: use shift instead of division
We can use a shift for scaling the denominator instead of a divide since the
denom is always positive. This avoids having the compiler generate code for the
different rounding rules when scaling negative values.
Wim Taymans [Fri, 28 Aug 2009 11:45:38 +0000 (13:45 +0200)]
utils: make inlining explicit
Wim Taymans [Fri, 28 Aug 2009 10:43:43 +0000 (12:43 +0200)]
utils: optimize for x86_64 with some inline asm
64bit x86 has native 64x64->128 bit multiply that we can use with some inline
assembler to speed up large multiplications.
Use bsr to find the number of leading zeros more efficiently.
Wim Taymans [Fri, 28 Aug 2009 10:33:37 +0000 (12:33 +0200)]
utils: factor out the leading zero count code
Wim Taymans [Fri, 28 Aug 2009 10:30:41 +0000 (12:30 +0200)]
utils: pass correction factor around
Pass the correction factor around to get rid of the enum, some code
and some branches.
Wim Taymans [Fri, 28 Aug 2009 10:21:28 +0000 (12:21 +0200)]
utils: whitespace fixes
Wim Taymans [Fri, 28 Aug 2009 10:19:34 +0000 (12:19 +0200)]
utils: move common correction code in a macro
Wim Taymans [Mon, 24 Aug 2009 16:01:07 +0000 (18:01 +0200)]
basesink: whitespace fixes
Sebastian Dröge [Wed, 26 Aug 2009 14:51:32 +0000 (16:51 +0200)]
iterator: Allow to use NULL as object for the single iterator
Sebastian Dröge [Wed, 26 Aug 2009 14:39:19 +0000 (16:39 +0200)]
iterator: API: Add gst_iterator_new_single()
This allows "iteration" over a single object of some type,
which happens often for the GstPadIterIntLinksFunction for example.
Wim Taymans [Mon, 24 Aug 2009 15:57:16 +0000 (17:57 +0200)]
basesrc: return result of _set_caps()
Wim Taymans [Mon, 24 Aug 2009 15:56:32 +0000 (17:56 +0200)]
basesink: whitespace fixes
David Schleef [Sat, 22 Aug 2009 21:22:31 +0000 (14:22 -0700)]
It's __GNUC__, not _GNUC_
This appears to be an 8 year old bug.
Tim-Philipp Müller [Fri, 21 Aug 2009 08:59:58 +0000 (09:59 +0100)]
docs: add link to cgit tarball download of gst-template in PWG
So people who can't use git for some reason still can get hold
of the code. See #591069.
Tim-Philipp Müller [Thu, 20 Aug 2009 10:54:40 +0000 (11:54 +0100)]
pluginfeature: add guard to gst_plugin_feature_type_name_filter
So we don't just crash if there's a refcounting bug somewhere else.
Sebastian Dröge [Wed, 19 Aug 2009 14:24:39 +0000 (16:24 +0200)]
docs: Don't talk about the deprecated libgnome and GNOME-VFS
Instead talk about GIO and change the option parsing example to
not initialize libgnome but only GTK.
Fixes bug #592233.
Sebastian Dröge [Wed, 19 Aug 2009 13:25:41 +0000 (15:25 +0200)]
examples: Link rtpool-test to libpthread for using the POSIX threads
Also the other streams example can run without pthreads therefore
enable it even if pthreads are not available.
Fixes bug #592314.
Sebastian Dröge [Tue, 18 Aug 2009 12:45:23 +0000 (14:45 +0200)]
tools: Use iterate_internal_links instead of deprecated get_internal_links
Sebastian Dröge [Tue, 18 Aug 2009 12:45:02 +0000 (14:45 +0200)]
multiqueue: Use iterate_internal_links instead of deprecated get_internal_links
Sebastian Dröge [Tue, 18 Aug 2009 12:05:40 +0000 (14:05 +0200)]
gstpad: Add some DISABLE_DEPRECATED markers in the header too
The internal links function is deprecated since some time and
there already were GST_REMOVE_DEPRECATED markers in the source file,
now add them to the header too.
Fixes bug #592209.
Sebastian Dröge [Tue, 18 Aug 2009 09:38:38 +0000 (11:38 +0200)]
docs: Update the design docs for bin state changes according to last commit
Antoine Tremblay [Tue, 18 Aug 2009 09:36:36 +0000 (11:36 +0200)]
gstbin: Don't try to change children's state if they're already in the state we want
Fixes bug #368536.
Sebastian Dröge [Tue, 18 Aug 2009 09:33:17 +0000 (11:33 +0200)]
ghostpad: Always get the proxypad's ghostpad via the ghostpad in the src caps change notify handler
Before the signal handler would get the ghostpad passed as second
argument but it could've already been unreffed and destroyed.
This would then lead to crashes and all that.
Now we get the ghostpad from the proxy pad, which we get from the
target pad as it's peer.
Fixes bug #591318.
Laurent Glayal [Tue, 18 Aug 2009 06:45:08 +0000 (08:45 +0200)]
filesink: Add property to allow to append to an already existing file
Fixes bug #591441.
Sebastian Dröge [Fri, 14 Aug 2009 09:53:14 +0000 (11:53 +0200)]
configure: Remove duplicated check for clock_gettime
Sebastian Dröge [Fri, 14 Aug 2009 09:12:50 +0000 (11:12 +0200)]
gstutils: Add special random unit test for 64 scaling functions
This tests 100000 random multiplications/divisions of all scaling
function variants and compares the result with the result that is
generated by GMP on the same input.
For this check for GSL and GMP during configure but only use
it for this single unit test.
Testing functions were provided by Kipp Cannon <kcannon@ligo.caltech.edu>
Sebastian Dröge [Thu, 13 Aug 2009 14:31:01 +0000 (16:31 +0200)]
gstutils: Add new scaling functions to the docs
Sebastian Dröge [Thu, 13 Aug 2009 14:20:46 +0000 (16:20 +0200)]
gstutils: Add (very) minimal unit test for the new rounding scaling functions
Kipp Cannon [Thu, 13 Aug 2009 14:10:31 +0000 (16:10 +0200)]
gstutils: API: Add rounding to nearest and next integer versions of the 64 bit integer scaling functions
The new functions are
gst_util_uint64_scale_int_round()
gst_util_uint64_scale_int_ceil()
gst_util_uint64_scale_round()
gst_util_uint64_scale_ceil()
Fixes bug #590919.
Kipp Cannon [Wed, 12 Aug 2009 09:10:05 +0000 (11:10 +0200)]
gstutils: Revert parts of last change to optimize the scaling functions again
Partially fixes bug #590919.
Sebastian Dröge [Tue, 11 Aug 2009 07:16:38 +0000 (09:16 +0200)]
gstutils: Fix violations of strict-aliasing rules in gst_util_uint64_scale()
Kipp Cannon [Tue, 11 Aug 2009 07:10:47 +0000 (09:10 +0200)]
gstutils: Refactor gst_util_uint64_scale()
This will later make it possible to provide rounding versions
of it without much code duplication.
Partially fixes bug #590919.
Jonas Holmberg [Tue, 11 Aug 2009 13:20:18 +0000 (15:20 +0200)]
bufferlist: update doc string
Sebastian Dröge [Tue, 11 Aug 2009 11:21:35 +0000 (13:21 +0200)]
gstsegment: Actually start==stop==segment_start is inside the segment
Still the old code was wrong as it claimed that start==stop<segment_start
would be inside the segment and returned insane clipping differences.
Sebastian Dröge [Tue, 11 Aug 2009 11:03:03 +0000 (13:03 +0200)]
gstsegment: Fix unit test and add an additional test
The previous test assumed that start=stop=segment_start will
be inside the segment but this is wrong.
Sebastian Dröge [Tue, 11 Aug 2009 10:59:13 +0000 (12:59 +0200)]
gstsegment: Clipping should detect start=stop<segment_start as outside the segment
Before it returned that [start,stop] is inside the segment and that the
difference between segment_start and start needs to be clipped. If the
clipping is done on a buffer (like in baseaudiosink) this will result
in the data pointer being at a invalid memory position.
Fixes bug #589849.
Sebastian Dröge [Tue, 11 Aug 2009 03:47:21 +0000 (05:47 +0200)]
gstbus: Unref pipeline after usage in test_custom_main_context unit test
This makes the core unit tests valgrind clean again.
Edward Hervey [Tue, 11 Aug 2009 01:54:55 +0000 (02:54 +0100)]
docs: add Edward's git plugin moving howto to moving-plugins document
Tim-Philipp Müller [Mon, 10 Aug 2009 13:30:34 +0000 (14:30 +0100)]
checks: don't forget to include config.h in the GstObject unit test
Tim-Philipp Müller [Mon, 10 Aug 2009 12:05:57 +0000 (13:05 +0100)]
checks: try to fix GstObject unit test on OSX
Seems like we get SIGBUS instead of SIGSEGV here when GLib crashes
where it shouldn't crash (and we even have a unit test for that!).
Tim-Philipp Müller [Mon, 10 Aug 2009 11:01:48 +0000 (12:01 +0100)]
checks: set pipelines to NULL state in parse-launch unit test
Fixes timeouts in gst_task_cleanup_all().
Tim-Philipp Müller [Mon, 10 Aug 2009 10:42:25 +0000 (11:42 +0100)]
checks: set pipeline back to NULL state in GstBus unit test
Fixes timeout in gst_task_cleanup_all().
Tim-Philipp Müller [Mon, 10 Aug 2009 10:43:52 +0000 (11:43 +0100)]
check: add some logging before calling gst_task_cleanup_all()
Sebastian Dröge [Sat, 8 Aug 2009 20:27:06 +0000 (22:27 +0200)]
check: Call gst_task_cleanup_all() in GST_END_TEST
This fixes many unit tests under valgrind that shows
leaking GstTasks that are not really leaked but just
not unreffed by the task thread before the unit test
stopped.
Fixes bug #591045.
Edward Hervey [Sat, 8 Aug 2009 12:47:57 +0000 (14:47 +0200)]
basesink: Remove dead assignments
Edward Hervey [Sat, 8 Aug 2009 12:47:40 +0000 (14:47 +0200)]
gst: Remove dead assignments
Tim-Philipp Müller [Fri, 7 Aug 2009 01:36:29 +0000 (02:36 +0100)]
gitignore: ignore new queue-error test
Tim-Philipp Müller [Thu, 6 Aug 2009 19:40:07 +0000 (20:40 +0100)]
check: add internal-check.h to BUILT_SOURCES in attempt to fix the build
For some people the build of libgstcheck was broken because the make
target that creates the internal-check.h file wasn't executed for
some reason. This should hopefully fix this.
Tim-Philipp Müller [Thu, 6 Aug 2009 17:38:16 +0000 (18:38 +0100)]
autogen.sh: older aclocals don't like -I. so use -I . instead
Wim Taymans [Thu, 6 Aug 2009 16:47:32 +0000 (18:47 +0200)]
gstbuffer: add additional checking for writability
Check for metadata writability when setting caps on buffer or when copying
metadata flags. Only enable these extra assertions in git versions.
This should help us find bad elements.
Tim-Philipp Müller [Tue, 4 Aug 2009 09:22:25 +0000 (10:22 +0100)]
check: disable unit test support on win32 for now
Until we make the internal libcheck work on windows.
Tim-Philipp Müller [Sun, 19 Jul 2009 16:04:58 +0000 (17:04 +0100)]
check: fix symbol exporting
Tim-Philipp Müller [Thu, 16 Jul 2009 23:46:32 +0000 (00:46 +0100)]
check: fix issues with 'make distcheck'
Seems to work now, at least on *nix. One of the configure checks
caused these weird issues - but which one?
Tim-Philipp Müller [Thu, 6 Aug 2009 16:27:12 +0000 (17:27 +0100)]
check: use private copy of check for libgstcheck
See #577275. Seems to work fine, but doesn't distcheck yet.
Tim-Philipp Müller [Thu, 16 Jul 2009 17:39:16 +0000 (18:39 +0100)]
check: add internal copy of check-0.9.6
Not hooked up yet. See #577275.
Tim-Philipp Müller [Thu, 6 Aug 2009 13:11:46 +0000 (14:11 +0100)]
docs: fix Since: tag for new gst_caps_can_intersect() function
Stefan Kost [Wed, 22 Jul 2009 08:24:59 +0000 (11:24 +0300)]
utils: use new _caps_can_intersect()
Stefan Kost [Wed, 22 Jul 2009 08:24:08 +0000 (11:24 +0300)]
pad: use new _caps_can_intersect()
Stefan Kost [Wed, 22 Jul 2009 06:54:55 +0000 (09:54 +0300)]
basetransform: use new _caps_can_intersect()
Stefan Kost [Wed, 22 Jul 2009 06:38:10 +0000 (09:38 +0300)]
caps: add gst_caps_can_intersect()
Often we don't need the result of the intersection. Add a variant that only
tries to intersect. It can break out earlier and does less GValue copying.
API: gst_caps_can_intersect()
Stefan Kost [Wed, 22 Jul 2009 06:24:55 +0000 (09:24 +0300)]
basetransform: only check caps_is_fixed() if they changed
The previous code could call gst_caps_is_fixed() for the same caps many times.
Stefan Kost [Tue, 21 Jul 2009 10:31:13 +0000 (13:31 +0300)]
caps: split callback for structure intersect into two functions
We call this separately. there is no much benefit in reusing the callback.
Splitting is let us remove a branch also.
Stefan Kost [Tue, 21 Jul 2009 10:27:09 +0000 (13:27 +0300)]
logging: log if we copy caps to be able to track it
Stefan Kost [Tue, 21 Jul 2009 08:32:01 +0000 (11:32 +0300)]
caps: add comments about g_ptr_array size behaviour
Just explain the behaviour to avoid that someone else is wasting time trying to
improve this too.
Stefan Kost [Tue, 21 Jul 2009 08:14:20 +0000 (11:14 +0300)]
example: unref the clock id
Stefan Kost [Tue, 21 Jul 2009 07:56:53 +0000 (10:56 +0300)]
pad: use correct variable in test
Stefan Kost [Tue, 28 Jul 2009 13:13:37 +0000 (16:13 +0300)]
registry: add filename to debug message, like elsewhere