basetransform prevents default behaviour of capssetter

Dirk Van Haerenborgh vhdirk at gmail.com
Thu Jan 31 05:56:35 PST 2013


Hi

I'm trying to write 8-bit bayer data to a grayscale avi, by transforming
the bayer caps to grayscale caps with capssetter. (full command line and
debug output appended)
The debug output of capssetter clearly shows that transforming the caps is
successful, yet gstbasetransform complains that the src caps are not a
subset of the filter caps.

Does anyone know what could be the issue here?

Thanks,
-Dirk

gst-launch-1.0 --gst-debug=capssetter:5 videotestsrc !
video/x-bayer,format=rggb,width=780,height=580,framerate=20/1 ! capssetter
join=false replace=true
caps="video/x-raw,format=GRAY8,width=780,height=580,framerate=20/1" !
video/x-raw,format=GRAY8,width=780,height=580,framerate=20/1 ! avimux !
filesink location=test.avi
---
0:00:00.012200976 20224      0x1447070 DEBUG             capssetter
gstcapssetter.c:293:gst_caps_setter_set_property:<capssetter0> set new caps
video/x-raw, format=(string)GRAY8, width=(int)780, height=(int)580,
framerate=(fraction)20/1
0:00:00.013391579 20224      0x1447070 DEBUG             capssetter
gstcapssetter.c:200:gst_caps_setter_transform_caps:<capssetter0> receiving
caps: ANY
0:00:00.013426185 20224      0x1447070 DEBUG             capssetter
gstcapssetter.c:200:gst_caps_setter_transform_caps:<capssetter0> receiving
caps: ANY
0:00:00.013490580 20224      0x1447070 DEBUG             capssetter
gstcapssetter.c:200:gst_caps_setter_transform_caps:<capssetter0> receiving
caps: video/x-bayer, format=(string)rggb, width=(int)780, height=(int)580,
framerate=(fraction)20/1
0:00:00.013516390 20224      0x1447070 DEBUG             capssetter
gstcapssetter.c:235:gst_caps_setter_transform_caps:<capssetter0> returning
caps: video/x-raw, format=(string)GRAY8, width=(int)780, height=(int)580,
framerate=(fraction)20/1
0:00:00.013558953 20224      0x1447070 DEBUG             capssetter
gstcapssetter.c:200:gst_caps_setter_transform_caps:<capssetter0> receiving
caps: video/x-bayer, format=(string)rggb, width=(int)780, height=(int)580,
framerate=(fraction)20/1
0:00:00.013579403 20224      0x1447070 DEBUG             capssetter
gstcapssetter.c:235:gst_caps_setter_transform_caps:<capssetter0> returning
caps: video/x-raw, format=(string)GRAY8, width=(int)780, height=(int)580,
framerate=(fraction)20/1
0:00:00.013660751 20224      0x1447070 DEBUG             capssetter
gstcapssetter.c:200:gst_caps_setter_transform_caps:<capssetter0> receiving
caps: video/x-bayer, format=(string)rggb, width=(int)780, height=(int)580,
framerate=(fraction)20/1
0:00:00.013682218 20224      0x1447070 DEBUG             capssetter
gstcapssetter.c:235:gst_caps_setter_transform_caps:<capssetter0> returning
caps: video/x-raw, format=(string)GRAY8, width=(int)780, height=(int)580,
framerate=(fraction)20/1
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
0:00:00.014109946 20224      0x14fa770 DEBUG             capssetter
gstcapssetter.c:200:gst_caps_setter_transform_caps:<capssetter0> receiving
caps: video/x-bayer, format=(string)rggb, width=(int)780, height=(int)580,
framerate=(fraction)20/1
0:00:00.014138136 20224      0x14fa770 DEBUG             capssetter
gstcapssetter.c:235:gst_caps_setter_transform_caps:<capssetter0> returning
caps: video/x-raw, format=(string)GRAY8, width=(int)780, height=(int)580,
framerate=(fraction)20/1
0:00:00.014167500 20224      0x14fa770 DEBUG             capssetter
gstcapssetter.c:200:gst_caps_setter_transform_caps:<capssetter0> receiving
caps: video/x-raw, format=(string)GRAY8, width=(int)780, height=(int)580,
framerate=(fraction)20/1
0:00:00.014179207 20224      0x14fa770 ERROR          basetransform
gstbasetransform.c:530:gst_base_transform_transform_caps:<capssetter0>
transform_caps returned caps video/x-raw, format=(string)GRAY8,
width=(int)780, height=(int)580, framerate=(fraction)20/1 which are not a
real subset of the filter caps video/x-bayer, format=(string)rggb,
width=(int)780, height=(int)580, framerate=(fraction)20/1

** (gst-launch-1.0:20224): WARNING **: capssetter0: transform_caps returned
caps which are not a real subset of the filter caps
ERROR: from element /GstPipeline:pipeline0/GstVideoTestSrc:videotestsrc0:
Internal data flow error.
Additional debug info:
gstbasesrc.c(2809): gst_base_src_loop ():
/GstPipeline:pipeline0/GstVideoTestSrc:videotestsrc0:
streaming task paused, reason not-negotiated (-4)
ERROR: pipeline doesn't want to preroll.
Setting pipeline to NULL ...
Freeing pipeline ...
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20130131/b3a41060/attachment-0001.html>


More information about the gstreamer-devel mailing list