[plugin] Create a src pad

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

[plugin] Create a src pad

harsh.ag
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
Reply | Threaded
Open this post in threaded view
|

Re: [plugin] Create a src pad

harsh.ag
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