jpegdec and x-raw-rgb

Tim-Philipp Müller t.i.m at zen.co.uk
Wed Jul 4 04:52:51 PDT 2012


On Wed, 2012-07-04 at 02:50 -0700, hasardel wrote:

Hi,

> I started with GStreamer.
> My plugin accepts caps "video/x-raw-rgb".
> 
> gst-launch --verbose filesrc location="test.jpg" ! jpegdec ! imagefreeze !
> video/x-raw-rgb ! myplugin ! autovideosink
> Définition du pipeline à PAUSED...
> Le pipeline est en phase de PREROLL...
> /GstPipeline:pipeline0/GstJpegDec:jpegdec0.GstPad:src: caps =
> video/x-raw-yuv, format=(fourcc)I420, width=(int)1280, height=(int)819,
> framerate=(fraction)0/1
> ERREUR : de l'élément /GstPipeline:pipeline0/GstFileSrc:filesrc0 : Erreur
> interne de flux de données.
> Information de débogage supplémentaire :
> gstbasesrc.c(2625): gst_base_src_loop ():
> /GstPipeline:pipeline0/GstFileSrc:filesrc0:
> streaming task paused, reason not-negotiated (-4)
> ERREUR : le pipeline refuse de passer en phase de préparation.
> Définition du pipeline à NULL...
> /GstPipeline:pipeline0/GstJpegDec:jpegdec0.GstPad:src: caps = NULL
> Libération du pipeline...
> 
> The pad "src" of jpegdec accepts caps "video/x-raw-yuv", "video/x-raw-rgb"
> and "video/x-raw-gray".
> I don't understand why ?

Only sink pads "accept" different caps really. Source pad caps tend to
depend on the input caps and the input data. jpegdec might output RGB
for some images and YUV I420 for others.

Just doing: ..... ! jpegdec ! ffmpegcolorspace ! yourplugin ! ...

should work, assuming yourplugin announces its RGB caps properly in its
sink pad template caps.

Cheers
 -Tim



More information about the gstreamer-devel mailing list