ac1d2692cf
The original code accumulates sample durations in seconds (double) and then generates new segment / cluster by comparing the accumulated value with configured value. There may be loss of precision when accumulating values in double. For example, with a GOP of 96 frames and frame rate of 24 fps; the accumulated frame duration for 96 frames is 3.999999999999, which is very close to 4.0 but not 4.0. Problem would arise if segment duration is set to 4. The created segments would have a duration of 8 seconds instead of 4 seconds. The new code accumulates sample durations in uint64_t relative to input time scale; the configured segment duration will be converted to timescale for comparison. This avoids loss of precision. Change-Id: I3ae24be82a7ce45f923a6f90fea495b8b6b2e7ef |
||
---|---|---|
.. | ||
mp2t | ||
mp4 | ||
mpeg | ||
webm | ||
webvtt | ||
wvm |