On Fri, 2010-02-12 at 13:07 +0000, Matej Kupljen wrote:
> Hi all,
> 
> I am trying to use clutter with the TV tuner and I have some problems.
> I use clutter.Texture() for displaying video, and I construct the pipeline as
> following:
> 
> self.player_wnd = clutter.Texture()
> self.player_wnd.set_size(stage_w*0.9, stage_h*0.9)
> self.player_wnd.set_position(10, 10)
> self.player_wnd.show()
> 
> pipeline = gst.Pipeline()
> videosrc = gst.element_factory_make("v4l2src")
> sink = cluttergst.VideoSink(self.player_wnd)
> pipeline.add(videosrc, sink)
> gst.element_link_many(videosrc, sink)
> pipeline.set_state(gst.STATE_PLAYING)
> self.stage.add(self.player_wnd
> 
> This is working, but when I set the window size to be a full screen or
> 1920x1200 it seems, that video is dropping frames, although the CPU
> is loaded up to 30% only.

Right, so at this point it seems like you are GPU bound, ie the YUV->RGB
shader at 1920x1200 is bringing your GPU to its knees.

Can we know more about your setup? in which kind of YUV are the frames
from the v4l2 device? which GPU are you using?

> If I replace the videosink to be xvimagesink the video is always good.
> Am I doing something wrong?
> Is it possible to use xvimagesink instead of clutergst.VideoSink()?

It's not possible to use xvimagesink with Clutter directly. You could
try to use Xv + GLX_EXT_texture_from_pixmap (through, for instance,
clutter_glx_texture_pixmap_new_with_pixmap ()).

-- 
Damien


---------------------------------------------------------------------
Intel Corporation (UK) Limited
Registered No. 1134945 (England)
Registered Office: Pipers Way, Swindon SN3 1RJ
VAT No: 860 2173 47

This e-mail and any attachments may contain confidential material for
the sole use of the intended recipient(s). Any review or distribution
by others is strictly prohibited. If you are not the intended
recipient, please contact the sender and delete all copies.

Reply via email to