Push source scheduling and the create function

Martin Kelly martin at surround.io
Thu May 5 16:58:10 UTC 2016


(friendly ping)

On 04/29/2016 08:53 AM, Martin Kelly wrote:
> Hi,
>
> I apologize in advance if some documentation makes this question clear;
> I searched but have not found an answer. I have an issue with a
> Gstreamer application that I cannot figure out. Specifically, I'm trying
> two different pipeline configurations that I would expect to yield
> identical results, but they are not. One of these cases is breaking
> while the other appears to be working. Below I describe the setup:
>
> Case 1:
> - create one pipeline
> - use gst_bin_add_many to add many bins to it
> - the first bin is of the form "some-video-element ! [encode and many
> other elements] udpsink"
> - all other bins are in the form "my-push-src ! fakesink"
> - set the pipeline to playing
>
> Case 2:
> - create one pipeline per bin via gst_pipeline_new + gst_bin_add
> - the first pipeline is of the form "some-video-element ! [encode and
> many other elements] udpsink"
> - set each pipeline to playing
>
> In both cases, I see the video element playing correctly. In case 1, I'm
> seeing that the create function in "my-push-src" is being called once
> for each push source and never being called again. In case 2, create
> continually gets called, and everything seems OK. It seems that somehow
> the scheduling is different between cases 1 and 2, and I'm guessing the
> video element's scheduling is somehow changing that of the push source
> elements.
>
> I don't understand the interplay between push sources and other sources,
> so I'm not sure how to debug this. I'm wondering if someone could give
> me a pointer as to what may be wrong or where I should look.
>
> In case it matters, I'm using gstreamer 1.6.3 on Android, and
> "my-push-src" is my own custom element, so it's entirely possible it has
> some bug that I haven't caught.
>
> Thanks in advance,
> Martin


More information about the gstreamer-devel mailing list