Mark Nauwelaerts [Fri, 15 Oct 2010 17:45:14 +0000 (19:45 +0200)]
gst-inspect: useful factory names for uri-handlers output
Fixes #632236.
David Schleef [Thu, 14 Oct 2010 19:31:32 +0000 (12:31 -0700)]
Automatic update of common submodule
From 5a668bf to 7bbd708
Thiago Santos [Tue, 12 Oct 2010 18:13:48 +0000 (15:13 -0300)]
datetime: Use seconds as double
Use seconds as double to make API similar to glib's
gdatetime. Also move timezone parameter to the
first position, just like glib's.
https://bugzilla.gnome.org/show_bug.cgi?id=628408
Thiago Santos [Mon, 11 Oct 2010 19:15:29 +0000 (16:15 -0300)]
gstdatetime: Move doc outside the ifdefs
Move the datetime documentation of the functions outside the
ifdefs
https://bugzilla.gnome.org/show_bug.cgi?id=628408
Thiago Santos [Mon, 27 Sep 2010 22:35:08 +0000 (19:35 -0300)]
datetime: Use GDateTime if available
Use GDateTime internally on GstDateTime if glib already
provides it.
https://bugzilla.gnome.org/show_bug.cgi?id=628408
Thiago Santos [Tue, 28 Sep 2010 20:46:29 +0000 (17:46 -0300)]
glib-private: Add include protection macro
Tim-Philipp Müller [Wed, 13 Oct 2010 11:51:00 +0000 (12:51 +0100)]
buffer: add guard to buffer_set_caps() that checks if caps are simple
Stefan Kost [Wed, 13 Oct 2010 12:56:26 +0000 (15:56 +0300)]
systemclock: add a missing G_PARAM_STATIC_STRINGS
Edward Hervey [Thu, 1 Oct 2009 09:14:06 +0000 (11:14 +0200)]
libs/gst/dataqueue: Document gst_data_queue_new_full
Edward Hervey [Mon, 28 Sep 2009 11:35:35 +0000 (13:35 +0200)]
base/gstdataqueue: inline some functions, get levels with memcpy.
Edward Hervey [Wed, 13 Oct 2010 09:54:04 +0000 (11:54 +0200)]
queue2: Remove unused argument from find_range()
Edward Hervey [Wed, 13 Oct 2010 09:52:25 +0000 (11:52 +0200)]
fdsink: cleanup get_property/set_property
Wim Taymans [Tue, 12 Oct 2010 16:48:10 +0000 (18:48 +0200)]
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.
Tim-Philipp Müller [Mon, 11 Oct 2010 18:27:54 +0000 (19:27 +0100)]
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).
Edward Hervey [Mon, 11 Oct 2010 16:55:14 +0000 (18:55 +0200)]
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.
Edward Hervey [Mon, 11 Oct 2010 16:30:54 +0000 (18:30 +0200)]
miniobject: Remove confusing DEBUG_REFCOUNT define
the debugging statements will be silenced automatically if debugging
is disabled, and the type check is actually required.
Wim Taymans [Mon, 11 Oct 2010 16:10:07 +0000 (18:10 +0200)]
queue2: release queue2 lock before notify
Make sure that we don't hold the lock when we notify the temp-location
property,
Fixes #631853
Wim Taymans [Mon, 11 Oct 2010 14:45:16 +0000 (16:45 +0200)]
queue: add debug statement
Ognyan Tonchev [Mon, 11 Oct 2010 08:27:52 +0000 (10:27 +0200)]
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
Wim Taymans [Mon, 11 Oct 2010 13:51:21 +0000 (15:51 +0200)]
bin: fix documentation for iterate_sources
Stefan Kost [Mon, 11 Oct 2010 13:41:26 +0000 (16:41 +0300)]
docs: use the gtk-doc shortcuts to get coloured and xrefed example
Sebastian Dröge [Mon, 11 Oct 2010 12:20:15 +0000 (14:20 +0200)]
bin: Initialize variable
Wim Taymans [Mon, 11 Oct 2010 08:56:56 +0000 (10:56 +0200)]
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.
Wim Taymans [Mon, 11 Oct 2010 08:55:04 +0000 (10:55 +0200)]
basesrc: tag as a SOURCE element
Tag all elements deriving from the basesrc with the IS_SOURCE flag.
Wim Taymans [Mon, 11 Oct 2010 08:53:41 +0000 (10:53 +0200)]
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.
Vincent Penquerc'h [Sat, 9 Oct 2010 13:18:44 +0000 (14:18 +0100)]
registry: g_mapped_file_unref exists already since GLib 2.21.3
Sebastian Dröge [Sun, 10 Oct 2010 16:14:40 +0000 (18:14 +0200)]
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.
David Schleef [Fri, 8 Oct 2010 19:43:20 +0000 (12:43 -0700)]
Automatic update of common submodule
From c4a8adc to 5a668bf
Edward Hervey [Fri, 8 Oct 2010 10:54:52 +0000 (12:54 +0200)]
multiqueue: Remove unused variable and simplify code
oldid was only used when we were doing multiple pops per loop.
Sebastian Dröge [Fri, 8 Oct 2010 10:50:10 +0000 (12:50 +0200)]
Automatic update of common submodule
From 5e3c9bf to c4a8adc
Sebastian Dröge [Fri, 8 Oct 2010 10:48:42 +0000 (12:48 +0200)]
bytewriter: Add missing file
Sebastian Dröge [Fri, 8 Oct 2010 10:18:23 +0000 (12:18 +0200)]
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
Tim-Philipp Müller [Fri, 8 Oct 2010 08:34:47 +0000 (09:34 +0100)]
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.
Tim-Philipp Müller [Thu, 7 Oct 2010 23:38:39 +0000 (00:38 +0100)]
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
Sebastian Dröge [Fri, 8 Oct 2010 07:47:12 +0000 (09:47 +0200)]
bytewriter: Fix possible infinite loop caused by an overflow
Tim-Philipp Müller [Thu, 7 Oct 2010 17:46:26 +0000 (18:46 +0100)]
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).
Tim-Philipp Müller [Thu, 7 Oct 2010 17:27:06 +0000 (18:27 +0100)]
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.
Tim-Philipp Müller [Thu, 7 Oct 2010 17:21:13 +0000 (18:21 +0100)]
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.
Tim-Philipp Müller [Thu, 7 Oct 2010 17:19:31 +0000 (18:19 +0100)]
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.
Tim-Philipp Müller [Thu, 7 Oct 2010 16:53:18 +0000 (17:53 +0100)]
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.
Tim-Philipp Müller [Thu, 7 Oct 2010 16:23:10 +0000 (17:23 +0100)]
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.
Tim-Philipp Müller [Thu, 7 Oct 2010 15:27:20 +0000 (16:27 +0100)]
clock: remove unnecessary g_object_notify() call
GObject will do that for us when g_object_set*() is called.
Wim Taymans [Thu, 7 Oct 2010 17:18:03 +0000 (19:18 +0200)]
docs: update qos design doc
Fix some typos.
change the definition of the quality field for video decoders to something that
makes more sense.
Tim-Philipp Müller [Tue, 5 Oct 2010 16:02:58 +0000 (17:02 +0100)]
Add gobject-introspection temp directories to CRUFT_DIRS
Tim-Philipp Müller [Tue, 5 Oct 2010 14:05:43 +0000 (15:05 +0100)]
lfocontrolsource: use math-compat.h for M_PI
Tim-Philipp Müller [Tue, 5 Oct 2010 13:45:02 +0000 (14:45 +0100)]
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.
Tim-Philipp Müller [Tue, 5 Oct 2010 13:16:19 +0000 (14:16 +0100)]
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
Thijs Vermeir [Tue, 5 Oct 2010 09:47:59 +0000 (11:47 +0200)]
tools: fix parsing of timestamp in gst-plot-timeline
Stefan Kost [Sat, 25 Sep 2010 11:24:46 +0000 (14:24 +0300)]
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.
Stefan Kost [Sat, 2 Oct 2010 15:11:32 +0000 (18:11 +0300)]
basesink: add a fixme for 0.11
Wim Taymans [Mon, 4 Oct 2010 13:49:18 +0000 (15:49 +0200)]
basesink: format negative values better
Format negative values properly in the debug log.
Sebastian Dröge [Sun, 3 Oct 2010 21:41:26 +0000 (23:41 +0200)]
bitreader: Fix uninitialized variable compiler warnings
gcc doesn't notice that the check assertion macros will abort
further execution of the tests.
Sebastian Dröge [Sun, 3 Oct 2010 21:32:06 +0000 (23:32 +0200)]
bytewriter: Add inline variants of all important functions
Sebastian Dröge [Sun, 3 Oct 2010 13:27:37 +0000 (15:27 +0200)]
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.
Sebastian Dröge [Sun, 3 Oct 2010 12:59:47 +0000 (14:59 +0200)]
bytewriter: Add guards to the inlined get_pos/get_remaining/get_size/etc functions
Sebastian Dröge [Sun, 3 Oct 2010 12:24:00 +0000 (14:24 +0200)]
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.
Thiago Santos [Mon, 27 Sep 2010 22:29:24 +0000 (19:29 -0300)]
gstdatetime: Fix string serialization
Correctly serialize tzoffset as a gstvalue
Wim Taymans [Fri, 24 Sep 2010 10:22:33 +0000 (12:22 +0200)]
basesink: improve adjust_time()
Add some more comments.
Make sure we don't end up with negative timestamps.
Havard Graff [Wed, 26 May 2010 18:29:22 +0000 (20:29 +0200)]
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
Tim-Philipp Müller [Thu, 23 Sep 2010 23:13:51 +0000 (00:13 +0100)]
win32: define GST_PACKAGE_RELEASE_DATETIME in win32 config.h as well
Tim-Philipp Müller [Thu, 23 Sep 2010 19:57:49 +0000 (20:57 +0100)]
po: update for new strings
Tim-Philipp Müller [Thu, 23 Sep 2010 19:48:25 +0000 (20:48 +0100)]
gst-inspect: print GST_PARAM_MUTABLE_* property flags
Havard Graff [Tue, 4 May 2010 07:36:43 +0000 (09:36 +0200)]
basetransform: Make a WARNING into a DEBUG statement
Fixes bug #630437.
Trond Andersen [Tue, 12 Jan 2010 16:10:59 +0000 (17:10 +0100)]
clock: fix racy shutdown clock id leak
Clock IDs were leaked if the clock got disposed before the worker thread
got a chance to reap unscheduled entries.
Fixes bug #630439.
Wim Taymans [Thu, 23 Sep 2010 16:18:54 +0000 (18:18 +0200)]
basetransform: avoid useless memcpy
Because of the awkward refcounting in prepare_output_buffer, we might end up
with writable buffers that point to the same data. Check for those cases so that
we avoid a useless memcpy and keep valgrind quiet.
Fixes #628176
Tim-Philipp Müller [Thu, 23 Sep 2010 13:37:45 +0000 (14:37 +0100)]
tests: fix 'make check' build for setups where no c++ compiler is available
Only try to build (pseudo-)C++ unit test if a working C++ compiler has been
found, otherwise the build will fail. (We do this to make sure our headers
are 'C++ clean').
Thiago Santos [Thu, 23 Sep 2010 13:08:05 +0000 (10:08 -0300)]
tag: Adds GST_TAG_GEO_LOCATION_HORIZONTAL_ERROR
Adds a new tag to indicate the error in horizontal positioning
in meters. This is one of the available 'gps error' fields in
exif, for example.
API: GST_TAG_GEO_LOCATION_HORIZONTAL_ERROR
Stefan Kost [Thu, 23 Sep 2010 12:34:54 +0000 (15:34 +0300)]
Revert "pad: use a nested lock to avoid reffing the peer"
This reverts commit
9b424b1570366b10746a762e8c9c4c1b35b21e91.
Stefan Kost [Thu, 23 Sep 2010 12:12:32 +0000 (15:12 +0300)]
queue2: remove var only used for debug statement
Stefan Kost [Tue, 7 Sep 2010 13:56:38 +0000 (16:56 +0300)]
pad: use a nested lock to avoid reffing the peer
Fixes #503592
Stefan Kost [Thu, 15 Jul 2010 12:47:36 +0000 (15:47 +0300)]
tests: rebuild one test using cpp
This aims to catch cpp issues in core. Add c++ boilerplate to configure.
Edward Hervey [Tue, 21 Sep 2010 16:33:26 +0000 (18:33 +0200)]
Automatic update of common submodule
From aa0d1d0 to 5e3c9bf
Edward Hervey [Sun, 19 Sep 2010 14:10:16 +0000 (16:10 +0200)]
tests: Handle new assertion in gst_adapter_masked_scan_uint32
David Schleef [Sun, 19 Sep 2010 02:29:09 +0000 (19:29 -0700)]
adapter: Add check for pattern bits not in mask
Sebastian Dröge [Fri, 17 Sep 2010 17:53:33 +0000 (19:53 +0200)]
gst-launch: Use g_file_test() instead of access() which does not exist on MSVC6
Fixes bug #629494.
Wim Taymans [Fri, 17 Sep 2010 15:34:42 +0000 (17:34 +0200)]
bufferlist: add function to add a list of buffers
Add a function to add a list of buffers to the bufferlist.
Wim Taymans [Fri, 17 Sep 2010 13:51:08 +0000 (15:51 +0200)]
adapter: add function to get a list of buffers
Add a function to retrieve a list of buffers containing the first N bytes from
the adapter. This can be done without a memcpy and should make it possible to
transfer the list to a GstBufferList later.
Wim Taymans [Fri, 17 Sep 2010 13:07:50 +0000 (15:07 +0200)]
adapter: reuse more data in _peek()
Optimize _peek() some more by reusing already assembled data when we can.
Wim Taymans [Fri, 17 Sep 2010 11:57:39 +0000 (13:57 +0200)]
adapter: optimize _take() a little more
When we have already assembled some data before, reuse this data and only copy
the part that is new.
Wim Taymans [Fri, 17 Sep 2010 10:48:55 +0000 (12:48 +0200)]
adapter: refactor adapter take
Move some common code into one place
Wim Taymans [Fri, 17 Sep 2010 10:40:12 +0000 (12:40 +0200)]
adapter: add support for 0 sized buffers
Add support for 0 sized buffers. This is interesting in combination with the
timestamp functions.
Fixes #629553
Edward Hervey [Fri, 17 Sep 2010 08:01:01 +0000 (10:01 +0200)]
pwg: Make a sentence clearer.
Tim-Philipp Müller [Thu, 16 Sep 2010 18:27:57 +0000 (19:27 +0100)]
elementfactory: make sure gstreamer has been initialized when creating elements
Add gst_is_initialized() guard to gst_element_factory_make(), so
people who forgot to call gst_init() get a useful warning for what
seems to be a common enough mistake.
Tim-Philipp Müller [Wed, 15 Sep 2010 23:37:59 +0000 (00:37 +0100)]
query: minor gst_query_add_buffering_range() code reflow
Sprinkle some G_UNLIKELY(), return TRUE/FALSE constants, avoid an
unnecessary g_value_unset(), move g_value_init()+set_int64_range()
closer to where they're needed.
Tim-Philipp Müller [Wed, 15 Sep 2010 23:30:14 +0000 (00:30 +0100)]
query: gst_query_add_buffering_range() optimisations
Don't create a new GValueArray copy for every single _add_buffering_range()
call, but append to the existing value array owned by the structure instead.
Tim-Philipp Müller [Wed, 15 Sep 2010 23:03:38 +0000 (00:03 +0100)]
structure: micro-optimisation for some setter functions
Split out functions that do the actual work, so we avoid doing
the same g_return_if_fail() checks multiple times for each call.
Tim-Philipp Müller [Wed, 15 Sep 2010 22:42:43 +0000 (23:42 +0100)]
structure: add gst_structure_{id_}take_value()
Add _set_value() variants that take ownership of the value passed
instead of making a copy of the value. This is useful for setting
values to things that aren't refcounted (e.g. GValueArrays or
strings or string arrays, etc.).
API: gst_structure_take_value()
API: gst_structure_id_take_value()
https://bugzilla.gnome.org/show_bug.cgi?id=629831
Wim Taymans [Thu, 16 Sep 2010 17:19:21 +0000 (19:19 +0200)]
bin: fix doc string, we post element messages
Wim Taymans [Thu, 16 Sep 2010 17:06:35 +0000 (19:06 +0200)]
bin: add message-forward option
Add an option to forward all the internal messages that would otherwise be
filtered such as EOS, SEGMENT and ASYNC messages.
This allows the application to, for example, detect that a partial pipeline is
prerolled or reached eos.
The original messages are wrapped inside an element message because the parent
bins are not supposed to see those internal messages escape.
Tim-Philipp Müller [Sun, 12 Sep 2010 15:50:11 +0000 (16:50 +0100)]
plugin: use strstr() instead of g_strstr_len()
Saves us a strlen() call.
Wim Taymans [Wed, 15 Sep 2010 11:29:52 +0000 (13:29 +0200)]
queue2: only post buffering message when percent changed
Wim Taymans [Wed, 15 Sep 2010 11:15:19 +0000 (13:15 +0200)]
queue2: always update buffering status
Update the buffering status even when we are not using a queue so that EOS can
properly finish the buffering.
Thiago Santos [Mon, 13 Sep 2010 23:39:50 +0000 (20:39 -0300)]
gstpad: Fix flush-stop event handling
A flush-stop event would make a pad unflushing, causing it
to start acting as an activated pad. This, for example,
could lead to the chain function being called when stuff
isn't initialized.
This could happend when setting qtdemux to NULL while a seek
was being handled in the upstream filesrc (in push mode).
This patch makes it check if it is activated before setting
it to unflushing.
Stefan Kost [Mon, 13 Sep 2010 08:17:34 +0000 (11:17 +0300)]
docs: fix warnings pointed out by gtk-doc
Stefan Kost [Mon, 13 Sep 2010 06:50:53 +0000 (09:50 +0300)]
taskpool: make debug only code conditional
Colin Walters [Fri, 10 Sep 2010 19:07:03 +0000 (15:07 -0400)]
introspection: Build with latest g-i
Hide a compatibility typedef.
https://bugzilla.gnome.org/show_bug.cgi?id=629241
https://bugzilla.gnome.org/show_bug.cgi?id=550616
Stefan Kost [Thu, 9 Sep 2010 19:24:38 +0000 (22:24 +0300)]
pluginloader: don't leak entries for blacklisted files
Stefan Kost [Thu, 9 Sep 2010 18:59:29 +0000 (21:59 +0300)]
checks: and check the right env-var (fixup last commit)
Stefan Kost [Thu, 9 Sep 2010 18:56:28 +0000 (21:56 +0300)]
tests: allow running state tests for all elements
Now one can use GST_NO_STATE_IGNORE_ELEMENTS=1 make generic/states.check
to try elements that would normaly be skipped.
Edward Hervey [Mon, 6 Sep 2010 13:16:16 +0000 (15:16 +0200)]
gstobject: avoid string creation when not needed