[gst-devel] gdkpixbufsink factory not found

Tim-Philipp Müller t.i.m at zen.co.uk
Fri Jan 16 15:09:36 CET 2009


On Wed, 2009-01-14 at 09:49 +0000, mapping at sheerman-chase.org.uk wrote:

Hi,

> A quick follow up, in which I have found my problem but not a  
> solution. Going gst-inspect gdkpixbuf shows I don't have the  
> gdkpixbufsink factory plugin in my version of gdkpixbuf (0.10.4).

Upgrade! :)

> My next step is to investigate if using gdkpixbufdec is a possibility  
> instead of gdkpixbufsink.

No, gdkpixbufdec decodes images e.g. from PNG or JPEG to raw video.
gdkpixbufsink merely encapsulates raw RGB video data in a GdkPixbuf
struct.

> Or possibly use a different pixel buffer (if any exist).Do I need
> to have a sink element after gdkpixbufdec? If  so, which one?
> 
> Is there any logical way to indicate when the buffer is updated?  
> (basically to reproduce gdkpixbufsink's behaviour)

gdkpixbufsink is not a complicated element - you could (licenses
permitting) just copy it into your application's source tree, prefix all
types and names with your own namespace (e.g. MyGdkPixbufSink etc.) and
ship it as static plugin with your app. Or reimplement the bits you
need, which is probably not much code either.

Alternatively, you could use a capsfilter ! fakesink where capsfilter is
set to the desired RGB caps, and then handle fakesink's handoff and/or
preroll-handoff signals (you can post messages on the bus yourself from
the callbacks if you want to). This gets you raw RGB pixel data.

There's also appsink which is now stable and in the upcoming -base
release, but if you don't have the latest -good, you probably don't have
that either.

Cheers
 -Tim






More information about the gstreamer-devel mailing list