[gst-devel] Display SVG through gdkpixbufdec

Olivier Aubert olivier.aubert at liris.cnrs.fr
Thu Oct 4 16:22:43 CEST 2007


Hello

I need to display SVG graphics over a video. I have seen there is a
feature request for a cairosvgoverlay, and I could possibly have a go at
it, but I wanted to try another approach, with gdkpixbufdef and
videomixer. The problem is that gdkpixbuf appears not to work (with
gstreamer-good plugins v. 0.10.6 from Debian testing)

filesrc location=/tmp/a.png ! pngdec  ! ffmpegcolorspace ! xvimagesink

works, while

filesrc location=/tmp/a.svg ! gdkpixbufdec  ! ffmpegcolorspace ! xvimagesink
or
filesrc location=/tmp/a.png ! gdkpixbufdec  ! ffmpegcolorspace ! xvimagesink

fail with the message

GStreamer-CRITICAL **: gst_value_set_fraction: assertion `denominator != 0' failed

Looking at the decoder caps, I notice that the framerate is [Output of gdkpixbuf0.get_pad('src').get_caps() :]
video/x-raw-rgb, bpp=(int)24, depth=(int)24, endianness=(int)4321, red_mask=(int)16711680, green_mask=(int)65280, blue_mask=(int)255, width=(int)360, height=(int)360, framerate=(fraction)0/0

I would guess it is a framerate issue (it is 0/0), I have seen some
changelogs about this, but I cannot manage to set it with for instance

filesrc location=/tmp/a.png ! gdkpixbufdec ! video/x-raw-rgb,framerate=(fraction)1/1 ! ffmpegcolorspace ! xvimagesink

It gives the same error message, and the gdkpixbufdec caps are not modified.

Does anyone have a hint ?

Thanks.
Olivier





More information about the gstreamer-devel mailing list