On Thu, 2010-10-28 at 21:20 +0100, Lukas Ruetz wrote: > now I see that the stuttering is only there if a ClutterTimeline is running > (the translucent actors without the timeline are no problem). One case is a > clock hh:mm which timeline runs every 15sec. Again - this does not influence > the playback of a H.264 video (or at least it's not visible). > > Any idea how this interferes with gstreamer?
I can at least describe what happens if it's useful: 1/ Gstreamer pushes GstBuffers to the sink from an arbitrary thread, 2/ The sink keeps a reference to the buffer and wakes up the Clutter thread to signal there's a new buffer awaiting, 3/ The new frame is uploaded in the the Clutter thread without doing anything special (with glTexImage2D()) which probably means a memcpy() somewhere. This upload takes time (ie. blocks the main thread) and is done given priority: #define CLUTTER_GST_DEFAULT_PRIORITY (G_PRIORITY_HIGH_IDLE) while the master clock has the following priority #define CLUTTER_PRIORITY_REDRAW (G_PRIORITY_HIGH_IDLE + 50) (that means that the uploading frames has a higher priority than the master clock) Notes: * The priority of the frame uploading is tweakable with the "update-priority" property on the sink. * depending on your platform, there's probably a better way to stream textures. HTH, -- Damien _______________________________________________ clutter-app-devel-list mailing list [email protected] http://lists.clutter-project.org/listinfo/clutter-app-devel-list
