[gstreamer-bugs] [Bug 345444] Linking to an audioconvert (pad-added callback) multiple times in a pipeline takes a very long time

GStreamer (bugzilla.gnome.org) bugzilla-daemon at bugzilla.gnome.org
Fri Aug 18 11:57:28 PDT 2006


Do not reply to this via email (we are currently unable to handle email
responses and they get discarded).  You can add comments to this bug at
http://bugzilla.gnome.org/show_bug.cgi?id=345444
 GStreamer | gstreamer (core) | Ver: HEAD CVS





------- Comment #4 from Stefan Kost (gstreamer, gtkdoc dev)  2006-08-18 18:57 UTC -------
> opreport -l /opt/gnome/lib/libgstbase-0.10.so
CPU: AMD64 processors, speed 1800.38 MHz (estimated)
Counted CPU_CLK_UNHALTED events (Cycles outside of halt state) with a unit mask
of 0x00 (No unit mask) count 100000
samples  %        symbol name
6        26.0870  gst_base_transform_transform_caps
4        17.3913  gst_base_transform_getcaps
3        13.0435  .plt
2         8.6957  gst_base_transform_prepare_output_buffer
1         4.3478  __i686.get_pc_thunk.bx
1         4.3478  gst_base_sink_perform_qos
1         4.3478  gst_base_src_change_state
1         4.3478  gst_base_src_get_type
1         4.3478  gst_base_src_start
1         4.3478  gst_base_transform_handle_buffer
1         4.3478  gst_collect_pads_flush
1         4.3478  gst_collect_pads_set_flushing_unlocked

what the heck is .plt ?

gst_base_transform_transform_caps:
               :      /* we send caps with just one structure to the transform
               :       * function as this is easier for the element */
     3 13.0435 :      for (i = 0; i < gst_caps_get_size (caps); i++) {
               :        GstCaps *nth;
               :
     1  4.3478 :        nth = gst_caps_copy_nth (caps, i);
               :        GST_DEBUG_OBJECT (trans, "from[%d]: %" GST_PTR_FORMAT,
i, nth);
     1  4.3478 :        temp = klass->transform_caps (trans, direction, nth);
               :        gst_caps_unref (nth);
     1  4.3478 :        GST_DEBUG_OBJECT (trans, "  to[%d]: %" GST_PTR_FORMAT,
i, temp);
               :
               :        temp = gst_caps_make_writable (temp);
               :        gst_caps_append (ret, temp);
               :      }


gst_base_transform_getcaps:
               :    /* filtered against our padtemplate */
               :    templ = gst_pad_get_pad_template_caps (otherpad);
               :    GST_DEBUG_OBJECT (pad, "our template  %" GST_PTR_FORMAT,
templ);
               :    temp = gst_caps_intersect (caps, templ);
               :    GST_DEBUG_OBJECT (pad, "intersected %" GST_PTR_FORMAT,
temp);
     2  8.6957 :    gst_caps_unref (caps);
               :    /* then see what we can transform this to */
               :    caps = gst_base_transform_transform_caps (trans,
               :        GST_PAD_DIRECTION (otherpad), temp);
               :    GST_DEBUG_OBJECT (pad, "transformed  %" GST_PTR_FORMAT,
caps);
               :    gst_caps_unref (temp);
     1  4.3478 :    if (caps == NULL)
               :      goto done;
               :
               :    /* and filter against the template again */
               :    templ = gst_pad_get_pad_template_caps (pad);
               :    GST_DEBUG_OBJECT (pad, "our template  %" GST_PTR_FORMAT,
templ);
               :    temp = gst_caps_intersect (caps, templ);
               :    GST_DEBUG_OBJECT (pad, "intersected %" GST_PTR_FORMAT,
temp);
               :    gst_caps_unref (caps);
               :    /* this is what we can do */
               :    caps = temp;


-- 
Configure bugmail: http://bugzilla.gnome.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.




More information about the Gstreamer-bugs mailing list