We use "#EXT-X-DISCONTINUITY" for transitioning from one asset to other. After few of this tags player loosed synchronization.
Here is a link for testing:
We can reproduce this problem on all platforms (Mac,Windows, iOS, Android)
Viblast Player supports EXT-X-DISCONTINUITY tag and the issue you have is not related to it.
Chrome has well known bug with the audio/video sync, when the audio stream has a different length from the video stream. In your case, the "live" stream is constructed by a couple of short streams. I guess one of them has different audio and video stream length. Even the difference is 1-2 ms, during the long playback you will be able to see the lip sync. As this is a Chrome decoder issue, Viblast Player can not handle it, but there is a workaround. It is possible to force Chrome to sync audio/video streams from JS, by performing a "seek" operation to the "currentTime" . If you execute the code from console:
you will see that the lip sync disappears.
In your case, you can create a timer function, which can be executed on every 1-2 minutes and calls the code above.