[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