emilsvennesson / kodi-viaplay

Viaplay for Kodi
GNU General Public License v3.0
30 stars 19 forks source link

Audio drops on live sports stream #16

Closed hakanjansson closed 6 years ago

hakanjansson commented 6 years ago

Hi. Audio drops completely after a few seconds and never comes back when I try to watch live sports. I've only noticed this problem on the streams in the live sports category, the streams in live channels category seems to work fine. I'm using the latest version installed from GitHub today.

I don't see anything in the attached log when the audio drops. Using a stopwatch I measured 19.5s from pressing enter to start the stream (time 07:25:15.215 in log) which means the audio drop should have happened somewhere around the time 07:25:35 in this log.

kodi.log

raakanassu commented 6 years ago

I'm having the same problem.

emilsvennesson commented 6 years ago

Hi!

Yes, I have seen the same issue from time to time. It appears to occur randomly to some streams and is something that needs to be fixed in inputstream.adaptive. However, it seems to be working fine right now (?) so let me know when/if it happens again so I can get in touch with @peak3d.

hakanjansson commented 6 years ago

I have the same experience, the issue seems to come and go. It's working fine for me too right now. I've mainly seen it when I try to watch NHL games in the middle of the night but that might just be a coincidence. I'll add another comment here next time it happens. Just let me know if there's any additional logging or something I can do to help.

hakanjansson commented 6 years ago

It's happening again right now. I tried both "Omega Dubai Desert Classic" and "ESL One: DOTA 2" and audio drops on both after a few seconds.

orrpan commented 6 years ago

Mine drops every time it need to buffer. When it resumes the sound is gone

petreee commented 6 years ago

Same problem. Besides that the sound disappear the stream restarts from the beginning. Same bug on channels and live sports.

hakanjansson commented 6 years ago

Some additional info. The problem seems to be with live streams using varying segment durations, for example: <SegmentTimeline> <S t="72893763746559" d="95232" /> <S d="96256" /> <S d="96257" /> <S d="96255" /> <S d="95232" /> <S d="96256" /> ...

The manifest never seems to be updated and eventually the segment url will be incorrect. I've tried enabling manifest updates in inputstream.adaptive but it doesn't seem to work with this type of manifest. Again, just let me know if there's anything else I can do to help.

emilsvennesson commented 6 years ago

I have been in touch with @peak3d and the problem is, like @hakanjansson said, that we need to refresh the manifest. The Viaplay web player does this every 4 segments (8 seconds) to stay in sync.

There is currently no way to specify the refresh interval in inputstream.adaptive and @peak3d understandably has a lot on his plate right now. However, it is possible to refresh the manifest on every segment by using the manifest_update_parameter property. This does create some additional load, but it seems like it takes care of the problem and is a good-enough solution for now. :-)

@hakanjansson Could you confirm that commit https://github.com/emilsvennesson/kodi-viaplay/commit/dfe9fc1d7f7df0dff34c02aa567ef848f4debf13 fixes this for you as well?

hakanjansson commented 6 years ago

Yes, that does seem to fix it when using Leia!

(I had actually already tried enabling manifest refresh using that property and it didn't work but I was using Krypton.)

emilsvennesson commented 6 years ago

@hakanjansson Excellent! Thank you for testing and confirming.

Unfortunately, manifest_update_parameter does not exist in Krypton. I guess there's yet another reason to try out the Leia builds. :-)