trouble with playlist
Dear Evo Team,
I face trouble with the Server Side Playlist. Sometimes EMS crashes in (currently) not 100% reproducable commands, I will try to reproduce to give you more details for the crash.
I am running
version 1.6.6 build 3560 – Gladiator – (built for Debian-6.0.5-x86_64 on 2015-02-10T08:08:19.000
I am feeding EMS with 2 RTMP Streams from 2 Encoders to make ingest resilliant in case of Encoder and or DSL problem (both have independend Router and DSL)
– EncoderA
– EncoderB
I created a ServerSidePlaylist "output.lst" inside Mediafolder.
I am handling Events send out by EMS to switch Playlist:
– inStreamClosed "EncoderA" generate a "inserplaylistitem" for "EncoderB"
– inStreamClosed "EncoderB" generate a "inserplaylistitem" for "EncoderA"
Based on documentation I send insertplaylistitem to output.lst with insertpoint=-1000 and duration=-1000 which should play the corresponding Encoder immediatly and as long as available.
If I send multiple time "insertplaylistitem" to EMS they looks all queued in a chain, as well insertpoint=-1000 is specified. It means the switch will not happend as long the RTMP from currently playing Encoder is available.
If I send the insertplaylistitem and stop the first Encoder, the new playlist will switch to the new playlistitem. Optional I could specify a duration of some seconds, to force the switch. But this is not fitting the needs, as I don´t know up-front the future availbility of EncoderA and EncoderB.
Do I have a missunderstanding of "insertpoint=-1000" and the explanation "Any negative value will be
considered as “immediate”, meaning it will start playing the stream being inserted the very next frame"
Linked to this not "immediatly played item" it looks that a insertplaylistitem is queueing a new item into playlist, as well if the new item is the currently played.
for example:
– output.lst is playling "encoderA"
– I send another "insertplaylistitem ….encoderA …insertpoint=-1000" and
– I send another "insertplaylistitem ….encoderB …insertpoint=-1000"
Now I have to stop Encoder A twice to see switch to EncoderB.
I this scenario, EMS is sometimes crashing. Mostly when
I send multiple (equal) insertplaylistitem to EMS and stop the related localstreamname. I try to find a reproducable pattern to provide you this information. I see nothing special in logfiles.
How can I force a playlist to play a new Stream immediatly and "forget all queued playlistitems" ???
Kind Regards,
Uwe