Commit graph

10958 commits

Author SHA1 Message Date
Edward Hervey
906ae99742 base/gstdataqueue: inline some functions, get levels with memcpy. 2010-10-13 12:07:17 +02:00
Edward Hervey
cb2c028b39 queue2: Remove unused argument from find_range() 2010-10-13 12:05:44 +02:00
Edward Hervey
3812283854 fdsink: cleanup get_property/set_property 2010-10-13 12:05:38 +02:00
Wim Taymans
aa62c60a6c queue: avoid g_cond_signal when we can
Keep track of what cond we are waiting on and only signal when some other thread
is waiting.
2010-10-12 18:48:10 +02:00
Tim-Philipp Müller
0dbb0f203e miniobject: avoid duplicate type check when freeing miniobject
gst_mini_object_unref() has guards that check the type already, so
we don't really need to re-check it here again while getting the
class (there's not really much point to that anyway, since we don't
check the return value of the get_class, so we'd crash anyway if
we're not dealing with a mini object, the only question would
be if there'd be a warning before the crash or not).
2010-10-11 19:55:52 +01:00
Edward Hervey
2c4afb966d miniobject: Directly increate mini_object in mini_object_free()
Speeds up mini_object_unref by 25% by avoiding the typecheck which
is avoidable here since it is only called on existing miniobjects.
2010-10-11 18:55:14 +02:00
Edward Hervey
89d3da6cba miniobject: Remove confusing DEBUG_REFCOUNT define
the debugging statements will be silenced automatically if debugging
is disabled, and the type check is actually required.
2010-10-11 18:41:14 +02:00
Wim Taymans
62ffd66f10 queue2: release queue2 lock before notify
Make sure that we don't hold the lock when we notify the temp-location
property,

Fixes #631853
2010-10-11 18:10:07 +02:00
Wim Taymans
85a23c6f80 queue: add debug statement 2010-10-11 16:45:40 +02:00
Ognyan Tonchev
36b533d5b2 queue: apply sink segment on the source if queue is empty
Apply the sink segment on the source immediatly when it is received
and there is nothing in the queue.

Solves #482147
2010-10-11 15:56:31 +02:00
Wim Taymans
839114b05d bin: fix documentation for iterate_sources 2010-10-11 15:53:11 +02:00
Stefan Kost
ad2e7b1de3 docs: use the gtk-doc shortcuts to get coloured and xrefed example 2010-10-11 16:44:01 +03:00
Sebastian Dröge
87d02b7b32 bin: Initialize variable 2010-10-11 14:20:15 +02:00
Wim Taymans
27c6aba33c bin: Improve tracking of source elements
Track elements tagged with the IS_SOURCE flag in a similar way we track the sink
elements. This allows us to efficiently dispatch downstream events to the right
elements.
2010-10-11 11:16:27 +02:00
Wim Taymans
428a6477d8 basesrc: tag as a SOURCE element
Tag all elements deriving from the basesrc with the IS_SOURCE flag.
2010-10-11 11:16:27 +02:00
Wim Taymans
eed98f6c2c element: add IS_SOURCE flag
Add the GST_ELEMENT_IS_SOURCE flag so that we can tag source elements like we
can with sink elements.
2010-10-11 11:16:27 +02:00
Vincent Penquerc'h
0bb4fafd30 registry: g_mapped_file_unref exists already since GLib 2.21.3 2010-10-10 18:30:58 +02:00
Sebastian Dröge
14023fff89 basetransform: Report the output position on POSITION queries on the srcpad
There can be a difference between input and output last_stop.

Fixes bug #629410.
2010-10-10 18:18:23 +02:00
David Schleef
53a3392e3c Automatic update of common submodule
From c4a8adc to 5a668bf
2010-10-08 12:43:20 -07:00
Edward Hervey
518364e7ac multiqueue: Remove unused variable and simplify code
oldid was only used when we were doing multiple pops per loop.
2010-10-08 13:26:37 +02:00
Sebastian Dröge
1eee5e799d Automatic update of common submodule
From 5e3c9bf to c4a8adc
2010-10-08 12:50:10 +02:00
Sebastian Dröge
894f833da9 bytewriter: Add missing file 2010-10-08 12:48:42 +02:00
Sebastian Dröge
69ef479ce4 bytewriter: Add unchecked variants of the writing functions
These don't check if there's enough free space available and are
available as inline functions only.

API: gst_byte_writer_put_int8_unchecked
API: gst_byte_writer_put_int16_be_unchecked
API: gst_byte_writer_put_int16_le_unchecked
API: gst_byte_writer_put_int24_be_unchecked
API: gst_byte_writer_put_int24_le_unchecked
API: gst_byte_writer_put_int32_be_unchecked
API: gst_byte_writer_put_int32_le_unchecked
API: gst_byte_writer_put_int64_be_unchecked
API: gst_byte_writer_put_int64_le_unchecked
API: gst_byte_writer_put_uint8_unchecked
API: gst_byte_writer_put_uint16_be_unchecked
API: gst_byte_writer_put_uint16_le_unchecked
API: gst_byte_writer_put_uint24_be_unchecked
API: gst_byte_writer_put_uint24_le_unchecked
API: gst_byte_writer_put_uint32_be_unchecked
API: gst_byte_writer_put_uint32_le_unchecked
API: gst_byte_writer_put_uint64_be_unchecked
API: gst_byte_writer_put_uint64_le_unchecked
API: gst_byte_writer_put_float32_be_unchecked
API: gst_byte_writer_put_float32_le_unchecked
API: gst_byte_writer_put_float64_be_unchecked
API: gst_byte_writer_put_float64_le_unchecked
API: gst_byte_writer_put_data_unchecked
API: gst_byte_writer_fill_unchecked
2010-10-08 12:19:45 +02:00
Tim-Philipp Müller
9bd4432d08 controller, dataprotocol: make public enum _get_type() functions thread-safe
Not that it is likely to matter in practice, but since these are public
API they should probably be thread-safe.
2010-10-08 09:34:47 +01:00
Tim-Philipp Müller
c7e3bab65d dataprotocol, lfocontrolsource: fix enum value name in enums that are public API
So run-time bindings can introspect the names correctly (we abuse this
field as description field only in elements, not for public API
(where the description belongs into the gtk-doc chunk).

https://bugzilla.gnome.org/show_bug.cgi?id=629946
2010-10-08 09:28:21 +01:00
Sebastian Dröge
3ee6ae4030 bytewriter: Fix possible infinite loop caused by an overflow 2010-10-08 09:47:12 +02:00
Tim-Philipp Müller
863d783beb elements: minor performance improvement when doing g_object_notify() for the "last-message" property
Make sure property names passed to g_object_notify() are in the canonical form
(ie. "last-message" not "last_message"), so that g_param_spec_pool_lookup()
doesn't have to do strdup/canonicalize/free for every single notify call.
This only applies when building against older GLib versions (< 2.26).
2010-10-07 19:04:00 +01:00
Tim-Philipp Müller
fe9bb36ac7 fakesink: use g_object_notify_by_pspec() and remove work-around for old GLib versions if possible
Use more efficient g_object_notify_by_pspec() if we're compiling against
GLib >= 2.26, and also remove work-around for g_object_notify() thread-
safety issues with older GLib versions if it's not needed any more.
2010-10-07 19:04:00 +01:00
Tim-Philipp Müller
67503c9d43 tee: use g_object_notify_by_pspec() if possible
Use more efficient g_object_notify_by_pspec() if we're compiling against
GLib >= 2.26.
2010-10-07 19:03:55 +01:00
Tim-Philipp Müller
b5e8957bfe fakesrc: use g_object_notify_by_pspec() if possible
Use more efficient g_object_notify_by_pspec() if we're compiling against
GLib >= 2.26.
2010-10-07 19:03:42 +01:00
Tim-Philipp Müller
cd3f4d7d92 identity: use g_object_notify_by_pspec() and remove work-around for old GLib versions if possible
Use more efficient g_object_notify_by_pspec() if we're compiling against
GLib >= 2.26, and also remove work-around for g_object_notify() thread-
safety issues with older GLib versions if it's not needed any more.
2010-10-07 19:03:42 +01:00
Tim-Philipp Müller
fd6334cb7c pads: use new g_object_notify_by_pspec() for caps notifies if available
If we're building against GLib >= 2.26.0, we can use the more efficient
g_object_notify_by_caps(), which avoids the param spec lookup.
2010-10-07 19:03:42 +01:00
Tim-Philipp Müller
ca607d99b2 clock: remove unnecessary g_object_notify() call
GObject will do that for us when g_object_set*() is called.
2010-10-07 19:03:42 +01:00
Wim Taymans
8b61681cff docs: update qos design doc
Fix some typos.
change the definition of the quality field for video decoders to something that
makes more sense.
2010-10-07 19:20:01 +02:00
Tim-Philipp Müller
dedb7adce9 Add gobject-introspection temp directories to CRUFT_DIRS 2010-10-05 18:31:58 +01:00
Tim-Philipp Müller
3adac1b9cd lfocontrolsource: use math-compat.h for M_PI 2010-10-05 18:31:58 +01:00
Tim-Philipp Müller
05918f28dc gstinfo: remove random MSVC compatibility define for M_PI that doesn't belong here
Code that needs this should include gst/math-compat.h or use G_PI.
2010-10-05 18:31:58 +01:00
Tim-Philipp Müller
2797f74c84 gst: add math-compat.h header
Add minimal math-compath.h header where we can define fallback
versions for miscellaneous math functions that aren't always
available, so we don't have to duplicate this in plugins.
The header is not included by default, so needs to be
included explicitly for now.

https://bugzilla.gnome.org/show_bug.cgi?id=630802
2010-10-05 18:31:29 +01:00
Thijs Vermeir
0f896f8ab0 tools: fix parsing of timestamp in gst-plot-timeline 2010-10-05 11:52:24 +02:00
Stefan Kost
a11b047d00 basesink: don't take preroll-lock in get_property
Use atomic ops to read and write more properties. Taking the preroll lock in get_property
can lock up applications reading the property during preroll.
2010-10-05 12:30:34 +03:00
Stefan Kost
72e9834e88 basesink: add a fixme for 0.11 2010-10-05 12:29:19 +03:00
Wim Taymans
c9c9894552 basesink: format negative values better
Format negative values properly in the debug log.
2010-10-04 15:56:59 +02:00
Sebastian Dröge
f17efc49c6 bitreader: Fix uninitialized variable compiler warnings
gcc doesn't notice that the check assertion macros will abort
further execution of the tests.
2010-10-03 23:41:26 +02:00
Sebastian Dröge
f758e465c8 bytewriter: Add inline variants of all important functions 2010-10-03 23:32:06 +02:00
Sebastian Dröge
dd762eb49f bitreader: Add inlined and unchecked versions of the important functions
API: gst_bit_reader_skip_unchecked
API: gst_bit_reader_skip_to_byte_unchecked
API: gst_bit_reader_get_bits_uint16_unchecked
API: gst_bit_reader_get_bits_uint32_unchecked
API: gst_bit_reader_get_bits_uint64_unchecked
API: gst_bit_reader_get_bits_uint8_unchecked
API: gst_bit_reader_peek_bits_uint16_unchecked
API: gst_bit_reader_peek_bits_uint32_unchecked
API: gst_bit_reader_peek_bits_uint64_unchecked
API: gst_bit_reader_peek_bits_uint8_unchecked

This alone makes flacparse about 3 times faster.
2010-10-03 15:32:41 +02:00
Sebastian Dröge
10c18151d2 bytewriter: Add guards to the inlined get_pos/get_remaining/get_size/etc functions 2010-10-03 15:32:41 +02:00
Sebastian Dröge
c41c2f7964 bitreader: Optimize peek_bits/get_bits a bit
Use local variables instead of dereferencing the bitreader
pointer all the time and don't copy the reader for peek_bits.
2010-10-03 15:32:41 +02:00
Thiago Santos
dd53349ad2 gstdatetime: Fix string serialization
Correctly serialize tzoffset as a gstvalue
2010-09-27 20:41:52 -03:00
Wim Taymans
29e23e9142 basesink: improve adjust_time()
Add some more comments.
Make sure we don't end up with negative timestamps.
2010-09-24 12:22:33 +02:00
Havard Graff
54a5871434 basesink: renderdelay needs to be subtracted in adjust_time()
latency is already sink-latency + render-delay, and here we only
want to deal with the sink-latency.

Fixes #630436
2010-09-24 12:16:48 +02:00