Fixes issues with EXTINF duration conversion to microseconds
The HLS Parser converts from a string decimal duration in seconds into long
microseconds.
Because the conversion passes through a java double type it can result in
representation errors.
For example:
`#EXTINF:4.004` -> `Segment.durationUs` of 4003999
This matters because the first sample (which is the IDR) for a segment will be discarded following a seek because of the logic in the `SampleQueue`:
````java
buffer.timeUs = timesUs[relativeReadIndex];
if (buffer.timeUs < startTimeUs) {
buffer.addFlag(C.BUFFER_FLAG_DECODE_ONLY);
}
````
Showing
with
15 additions
and
3 deletions
Please
register
or
sign in
to comment