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

Reply via email to