This post was updated on .
Hello Devs,
I want to 'modify' existing gst-plugin which derives from GstElement, The existing plugin has a 'src' and 'sink' pad. I took reference from https://gstreamer.freedesktop.org/documentation/plugin-development/basics/boiler.html?gi-language=c Which is close to the requirement I have. GObject +----GInitiallyUnowned +----GstObject +----GstElement +----GstMyFilter I have added new 'src2' pad which I want to push data for a new sink. https://gist.github.com/szihs/6d74e0076ff016f2c5f443c3daffe496/8edb4485c6d09e41c7eb7425f7b8dbd079400519 gst-launch-1.0 -vv --gst-debug=*:2 --gst-plugin-path=$PWD/gst-plugin/src/.libs audiotestsrc ! myfilter name=t silent=true t.src ! queue ! autoaudiosink t.src2 ! queue ! audioconvert ! goom ! videoconvert ! autovideosink This pipeline works. I wish to have below caps, so i modified the plugin https://gist.github.com/szihs/6d74e0076ff016f2c5f443c3daffe496/revisions?diff=split SRC template: 'src2' Availability: On request Has request_new_pad() function: 0x7fe3160ea010 Capabilities: video/x-raw format: RGB width: [ 1, 2147483647 ] height: [ 1, 2147483647 ] framerate: [ 0/1, 2147483647/1 ] The width/height is independent of sink and it to be decided by downstream element. This pipeline is failing. gst-launch-1.0 -vv --gst-debug=*:4,myfilter:6 --gst-plugin-path=$PWD/gst-plugin/src/.libs audiotestsrc ! myfilter name=t silent=true t.src ! queue ! autoaudiosink t.src2 ! queue ! "video/x-raw, width=(int)300, height=(int)300, framerate=(fraction)24/1, format=RGB" ! fakesink Can you please help me to create a 'dummy' src so that i can create a pipeline. Regards, Harsh -- Sent from: http://gstreamer-devel.966125.n4.nabble.com/ _______________________________________________ gstreamer-devel mailing list gstreamer-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Error message when trying with src2 with video data.
gst-launch-1.0 -vv --gst-debug=*:2,myfilter:6 --gst-plugin-path=$PWD/gst-plugin/src/.libs audiotestsrc ! myfilter name=t silent=true t.src ! queue ! autoaudiosink t.src2 ! queue ! "video/x-raw, width=(int)300, height=(int)300, framerate=(fraction)24/1, format=RGB" ! fakesink gst_my_filter_query:433 --------------- 0:00:00.028723809 31815 0x239da10 WARN myfilter gstmyfilter.c:482:gst_my_filter_query:<t> error: Some debug information here (gst-launch-1.0:31815): GStreamer-CRITICAL **: gst_mini_object_ref: assertion 'mini_object != NULL' failed (gst-launch-1.0:31815): GStreamer-CRITICAL **: gst_caps_can_intersect: assertion 'GST_IS_CAPS (caps2)' failed (gst-launch-1.0:31815): GStreamer-CRITICAL **: gst_mini_object_unref: assertion 'mini_object != NULL' failed gst_my_filter_query:433 --------------- 0:00:00.028897208 31815 0x239da10 WARN myfilter gstmyfilter.c:482:gst_my_filter_query:<t> error: Some debug information here (gst-launch-1.0:31815): GStreamer-CRITICAL **: gst_mini_object_ref: assertion 'mini_object != NULL' failed (gst-launch-1.0:31815): GStreamer-CRITICAL **: gst_pad_template_new: assertion 'caps != NULL' failed (gst-launch-1.0:31815): GStreamer-CRITICAL **: gst_mini_object_unref: assertion 'mini_object != NULL' failed (gst-launch-1.0:31815): GStreamer-CRITICAL **: gst_element_request_compatible_pad: assertion 'GST_IS_PAD_TEMPLATE (templ)' failed (gst-launch-1.0:31815): GStreamer-CRITICAL **: gst_object_unref: assertion 'object != NULL' failed gst_my_filter_release_pad:291 --------------- 0:00:00.029050584 31815 0x239da10 ERROR GST_PIPELINE grammar.y:642:gst_parse_perform_link: could not link t to queue1 WARNING: erroneous pipeline: could not link t to queue1 harsh.ag wrote > Hello Devs, > > I want to 'modify' existing gst-plugin which derives from GstElement, The > existing plugin has a 'src' and 'sink' pad. > I took reference from > https://gstreamer.freedesktop.org/documentation/plugin-development/basics/boiler.html?gi-language=c > Which is close to the requirement I have. > > GObject > +----GInitiallyUnowned > +----GstObject > +----GstElement > +----GstMyFilter > > > I have added new 'src2' pad which I want to push data for a new sink. > https://gist.github.com/szihs/6d74e0076ff016f2c5f443c3daffe496/8edb4485c6d09e41c7eb7425f7b8dbd079400519 > gst-launch-1.0 -vv --gst-debug=*:2 > --gst-plugin-path=$PWD/gst-plugin/src/.libs audiotestsrc ! myfilter > name=t > silent=true t.src ! queue ! autoaudiosink t.src2 ! queue ! audioconvert ! > goom ! videoconvert ! autovideosink > > This pipeline works. > > I wish to have below caps, so i modified the plugin > https://gist.github.com/szihs/6d74e0076ff016f2c5f443c3daffe496/revisions?diff=split > > > SRC template: 'src2' > Availability: On request > Has request_new_pad() function: 0x7fe3160ea010 > Capabilities: > video/x-raw > format: RGB > width: [ 1, 2147483647 ] > height: [ 1, 2147483647 ] > framerate: [ 0/1, 2147483647/1 ] > > > > The width/height is independent of sink and it to be decided by downstream > element. > This pipeline is failing. > gst-launch-1.0 -vv --gst-debug=*:4,myfilter:6 > --gst-plugin-path=$PWD/gst-plugin/src/.libs audiotestsrc ! myfilter > name=t > silent=true t.src ! queue ! autoaudiosink t.src2 ! queue ! "video/x-raw, > width=(int)300, height=(int)300, framerate=(fraction)24/1, format=RGB" ! > fakesink > > Can you please help me to create a 'dummy' src so that i can create a > pipeline. > > Regards, > Harsh > > -- > Sent from: http://gstreamer-devel.966125.n4.nabble.com/ > _______________________________________________ > gstreamer-devel mailing list > [hidden email] > https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel -- 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 |