Commit graph

5256 commits

Author SHA1 Message Date
Wim Taymans
7590cee744 pipeline: avoid using invalid clock times
Be extra careful to not use invalid clock times but give a warning instead. This
should make things work better with faulty clock implementations.
2010-12-02 19:10:44 +01:00
Wim Taymans
d36903c1c2 caps: improve some comments about the zigzag intersection 2010-12-02 19:10:44 +01:00
Edward Hervey
b4285611ad gstclock: New API to re-use a single shot GstClockID
API: gst_clock_single_shot_id_reinit

https://bugzilla.gnome.org/show_bug.cgi?id=632778
2010-12-02 19:04:56 +01:00
Wim Taymans
8412c2a656 segment: move g_return_if_fail to where it is needed 2010-12-02 19:03:35 +01:00
Sebastian Dröge
0ff0e6a434 version: Take nano version into account in GST_CHECK_VERSION()
If the nano is > 0 the current version should be handled the same as
micro + 1.
2010-12-02 19:02:08 +01:00
Sebastian Dröge
f2f7842f6b pad: Set the event source object if none is set yet in gst_pad_push_event()
Otherwise the source will stay at NULL, the event is passed to the
peerpad via gst_pad_send_event() and then the peerpad is set as
source of the event instead of the originating pad.
2010-12-02 19:02:08 +01:00
David Hoyt
7199a4f1ff gsttask: Set thread names on Windows with MSVC if a debugger is attached
Fixes bug #632168.
2010-12-02 19:02:08 +01:00
Sebastian Dröge
a797b9f22b macros: Define restrict keyword if not available
This change always defines the restrict keyword if a
non-C99 C compiler is used. In the case of GCC >= 4
it will be defined to __restrict__, in all other
cases to nothing. This allows to use the restrict
keyword unconditionally.
2010-12-02 19:02:07 +01:00
Tim-Philipp Müller
5cac987148 utils: avoid 'unused argument' warnings caused by GST_BOILERPLATE_FULL
The unused data parameter in the class_init trampoline function
seems to cause warnings with some c++ compilers.

https://bugzilla.gnome.org/show_bug.cgi?id=635869
2010-11-29 12:29:10 +00:00
Evan Nemerson
4906671694 introspection: Include exported packages information in GIRs
https://bugzilla.gnome.org/show_bug.cgi?id=635389
2010-11-21 00:36:30 +00:00
Tim-Philipp Müller
b84621e0d0 elementfactory: fix caps leak in element factory list utility functions 2010-11-18 00:29:19 +00:00
Thiago Santos
1b27e1e792 datetime: Add _from_unix_epoch variants
Adds 2 variants for the gst_date_time_from_unix_epoch function,
one for UTC and another for local time.

API: gst_date_time_new_from_unix_epoch_utc
API: gst_date_time_new_from_unix_epoch_local_time

Fixes #653031

https://bugzilla.gnome.org/show_bug.cgi?id=635031
2010-11-17 09:58:32 -03:00
Vladimir Eremeev
b804d53320 math-compat: don't re-define _USE_MATH_DEFINES if already defined
This avoids compiler warnings.

https://bugzilla.gnome.org/show_bug.cgi?id=633886
2010-11-03 14:21:02 +00:00
Edward Hervey
726e4479b7 elementfactory: Fix 64bit constant
Basically we're not meant to put anything more complex than simple numbers,
due to the definition of G_GUINT64_CONSTANT:
G_GUINT64_CONSTANT(val)	(val##UL)

Which previously resulted in .... 1 << 49UL
2010-10-22 11:52:47 +02:00
Tim-Philipp Müller
5b25761f29 docs: add some gtk-doc Since: markers
Add some gtk-doc Since: markers, fix one Since: marker,
fix typo.
2010-10-16 16:53:49 +01:00
Thiago Santos
e9312870e5 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
2010-10-13 11:48:57 -03:00
Thiago Santos
0d3c623b4b 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
2010-10-13 11:28:52 -03:00
Thiago Santos
c7e5bc1e5d datetime: Use GDateTime if available
Use GDateTime internally on GstDateTime if glib already
provides it.

https://bugzilla.gnome.org/show_bug.cgi?id=628408
2010-10-13 11:28:52 -03:00
Thiago Santos
6d883ed95c glib-private: Add include protection macro 2010-10-13 11:28:38 -03:00
Tim-Philipp Müller
59209b1891 buffer: add guard to buffer_set_caps() that checks if caps are simple 2010-10-13 14:54:23 +01:00
Stefan Kost
a09bd97bc6 systemclock: add a missing G_PARAM_STATIC_STRINGS 2010-10-13 15:59:16 +03: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
839114b05d bin: fix documentation for iterate_sources 2010-10-11 15:53:11 +02: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
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
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
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
Thiago Santos
dd53349ad2 gstdatetime: Fix string serialization
Correctly serialize tzoffset as a gstvalue
2010-09-27 20:41:52 -03:00
Trond Andersen
a95eacb56a 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.
2010-09-23 21:54:01 +02:00
Thiago Santos
7e1d9c8c0d 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
2010-09-23 10:37:06 -03:00
Stefan Kost
5550136fb2 Revert "pad: use a nested lock to avoid reffing the peer"
This reverts commit 9b424b1570.
2010-09-23 15:34:54 +03:00
Stefan Kost
9b424b1570 pad: use a nested lock to avoid reffing the peer
Fixes #503592
2010-09-22 10:22:40 +03:00
Wim Taymans
0447e72c97 bufferlist: add function to add a list of buffers
Add a function to add a list of buffers to the bufferlist.
2010-09-17 17:35:45 +02:00
Tim-Philipp Müller
80ddde400a 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.
2010-09-16 19:40:15 +01:00
Tim-Philipp Müller
34abe02458 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.
2010-09-16 19:40:15 +01:00
Tim-Philipp Müller
58e5d5e5b9 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.
2010-09-16 19:40:15 +01:00
Tim-Philipp Müller
608628d10d 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.
2010-09-16 19:40:15 +01:00
Tim-Philipp Müller
7e5a9580ef 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
2010-09-16 19:39:58 +01:00
Wim Taymans
e6a291bfab bin: fix doc string, we post element messages 2010-09-16 19:19:21 +02:00
Wim Taymans
a9a82da134 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.
2010-09-16 19:17:53 +02:00
Tim-Philipp Müller
30fe3b2be9 plugin: use strstr() instead of g_strstr_len()
Saves us a strlen() call.
2010-09-16 10:48:10 +01:00
Thiago Santos
60fba4df8b 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.
2010-09-13 20:52:03 -03:00
Stefan Kost
8ef7e46d24 docs: fix warnings pointed out by gtk-doc 2010-09-13 11:18:25 +03:00
Stefan Kost
ef5a78e71f taskpool: make debug only code conditional 2010-09-13 11:18:24 +03:00