Player calculates incorrect index for segment, leaving hole in buffer - playback stalls
Created by: davemevans
Since the refactor, we are seeing a number of problems where the player stalls during playback. One problem we have found is that, after a representation switch, the index calculation when using SegmentTemplate sometimes calculates the wrong value - see the logging below where index 36 is chosen twice.
I can see that there have been a number of changes in this area, but I can't work out why this is going wrong. @KozhinM, any ideas?
MPD is at http://rdmedia.bbc.co.uk/dash/ondemand/testcard/1/client_manifest-events.mpd. The segment length is 3.84 seconds, which may explain the odd times.
Calculated ideal new quality index is: 12 Getting the request for time: 136.32 Index for time 136.32 is 35 SegmentTemplate: 134.4 / 3600.04 Getting the request for time: 140.16 Index for time 140.16 is 36 SegmentTemplate: 138.24 / 3600.04 Getting the request for time: 143.99999999999997 Index for time 143.99999999999997 is 36 SegmentTemplate: 138.24 / 3600.04 Getting the request for time: 147.83999999999997 Index for time 147.83999999999997 is 38 SegmentTemplate: 145.92 / 3600.04 Getting the request for time: 151.67999999999998 Index for time 151.67999999999998 is 39 SegmentTemplate: 149.76 / 3600.04 Getting the request for time: 155.51999999999998 Index for time 155.51999999999998 is 40 SegmentTemplate: 153.6 / 3600.04 Getting the request for time: 159.35999999999999 Index for time 159.35999999999999 is 41 SegmentTemplate: 157.44 / 3600.04 Getting the request for time: 163.2 Index for time 163.2 is 42 SegmentTemplate: 161.28 / 3600.04 Getting the request for time: 167.04 Index for time 167.04 is 43 SegmentTemplate: 165.12 / 3600.04