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

Janardana Dasa janardanadasa3 at gmail.com
Mon Nov 23 12:14:14 PST 2015


is it a bug ? or I am missing something in my code ? Can anyone please take
a look into

below code:
http://hastebin.com/raw/iwicuyetam
and error log:
http://hastebin.com/raw/evetizoqol

On Mon, Nov 23, 2015 at 6:54 AM, Janardana Dasa <janardanadasa3 at gmail.com>
wrote:

> >> 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/aef3a171/attachment.html>


More information about the gstreamer-devel mailing list