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, durations like:
or
will come out to less then 2,002,000 microseconds if converted to double and multiplied by C.MICROS_PER_SECOND
Easy fix is to use the BigDecimal class in Java, which avoids all of this.
The HLS Parser converts from a string decimal duration in seconds into long microseconds. Because the conversion passes through a java
doubletype it can result in representation errors.For example, durations like:
or
will come out to less then 2,002,000 microseconds if converted to double and multiplied by
C.MICROS_PER_SECONDEasy fix is to use the
BigDecimalclass in Java, which avoids all of this.