Overlay with python, appsrc, cairo and a full cast of errors

Michael Tyson michael at tyson.id.au
Sun Mar 2 16:23:30 PST 2014


> I would guess that this is so impressively slow because you get the data
> from cairo into Python objects, and then copy the Python objects into
> the GStreamer buffer. For every single buffer.

Makes sense to me =)

> One way to make this work faster is probably by using the cairooverlay
> element and do the overlaying there with just using cairo API and never
> getting the frame data into Python.

Ah! I wasn’t aware of cairooverlay - that’s precisely what I need. Appears to act as a filter too, as opposed to a source, so it should make it much easier to use.

Unfortunately, the Python bindings appear to be stuffed with cairooverlay too (" 'gobject.GBoxed' object has no attribute ‘set_source_rgba’” from within the draw callback), so I’ll switch to C for the project and see how it goes.


> You'll a) need to set appsrc into TIME format and b) either use
> do-timestamp=true on it or explicitly set timestamps on each buffer.
> 
> You say you tried that, can you provide debug logs about the problems
> that happen when you use this combination?

Given that I’ll be using cairooverlay instead of appsrc, I’m happy to leave this one unsolved.

Cheers for the pointers!

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20140303/6213a256/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 203 bytes
Desc: Message signed with OpenPGP using GPGMail
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20140303/6213a256/attachment.pgp>


More information about the gstreamer-devel mailing list