Switching Streams sent via GstBaseSrc

Michael Gruner michael.gruner at ridgerun.com
Tue Dec 1 21:11:05 UTC 2020


I know I’m not answering exactly your question, but you may want to look at the “funnel” element. It does something very similar. For example this is a valid pipe:

gst-launch-1.0 \
    funnel name=f \
    videotestsrc ! video/x-raw,width=640,height=480 ! f. \
    videotestsrc ! video/x-raw,width=320,height=240 ! f. \
    f. ! autovideosink

It will handle the caps and stream events, and buffer pushing similar to what you’re looking for.

Michael


> On Dec 1, 2020, at 15:00, Stirling Westrup <swestrup at gmail.com> wrote:
> 
> I have an element built on top of GstBaseSrc to generate multiple
> streams, one after the other. The streams have different content,
> stream-id's and caps.
> 
> I *thought* that all I would have to do was send an EOS followed by a
> new stream-start , caps, and segment, and all would just work.
> 
> Instead, the moment GstBaseSrc sees the EOS event via
> gst_element_send_event, it just shuts down. Same thing if I return EOS
> from the capture routine.
> 
> What is the correct way to switch from sending one stream to sending
> another, when using GstBaseSrc?
> 
> 
> -- 
> Stirling Westrup (he/him)
> Programmer, Entrepreneur.
> http://www.linkedin.com/in/swestrup
> (+1) 514-626-0928
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel



More information about the gstreamer-devel mailing list