Tim-Philipp Müller
cc55b9772b
utils: remove some dead code, GST_DEBUG_COLOR is never defined
2010-12-07 19:35:55 +00:00
Tim-Philipp Müller
7b0e3356eb
utils: const-ify arguments to gst_object_default_error()
2010-12-07 19:35:24 +00:00
Tim-Philipp Müller
3256c708be
docs: gst: more gobject introspection annotations
...
Many of these are superfluous, added for clarity.
2010-12-07 18:37:04 +00:00
Edward Hervey
6aa8ca37ee
micro-optim: if (x) is cheaper than if (x > 0) for unsigned integers
2010-12-03 12:03:42 +01:00
Wim Taymans
d3630379da
pad: clear pad cache when installing probes
...
Move the method to clear the pad cache into _private.h
Clear the pad cache when installing pad probes.
2010-12-03 11:28:52 +01:00
Wim Taymans
a0cb088284
utils: return immediately for -1 conversion
...
When we are asked to convert -1, we can return immediately with a -1 return
value.
2010-12-02 19:10:45 +01:00
Wim Taymans
e84d563033
utils: a convert query can have a -1 input value
...
It is allowed to pass -1 to the src_val for a convert.
2010-12-02 19:10:45 +01:00
Sebastian Dröge
c857047be7
utils: Fix inverted assertion logic in gst_util_fraction_compare()
2010-08-28 09:35:01 +02:00
Sebastian Dröge
8ca48752fb
utils: Add gst_util_fraction_compare() to compare fractions
...
And use it for the fraction comparisons in gstvalue.c instead
of using comparisons by first converting the fractions to double.
Should fix bug #628174 .
API: gst_util_fraction_compare()
2010-08-28 09:31:59 +02:00
Thiago Santos
706f0f657b
element: link_many should activate pads if needed
...
gst_element_link_many does some magic and creates ghostpads
if needed, but it didn't set the newly created ghostpad to
active if needed. This patch fixes it.
https://bugzilla.gnome.org/show_bug.cgi?id=626784
2010-08-19 07:33:08 -03:00
Tim-Philipp Müller
18ecca6331
utils: speed up pad linking utility functions by not trying pads that will never work
...
In gst_element_get_compatible_pad(), when trying to find a compatible pad on an
element for a given pad, there's no point in checking the element's sink pads
if the pad to link is a sink pad as well, or the element's source pads if the
given pad is a source pad already, since those would never be able to link
anyway. Should speed up linking using the convenience functions a little bit,
or at least reduce debug log output.
2010-08-05 10:16:16 +01:00
Stefan Kost
8d9688f84c
utils: better error logging in link_pads_filtered
2010-08-05 09:40:02 +03:00
Olivier Crête
37e2fb1054
gstutils: Make gst_pad_proxy_getcaps() return empty caps if it's what the other side has
...
gst_pad_proxy_getcaps() would return the pad template caps if the other side
returned empty caps or if the intersection of all the caps on the other side
was empty.
https://bugzilla.gnome.org/show_bug.cgi?id=624203
2010-08-05 01:14:18 +01:00
Edward Hervey
5b40ebbceb
utils: Add more details about gst_element_get_compatible_pad
2010-07-16 15:30:22 +02:00
Stefan Kost
8df1fdab57
docs: improve the api docs for new GstPadLinkChecks and its use
2010-07-05 17:53:42 +03:00
Edward Hervey
5faf5620f3
gstutils: New gst_element_link_pads_full method
...
Links the elements with the specified pad linking checks.
API:gst_element_link_pads_full
https://bugzilla.gnome.org/show_bug.cgi?id=622504
2010-06-23 18:42:40 +02:00
Sebastian Dröge
2d5b1bbc1d
utils: Use G_PARAM_STATIC_STRINGS for standard properties
2010-06-04 17:10:05 +02:00
Sebastian Dröge
beb24d05af
utils: Simplify fractions before doing calculations that could cause overflows
...
... to prevent some unnecessary overflows from happenening.
2010-05-13 08:21:37 +02:00
Sebastian Dröge
ee21479eab
utils: GCD is 0 if both parameters are 0, don't divide by zero
...
And turn overflow checks from assertions into simple checks to
return FALSE.
2010-05-13 08:01:14 +02:00
Sebastian Dröge
2c5d3d1761
utils: Simplify result of gst_fraction_multiply()
2010-05-13 08:01:14 +02:00
Wim Taymans
72c512a87d
utils: use reffed _get_caps() version
...
We don't need to have a writable copy so we can use the _reffed
version instead.
2010-05-04 11:44:27 +02:00
Sebastian Dröge
fbbb671e54
utils: Handle iterator resyncs in gst_pad_proxy_setcaps()
...
Fixes bug #612881 .
2010-03-15 14:52:40 +01:00
Edward Hervey
d60a3b8a59
gstreamer: remove unneeded casts
...
G_PARAM_SPEC_VALUE_TYPE does an expensive type check, whereas the
value_type field is a public field, so we can just use it directly.
2010-03-11 11:46:28 +01:00
Benjamin Otte
7e7f51f617
Fixes for -Wmissing-declarations -Wmissing-prototypes
...
Also adds those flags to the configure warning flags
https://bugzilla.gnome.org/show_bug.cgi?id=611692
2010-03-11 10:59:57 +01:00
Jeremy Huddleston
fa0d218e4c
utils: Use mulq instead of mul as some assemblers can't guess the size of the operands
...
Fixes bug #612370 .
2010-03-10 07:17:07 +00:00
Stefan Kost
3c09381cef
utils: defer getting the classes until we actualy need them
...
This function has a lot of early returns. Give them soem more benefit.
2010-01-10 21:49:25 +02:00
Stefan Kost
5fa9d942e3
utils: avoid extra hop in gst_element_link
...
No need to call gst_element_link_pads_filtered with filter=NULL, which would
call gst_element_link_pads() in that way. Call it directly to save a call and
expensive gobject type checks.
2010-01-10 21:44:34 +02:00
Sebastian Dröge
1c66f306d6
utils: Fix proxy_setcaps to only iterate pads of other direction
2009-12-08 16:40:57 +01:00
Wim Taymans
c6f2a94777
utils: fix proxy_getcaps
...
Make it return the padtemplate caps on errors and no parent.
Only intersect pads of the oposite direction of the source pad.
2009-12-08 16:30:51 +01:00
Sebastian Dröge
6bff920ba0
utils: Rename proxy iterator fold functions to have a more meaningful name
2009-12-08 16:24:20 +01:00
Sebastian Dröge
d6492c2958
utils: If one intersection gave empty caps don't continue iterating over the other pads
2009-12-08 16:09:02 +01:00
Stefan Kost
f43f2bf960
docs: fix more bogus xrefs
2009-11-27 14:18:38 +02:00
Stefan Kost
23da3639f0
docs: fix xrefs in docs
...
Fix typos in xrefs, links to non existing functions and rework plural forms.
2009-11-25 16:59:50 +02:00
Stefan Kost
7ff832d36e
docs: fix gtk-doc syntax for doc-blob start
2009-11-25 14:18:14 +02:00
Sebastian Dröge
0ed24bc50e
utils: API: Add multiplication and addition functions for fractions
...
gst_util_fraction_add()
gst_util_fraction_multiply()
These work on plain integers instead of GValues to
keep the overhead as low as possible.
2009-11-16 09:56:32 +01:00
Sebastian Dröge
e4257e8d5f
gstutils: API: Add fraction helper functions
...
gst_util_greatest_common_divisor()
gst_util_double_to_fraction()
gst_util_fraction_to_double()
Using these instead of going over GValue has much lower overhead.
Also add float<->fraction transform functions for GValue.
2009-11-16 09:56:32 +01:00
Stefan Kost
4d17d331bf
whitespace: remove blanks in doc-comment
2009-11-12 17:02:40 +02:00
Stefan Kost
f63ecd04a8
pad: rename new api from _refed to _reffed.
...
Due to popular demand rename the new api as we still can.
API: gst_pad_get_caps_reffed(), gst_pad_peer_get_caps_reffed()
2009-11-05 12:54:32 +02:00
Stefan Kost
fcc5d783df
pad: add variants of gst_pad_get_caps() that don't copy caps. Fixes #590941
...
In most places in core and baseclasses we just need the caps to do caps-
intersections. In that case ref'ed caps are enough (no need to copy).
This patch also switches the code to use the new functions.
API: gst_pad_get_caps_refed(), gst_pad_peer_get_caps_refed()
2009-10-07 22:41:30 +03:00
Stefan Kost
201cbbdce0
pad: flip the G_UNLIKELY
...
Its likely that we have caps and unlikely (error) otherwise.
2009-10-07 11:12:57 +03:00
Stefan Kost
82526701f0
pad: don't intersect with any in proxy_pad_get_caps
...
We initialize the caps with any and if a pad has NULL caps, just skip it instead
of intersecting with any. Also add branch prediction here.
2009-10-07 10:59:54 +03:00
Stefan Kost
b1f88b3f1f
docs: rename aggregator to adder in the docs.
2009-10-07 10:59:54 +03:00
Johan Bilien
920e9b569d
introspection: Add annotations for gst_element_query_{duration,position}
...
Fixes bug #595511 .
2009-10-07 07:18:04 +02:00
Sebastian Dröge
c4f76d5d22
utils: Add a comment to the scaling functions to explain why the rounding is correct
2009-09-09 18:38:29 +02:00
Sebastian Dröge
8d1aeeb2af
utils: Use gcc's __uint128_t for 64bit unsigned integer scaling
...
This is available in newer gcc releases and it should only exist
on platforms that provide some native 128bit integer arithmetic
instructions.
The x86-64 assembly for this is still kept for non-gcc compilers
that don't provide __uint128_t magic.
2009-09-09 14:59:39 +02:00
Wim Taymans
b0c1ebbd08
utils: use 128bits division on x86_64
2009-08-31 11:45:17 +02:00
Wim Taymans
378b1e30e7
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.
2009-08-28 15:32:26 +02:00
Wim Taymans
6cf8948663
utils: make inlining explicit
2009-08-28 13:45:38 +02:00
Wim Taymans
d8911f269f
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.
2009-08-28 12:43:43 +02:00
Wim Taymans
0ef7a5af52
utils: factor out the leading zero count code
2009-08-28 12:33:37 +02:00