How do i switch between multiple rtsp video streams without stopping pipeline [gapless streaming]

Janardana Dasa janardanadasa3 at gmail.com
Mon Nov 23 06:54:57 PST 2015


>> Also i would have build the pipeline for an single camera input and tried
making it DYNAMIC first , rather than going ahead with 5 camera logic
straight-forward.

Yes, I already did it. My C code (see the link which I have given in my 1st
post) works fine for single camera. No error or No warning message at all.
If you look into my C code then you will see that I am also setting my
element state to NULL before unblinking. But I am still getting this error.

On Sun, Nov 22, 2015 at 10:24 PM, Ashish Kumar Mishra <
ashish.kmishra at dexceldesigns.com> wrote:

> Hi Janardana ,
>
> [ I am also working on same , hence i could be wrong .....
>   Reason i am sharing this info is that by the time senior group members
> revert to your reply , at least
>   you could evaluate few more test case's  ]
>
> Even i am trying to have an pipeline ( with different plugins than yours )
> which could be configured dynamically. Based on my trial and fail method ,
> below info could help you:-
>
> 1) "...(lt-camera_switch_server:22356): GStreamer-WARNING **:
> Trying to join task 0x7f873c01def0 from its thread would deadlock.You
> cannot
> change the state of an element from its streaming thread. Use g_idle_add()
> or post a GstMessage on the bus to schedule the state change from the main
> thread...."
>
> This is an warning message which you could neglect ...Somewhere in the
> forum
> i have read , will try to find the discussion & if possible attach the
> link.
>
>
> 2) Many a place i have read that element's configuration had to be in :-
>     Change the element's state to READY  -> Change the parameters /
> Create-Link new instance of element's -> Change the element state to
> PLAYING.
>
> But with this flow logic , i could observe few scenario's where the error
> message's are like
> ".....Trying to dispose element XXX , but it is in PAUSED (locked) instead
> of the NULL state.
> You need to explicitly set elements to the NULL state before droping the
> final reference, to allow them to clean up..."
>
> For which i am now making the element state to NULL [ Initial was Ready]
> Hence , please verify the state of element before taking any corrective
> action ( gst_element_set_state() )
>
> Also i would have build the pipeline for an single camera input and tried
> making it DYNAMIC first , rather than going ahead with 5 camera logic
> straight-forward.
>
>
> 3) There is an error for THREAD joining in log.
>
> Since even i am trying to have an dynamic pipeline , i would be monitoring
> your thread to correct my mistake.
>
> Thanks ,
> Ashish Kumar Mishra.
>
>
>
>
>
>
>
> --
> View this message in context:
> http://gstreamer-devel.966125.n4.nabble.com/How-do-i-switch-between-multiple-rtsp-video-streams-without-stopping-pipeline-gapless-streaming-tp4674601p4674602.html
> Sent from the GStreamer-devel mailing list archive at Nabble.com.
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20151123/eb1dd953/attachment.html>


More information about the gstreamer-devel mailing list