[plugin] Create a src pad

harsh.ag harsh.ag at samsung.com
Mon Aug 12 11:49:01 UTC 2019


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

 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.



--
Sent from: http://gstreamer-devel.966125.n4.nabble.com/


More information about the gstreamer-devel mailing list