2009/1/22 Jason Tackaberry <[email protected]> > > When clutter-gst has a new frame to draw, it attaches an idle callback > at G_PRIORITY_HIGH_IDLE (== 100). When there's a timeline running, it > runs at CLUTTER_PRIORITY_TIMELINE (== 30). (As with nice, lower value > is higher priority.) I assume this means that while the timeline is > running, it may in practice starve the video. >
That's the reason. We tried changing the priority to HIGH and video does not stop when you trigger timelines. > > Theoretically, I don't think it would be too hard to implement > clutter-gst this way too. In fact, it's so obviously more correct that > I have to wonder if there's not a good reason the authors used an idle > timeout instead, which reason has eluded me. (Please educate me, if > that's the case.) One benefit of the idle call is that clutter drawing is done in the clutter main thread. I've remarked that, on some driver, even putting clutter_thread_enter/leave does not prevent crashes. Making sure that everything happens in the main thread seems to be the safest way. Julien
