Hi,
I'm writing some test programs to better understand GStreamer. I have a test program with two pipelines: GstElement *pipe1 = gst_parse_launch ("videotestsrc ! video/x-raw,format=*xRGB*,width=320,height=240 ! intervideosink name=YYY channel=camera sync=false", NULL); GstElement *pipe2 = gst_parse_launch ("intervideosrc name=XXX channel=camera ,width=320,height=240 ! autovideosink sync=false async=false", NULL); gst_element_set_state (pipe1, GST_STATE_PLAYING); gst_element_set_state (pipe2, GST_STATE_PLAYING); print_pad_capabilities(gst_bin_get_by_name(GST_BIN(pipe1), "YYY"), "sink"); print_pad_capabilities(gst_bin_get_by_name(GST_BIN(pipe2), "XXX"), "src"); When format=I420 or YV12 or YUV2 in the caps filter, pushing a GstSample into the intervideosrc works fine. However, when format is RGBx, xRGB or RGBA I get the output below. Note, print_pad_capabilities() prints the current caps for a given pad (code taken from here <https://gstreamer.freedesktop.org/documentation/tutorials/basic/media-formats-and-pad-capabilities.html?gi-language=c> . So it looks like the intervideosrc does not accept the xRGB format. However its pad template lists xRGB. I assume this is a software-only plugin, and so its caps should not change depending on the h/w it runs on. So why does the pad template list formats it does not support? Or should it support xRGB and in which case what am I missing? I presume specifying caps on pipe2's intervideosrc is unnecessary since the two pipes are linked by the 'channel' property and presumably auto-negotiate? Is this a correct assumption? Caps for the sink pad: video/x-raw format: xRGB width: 320 height: 240 framerate: 30/1 multiview-mode: mono pixel-aspect-ratio: 1/1 interlace-mode: progressive Caps for the src pad: video/x-raw format: xRGB width: 320 height: 240 interlace-mode: progressive multiview-mode: mono multiview-flags: 0:ffffffff:/right-view-first/left-flipped/left-flopped/right-flipped/right-flopped/half-aspect/mixed-mono pixel-aspect-ratio: 1/1 colorimetry: sRGB framerate: [ 1/2147483647, 2147483647/1 ] 0:00:00.064149858 14969 0x555555826f70 WARN basesrc gstbasesrc.c:3055:gst_base_src_loop:<XXX> error: Internal data stream error. multiview-mode: mono 0:00:00.064154891 14969 0x555555826f70 WARN basesrc gstbasesrc.c:3055:gst_base_src_loop:<XXX> error: streaming stopped, reason not-negotiated (-4) multiview-flags: 0:ffffffff:/right-view-first/left-flipped/left-flopped/right-flipped/right-flopped/half-aspect/mixed-mono pixel-aspect-ratio: 1/1 colorimetry: sRGB framerate: [ 1/2147483647, 2147483647/1 ] ERROR: from element /GstPipeline:pipeline1/GstInterVideoSrc:XXX: Internal data stream error. Additional debug info: gstbasesrc.c(3055): gst_base_src_loop (): /GstPipeline:pipeline1/GstInterVideoSrc:XXX: streaming stopped, reason not-negotiated (-4) -- Sent from: http://gstreamer-devel.966125.n4.nabble.com/ _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Free forum by Nabble | Edit this page |