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);
}
````
| Name |
Last commit
|
Last Update |
|---|---|---|
| .github/ISSUE_TEMPLATE | Loading commit data... | |
| .idea | Loading commit data... | |
| demos | Loading commit data... | |
| docs | Loading commit data... | |
| extensions | Loading commit data... | |
| gradle/wrapper | Loading commit data... | |
| library | Loading commit data... | |
| playbacktests | Loading commit data... | |
| robolectricutils | Loading commit data... | |
| testdata | Loading commit data... | |
| testutils | Loading commit data... | |
| .gitignore | Loading commit data... | |
| CONTRIBUTING.md | Loading commit data... | |
| LICENSE | Loading commit data... | |
| README.md | Loading commit data... | |
| RELEASENOTES.md | Loading commit data... | |
| SECURITY.md | Loading commit data... | |
| build.gradle | Loading commit data... | |
| common_library_config.gradle | Loading commit data... | |
| constants.gradle | Loading commit data... | |
| core_settings.gradle | Loading commit data... | |
| gradle.properties | Loading commit data... | |
| gradlew | Loading commit data... | |
| gradlew.bat | Loading commit data... | |
| javadoc_combined.gradle | Loading commit data... | |
| javadoc_library.gradle | Loading commit data... | |
| javadoc_util.gradle | Loading commit data... | |
| publish.gradle | Loading commit data... | |
| settings.gradle | Loading commit data... |