[gst-devel] repeated caps renegotiation
Stefan Kost
ensonic at hora-obscura.de
Fri May 30 16:52:16 CEST 2008
hi,
I have some bigger songs in buzztard that take ages to preroll. They
also have lots of caps stuff top in the oprofile output:
11953 12.2453 g_type_is_a
10067 10.3132 gst_value_get_compare_func
7275 7.4529 gst_value_subtract
4410 4.5178 gst_value_init_and_copy
3446 3.5303 gst_value_intersect
...
If I run it with
GST_DEBUG="*:2,GST_CAPS*:4,GST_PAD*:4"
and then grep for "caps changed from" I get lots of
a) NULL to xxx changes
b) xxx to xxx changes (same caps content but different instance)
Now I am wondering why e.g. tee uses gst_pad_alloc_buffer() and not
gst_pad_alloc_buffer_and_set_caps(). The first causes the repeated
renegotiation, as the caps of the pad are NULL and are not being set
(case a)). Or does it indicate a problem in the first place that tee.src
has NULL caps?
Regarding case b), I haven't understood yet, why the same caps are set
several times.
Stefan
More information about the gstreamer-devel
mailing list