Hi , all :
 
It is possible to have something like this on a GstBin ?
 
                      ---------------------------------------------------------
                      |  GstBin ____________                      |            
    GHostPad   |___       |_GstBaseSink |                    |       
         - - - - - - -|___|------|_|                    |                    |
                      |            |____________ |                     |
                      |                                                        |
                      |               ____________                    |
                      |              |                   _|               ___| GHostPad
                      |              |                  |__|-------------|___|- - - - - - - - - -
                      |              | GstBaseSrc  |                    |
                      |              |____________|                    |
                      |                                                        |
                      ---------------------------------------------------------|
 
I'm writing a GstBin based plugin that contains two elements; one is a GstBaseSink and
the other is GstBaseSrc, This element should be capable of process something as a <filter> or it can be a used as a <sink> depending on the position on the pipeline.
 
a) gst-launch  filesrc location=aaa.txt | mybin | filesink location=zzz.txt
 
b) gst-launch  filesrc location=aaa.txt | mybin
 
In my case the data can be read() or write() from an internal pipe() and I want to keep asynchronous calls from input buffers and output buffers as well. This should be optional.
 
By now I see GhostPad is looking for a "chainfunction &gst_proxy_pad_do_chain of pad mybin0:sink";  so I think the sink element doesn't have a _chain() function.
It is expected to have a <filter> inside?
 
If anyone have suggestion for a better solution.. 
 
Thanks in advance.
 
Roberto G.