I am using hls for consuming live stream. and chunk size configured for hls in live app is 10 secs. Also the streams are being transcoded to three streams for adaptive bitrate consumption.
say at t=0 publisher of stream went live. If i click on play button on my player (jwplayer) at t=0 or t=1 (very close to "go live" time) the stream doesnt play properly.
ie i can see 404 being returned from wowza when player asks for manifests for some of the renditions. (rendition1.m3u8 ,rendition2.m3u8). end effect of this is adaptive capability of video player stops working. (since most of the rendition's manifests calls were 404). sometimes all of the renditions return 404 which results in no video playback.
This issue doesnt happen if i wait for some time before clicking on play button (say t=15 secs ) . My question is is there a way to detect if all the streams are ready to be consumed via hls.
One quick soln that i have is to add some code in onPublish method which signals after a hardcoded delay that stream is live and ready. user's video player can wait for this signal before making the play button clickable.
Is there a better way to send the above mentioned signal without having to hardcode the delay.