[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