Hey guys, I've completed my work on re-writing GstBaseSrc(and also GstPushSrc) class, in order to allow more source pads to output video data. please check flowchart above. In this case, I didn't use 'tee' element to do stream copy or any other element to mux the streams.
The whole pipeline is:
gst-launch-1.0 my-src-plugin name=t t.src ! queue ! video/x-raw,format=YUY2,width=1280,height=720 ! videoconvert ! ximagesink t.video ! queue ! video/x-raw,format=YUY2,width=1920,height=1080 ! videoconvert ! ximagesink
this pipline will pop 2 preview windows with configured resolutions/formats on screen.
This shows that GstBaseSrc is able to implement multi src pads withouth using any other elements
I'll post more details about my design afterwards. Thanks!