Hi, I have a lot of threads in my application. One of them is used to provide video data to application. So, when new video frame is available I just put video data to queue and make call clutter_threads_add_idle_full(G_PRIORITY_HIGH, /* I tries over priority also, DEFAULT, LOW */ videoFrameCB, handle, 0);
After that videoFrameCB is called and I'm getting first available video data from queue and do setup for texture using clutter_texture_set_from_rgb_data static gboolean videoFrameCB(gpointer data) { clutter_texture_set_from_rgb_data(); return FALSE; } (clutter-gstream is working in the same way...) All works fine, BUT some times texture(actor) never redraw it self. I just see only the first frame on the screen. I can move window outside desktop then move it back and texture will be redrawning with latest available video frame. Maybe clutter_texture_set_from_rgb_data is called too intensive? As i known setting texture data on visible actor will force to redraw stage, maybe problem here? #define CLUTTER_PRIORITY_REDRAW (G_PRIORITY_DEFAULT + 10) Any ideas? Maybe I need to redraw stage directly after setting up texture? Thanks, Roman