Sebastian Dröge
125ae3acb1
message: Work around g-i/pygobject/gjs bug with ~0 in enums
...
GST_MESSAGE_ANY was considered a long by pygobject and gjs, and thus
couldn't be used in gst_bus_poll() and similar APIs as they expect an
int-typed enum.
Just use 0xffffffff instead for now.
https://bugzilla.gnome.org/show_bug.cgi?id=732633
2014-07-03 10:13:28 +02:00
Göran Jönsson
d0a808cdc8
pad: Don't unlock while iterating over all sticky events for removal
...
Otherwise we might end up getting the event removed from elsewhere
at the same time while we're unlocked for g_object_notify().
https://bugzilla.gnome.org/show_bug.cgi?id=732556
2014-07-01 19:26:18 +02:00
Evan Nemerson
5abc82e9f3
introspection: Assorted minor introspection and documentation fixes
...
https://bugzilla.gnome.org/show_bug.cgi?id=732534
2014-07-01 09:03:41 +02:00
Guillaume Desmottes
688108431a
devicemonitor: Stop using g_clear_pointer()
...
We dont't want to depend on GLib 2.34 for now.
2014-06-30 11:17:44 +02:00
Tim-Philipp Müller
0e0e78e8af
devicemonitor: don't fail when started without any filters
...
Just show all devices then.
2014-06-27 10:47:50 +01:00
Tim-Philipp Müller
9b07b935a4
deviceproviderfactory: handle NULL classes argument and match any
2014-06-27 10:44:01 +01:00
Olivier Crête
67440ce084
devicemonitor: Improve documentation
2014-06-26 21:01:38 -04:00
Olivier Crête
6d12b33945
devicemonitor: Make it possible to add multiple filters
...
Each filter will include a GstCaps and a set of classes to match
2014-06-26 21:01:38 -04:00
Olivier Crête
d76e0be9fd
device: Add pre-conditions
2014-06-26 16:31:51 -04:00
Olivier Crête
c2583cae90
GstDeviceMonitor: Rename from GstGlobalDeviceMonitor
2014-06-26 15:08:46 -04:00
Olivier Crête
7992174a1a
DeviceProvider: Rename from DeviceMonitor
2014-06-26 14:45:30 -04:00
Philip Withnall
9edef56efc
miniobject: Add missing (nullable) annotations
...
gst_mini_object_replace() can take NULL mini-objects.
https://bugzilla.gnome.org/show_bug.cgi?id=730873
2014-06-26 19:16:07 +02:00
Sebastian Dröge
fe192fe399
message: Application and element messages should not have NULL structures
...
It does not make sense for them.
2014-06-26 19:02:06 +02:00
Evan Nemerson
4088363aea
introspection: add some missing allow-none annotations to in params
...
https://bugzilla.gnome.org/show_bug.cgi?id=730957
2014-06-26 19:00:58 +02:00
Evan Nemerson
5d80cf12ba
introspection: add nullability annotations to out and inout params
...
https://bugzilla.gnome.org/show_bug.cgi?id=730957
2014-06-26 18:59:15 +02:00
Evan Nemerson
2759882379
introspection: add missing (nullable) annotations to return values
...
Support for (nullable) was added to G-I at the same time as nullable
return values. Previous versions of G-I will not mark return values as
nullable, even when an (allow-none) annotation is present, so it is
not necessary to add (allow-none) annotations for compatibility with
older versions of G-I.
https://bugzilla.gnome.org/show_bug.cgi?id=730957
2014-06-26 18:56:38 +02:00
George Kiagiadakis
780c83d5c4
caps: unset the parent refcount of the old features before freeing them in gst_caps_set_features()
...
Otherwise gst_caps_features_free() asserts and the features structure is leaked
2014-06-26 11:16:34 +03:00
Tim-Philipp Müller
8e30a9462c
caps: gst_caps_is_any() should return TRUE or FALSE
...
Not some flag value instead of TRUE. Fixes code like
gst_caps_is_any() == TRUE.
https://bugzilla.gnome.org//show_bug.cgi?id=731704
2014-06-22 12:50:42 +01:00
Tim-Philipp Müller
2092754ed1
device: rename "klass" and get_klass() to "device-class" and _get_device_class()
...
There's some precedent in GstElementFactory, but a
"klass" property just seems weird.
2014-06-21 01:26:46 +01:00
Tim-Philipp Müller
89a5b89388
value: simplify GST_VALUE_HOLDS for our boxed and fundamental types
...
Boxed types can't be derived from, and we don't support
deriving from our special fundamental types (the code
checks for GType equality in most places.
2014-06-21 01:10:22 +01:00
Olivier Crête
77db6bf3d6
GstDevice: Document GstDevice and related classes
2014-06-20 16:55:06 -04:00
Tim-Philipp Müller
bc75a166f0
gstvalue: optimise checks for lists
...
Our fundamental types are non-derivable, so we can
just check for equality. Also avoid doing the same
check multiple times in a couple of places.
2014-06-19 08:40:16 +01:00
Tim-Philipp Müller
d74708a820
gstvalue: use g_assert() in internal function for already-checked things
...
So these get compiled out for releases.
2014-06-19 08:40:15 +01:00
Tim-Philipp Müller
bbefd6082f
gstvalue: add internal _can_compare_unchecked()
2014-06-19 08:40:15 +01:00
Tim-Philipp Müller
adcbe94aff
gstvalue: add internal _list_concat() that takes ownership of input values
...
Avoids unnecessary copies.
2014-06-19 08:40:15 +01:00
Tim-Philipp Müller
5f6088f039
structure: simplify value type checks in getters
...
Just check for GType equality in common cases.
2014-06-19 08:40:15 +01:00
Sebastian Dröge
8f4b479c98
value: Add a FIXME 2.0 for a fraction ranges optimization
...
Currently we leak the internal representation of them as two GValues that
contain a fraction. Without this we could store fraction ranges as
data[0] = (min_n << 32) | (min_d)
data[1] = (max_n << 32) | (max_d)
and wouldn't require an additional allocation per range.
2014-06-19 09:33:55 +02:00
Sebastian Dröge
9b7da39b68
value: Make sure to cast int range values to guints before storing them
...
Otherwise negative values will sets all of the 64 bits due to two's
complement's definition of negative values.
Also add a test for negative int ranges.
2014-06-19 09:33:54 +02:00
Sebastian Dröge
d84d01aad4
value: Store integer ranges directly in a GValue without additional allocation
...
Micro optimization to save some allocations. Next step to do this
with fraction ranges too.
2014-06-19 09:09:07 +02:00
Edward Hervey
37e8ffcc4f
gst_private: Fix duplicate definition
2014-06-19 08:43:36 +02:00
Sebastian Dröge
db1e4422b6
gst: Store more basic type GTypes in variables
...
Micro optimization to change a function call to a variable access
for all our basic types.
2014-06-19 08:06:55 +02:00
Sebastian Dröge
f47a95f4cb
value: Store our fundamental type GTypes in variables
...
Micro optimization to change a function call to a variable access
for all our basic types.
2014-06-19 08:06:55 +02:00
Edward Hervey
b0b20b44e5
gstvalue: Speed up gst_value_intersect/_subtract
...
Both gst_value_intersect and gst_value_subtract will call
gst_value_compare if one of their arguments isn't a list.
gst_value_compare will then re-do a check to see if one of
the arguments is a list (for the special case of comparing a unitary
value with a list of length 1).
The problem is that the various G_VALUE_HOLDS represent an expensive
amount of calling gst_value_compare (almost half of it) to see if
the provided arguments are list. These checks can be done without
when we know that the arguments aren't lists.
* Create a new "nolist" gst_value_compare which avoids that special
case comparision
Benchmarks:
valgrind/callgrind: average speedup in instruction calls for
gst_value_intersect and gst_value_subtract is around 56% (Makes 63%
of the calls it used to take previously)
tests/benchmarks/capsnego: With default settings (depth 4, children 3
607 elements), time taken for transition from READY to PAUSED:
Before : 00.391519153
After : 00.220397492
56% of the time previously used, +77% speedup
https://bugzilla.gnome.org/show_bug.cgi?id=731756
2014-06-17 16:27:07 +02:00
Tim-Philipp Müller
87fcf1e078
bufferlist: fix buffer leak in _remove()
2014-06-16 20:29:56 +01:00
Tim-Philipp Müller
bd26fa7ccb
devicemonitor: some docs additions and fixes
2014-06-14 16:30:49 +01:00
Evan Nemerson
2a14482c62
introspection: minor annotation additions
...
https://bugzilla.gnome.org/show_bug.cgi?id=731541
2014-06-12 09:26:38 +01:00
Evan Nemerson
ba1212f63b
introspection: include gstversion.h in GIR generation
...
https://bugzilla.gnome.org/show_bug.cgi?id=703021
2014-06-12 08:22:20 +01:00
Tim-Philipp Müller
12088d87bb
globaldevicemonitor: prettify header
2014-06-07 10:13:56 +01:00
Evan Nemerson
1fe6d3ad08
introspection: fix some minor annotation bugs
...
https://bugzilla.gnome.org/show_bug.cgi?id=730982
2014-06-06 15:15:12 -04:00
Tim-Philipp Müller
b65a7a7034
info: make printing datetimes work with GST_PTR_FORMAT
2014-06-03 23:49:26 +01:00
Tim-Philipp Müller
8998cf840d
datetime: change internal implementation to mini object
...
And move type stuff from GstValue to GstDateTime.
2014-06-03 23:49:21 +01:00
Wim Taymans
36d4c4c218
info: first handle all miniobjects, then GObjects
...
First handle all miniobjects before we attempt to dereference the first
field pointer and look at the GType. With the recent glib change to
speed up G_IS_OBJECT, this causes crashes on miniobjects otherwise.
2014-06-03 14:47:17 +02:00
Wim Taymans
460be3e124
info: GstDateTime does not have a GType as first field
...
GstDateTime does not have the GType as the first field so we can't use
it to detect its type.
2014-06-03 14:46:11 +02:00
Wim Taymans
e457739ac9
info: use macros to check types
...
Use the macros to check the type of objects instead of directly poking
at the first field.
2014-06-03 14:45:22 +02:00
Tim-Philipp Müller
64c71323a6
globaldevicemonitor: connect sync-message signal on the right object
...
Fixes criticals at runtime and makes stuff actually work.
2014-06-01 23:51:20 +01:00
Sebastian Dröge
066fdcd432
Revert "miniobject: Add missing (nullable) annotations"
...
This reverts commit 96361e9b5c
.
This was not supposed to be pushed yet!
2014-05-30 09:13:16 +02:00
Sebastian Dröge
67138f4ee8
bufferpool: It's pool, not poo... even when talking about flushing
2014-05-30 09:12:50 +02:00
Philip Withnall
96361e9b5c
miniobject: Add missing (nullable) annotations
...
gst_mini_object_replace() can take NULL mini-objects.
https://bugzilla.gnome.org/show_bug.cgi?id=730873
2014-05-30 09:12:49 +02:00
Evan Nemerson
e10266e3f3
docs: convert NULL, TRUE, and FALSE to %NULL, %TRUE, and %FALSE
...
This should help improve documentation generated for
languages other than C.
https://bugzilla.gnome.org/show_bug.cgi?id=730961
2014-05-30 00:20:27 +01:00
Tim-Philipp Müller
88191aa880
docs: fix type in GstObject docs
2014-05-30 00:14:01 +01:00