Hi All,
I have some code that works fine with video streams but when I use a pngdec as the source I can not change the caps, gives error of GStreamer-CRITICAL **: gst_pad_set_caps: assertion `caps == NULL || gst_caps_is_fixed (caps)' failed Error: code=3 message=not negotiated if the caps is set to the png actual input size it passes through with no error - ie the actual size is 300x169, in the below code the caps of 100x100 triggers the error (pls note this is the java code but I am sure you get the drift!) Element source = ElementFactory.make("filesrc", "source"); Element vparse = ElementFactory.make("pngdec", "vparse"); Element frz1 = ElementFactory.make("imagefreeze", "frz1"); Element ffcs1 = ElementFactory.make("ffmpegcolorspace", "ffcs1"); Element vidsc1 = ElementFactory.make("videoscale", "vidsc1"); Element capsfilter1 = ElementFactory.make("capsfilter", "filter1"); capsfilter1.setCaps(Caps.fromString("video/x-raw-yuv, format=(fourcc)AYUV, width=100, height=100, framerate=30/1,bpp=16, depth=16 ")); I am also adding this source to a videomixer2 overlay hence the cpas ayuv any thoughts on how I can change the size? thx Art _______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
On 03/22/2012 10:29 AM, [hidden email] wrote:
> Hi All, > > I have some code that works fine with video streams but when I use a > pngdec as the source I can not change the caps, gives error of > > GStreamer-CRITICAL **: gst_pad_set_caps: assertion `caps == NULL || > gst_caps_is_fixed (caps)' failed > Error: code=3 message=not negotiated > > if the caps is set to the png actual input size it passes through with no > error - ie the actual size is 300x169, in the below code the caps of > 100x100 triggers the error (pls note this is the java code but I am sure > you get the drift!) > > > Element source = ElementFactory.make("filesrc", "source"); > Element vparse = ElementFactory.make("pngdec", "vparse"); > Element frz1 = ElementFactory.make("imagefreeze", "frz1"); > Element ffcs1 = ElementFactory.make("ffmpegcolorspace", "ffcs1"); > Element vidsc1 = ElementFactory.make("videoscale", "vidsc1"); > Element capsfilter1 = ElementFactory.make("capsfilter", "filter1"); > capsfilter1.setCaps(Caps.fromString("video/x-raw-yuv, format=(fourcc)AYUV, > width=100, height=100, framerate=30/1,bpp=16, depth=16 ")); > > I am also adding this source to a videomixer2 overlay hence the cpas ayuv How are the element linked? Is it source ! vparse ! frz1 ! ffcs1 ! vidscl ! capsfilter1 ? That should actually work. Stefan > any thoughts on how I can change the size? > > thx > Art > > _______________________________________________ > gstreamer-devel mailing list > [hidden email] > http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel _______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Hi Stefan,
Confirming that is the correct pipeline and error still persists, but only for image + imagefreeze, any video src(videoparse+imagefreeze) that goes through imagefreeze re-sizes fine. I have tried two caps in the pipe, the first to change format into AYUV then the second to change size, but again same error. Can you suggest a way to force the format before the size change in case this is the issue? deb squeezy 64 gst-inspect-0.10 version 0.10.35 thx Art > On 03/22/2012 10:29 AM, [hidden email] wrote: >> Hi All, >> >> I have some code that works fine with video streams but when I use a >> pngdec as the source I can not change the caps, gives error of >> >> GStreamer-CRITICAL **: gst_pad_set_caps: assertion `caps == NULL || >> gst_caps_is_fixed (caps)' failed >> Error: code=3 message=not negotiated >> >> if the caps is set to the png actual input size it passes through with >> no >> error - ie the actual size is 300x169, in the below code the caps of >> 100x100 triggers the error (pls note this is the java code but I am sure >> you get the drift!) >> >> >> Element source = ElementFactory.make("filesrc", "source"); >> Element vparse = ElementFactory.make("pngdec", "vparse"); >> Element frz1 = ElementFactory.make("imagefreeze", "frz1"); >> Element ffcs1 = ElementFactory.make("ffmpegcolorspace", "ffcs1"); >> Element vidsc1 = ElementFactory.make("videoscale", "vidsc1"); >> Element capsfilter1 = ElementFactory.make("capsfilter", "filter1"); >> capsfilter1.setCaps(Caps.fromString("video/x-raw-yuv, >> format=(fourcc)AYUV, >> width=100, height=100, framerate=30/1,bpp=16, depth=16 ")); >> >> I am also adding this source to a videomixer2 overlay hence the cpas >> ayuv > > How are the element linked? Is it source ! vparse ! frz1 ! ffcs1 ! > vidscl ! capsfilter1 ? That should actually work. > > Stefan >> any thoughts on how I can change the size? >> >> thx >> Art >> >> _______________________________________________ >> gstreamer-devel mailing list >> [hidden email] >> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel > > _______________________________________________ > gstreamer-devel mailing list > [hidden email] > http://lists.freedesktop.o _______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
In reply to this post by Stefan Sauer
Hi Stefan,
Confirming that is the correct pipeline and error still persists, but only for image + imagefreeze, any video src(videoparse+imagefreeze) that goes through imagefreeze re-sizes fine. I have tried two caps in the pipe, the first to change format into AYUV then the second to change size, but again same error. Can you suggest a way to force the format before the size change in case this is the issue? deb squeezy 64 gst-inspect-0.10 version 0.10.35 thx Art > On 03/22/2012 10:29 AM, [hidden email] wrote: >> Hi All, >> >> I have some code that works fine with video streams but when I use a >> pngdec as the source I can not change the caps, gives error of >> >> GStreamer-CRITICAL **: gst_pad_set_caps: assertion `caps == NULL || >> gst_caps_is_fixed (caps)' failed >> Error: code=3 message=not negotiated >> >> if the caps is set to the png actual input size it passes through with >> no >> error - ie the actual size is 300x169, in the below code the caps of >> 100x100 triggers the error (pls note this is the java code but I am sure >> you get the drift!) >> >> >> Element source = ElementFactory.make("filesrc", "source"); >> Element vparse = ElementFactory.make("pngdec", "vparse"); >> Element frz1 = ElementFactory.make("imagefreeze", "frz1"); >> Element ffcs1 = ElementFactory.make("ffmpegcolorspace", "ffcs1"); >> Element vidsc1 = ElementFactory.make("videoscale", "vidsc1"); >> Element capsfilter1 = ElementFactory.make("capsfilter", "filter1"); >> capsfilter1.setCaps(Caps.fromString("video/x-raw-yuv, >> format=(fourcc)AYUV, >> width=100, height=100, framerate=30/1,bpp=16, depth=16 ")); >> >> I am also adding this source to a videomixer2 overlay hence the cpas >> ayuv > > How are the element linked? Is it source ! vparse ! frz1 ! ffcs1 ! > vidscl ! capsfilter1 ? That should actually work. > > Stefan >> any thoughts on how I can change the size? >> >> thx >> Art >> >> _______________________________________________ >> gstreamer-devel mailing list >> [hidden email] >> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel > > _______________________________________________ > gstreamer-devel mailing list > [hidden email] > http://lists.freedesktop.o _______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Free forum by Nabble | Edit this page |