| 3697 | } |
| 3698 | |
| 3699 | static avifResult avifParseTimeToSampleBox(avifSampleTable * sampleTable, const uint8_t * raw, size_t rawLen, avifDiagnostics * diag) |
| 3700 | { |
| 3701 | BEGIN_STREAM(s, raw, rawLen, diag, "Box[stts]"); |
| 3702 | |
| 3703 | AVIF_CHECKERR(avifROStreamReadAndEnforceVersion(&s, /*enforcedVersion=*/0, /*flags=*/NULL), AVIF_RESULT_BMFF_PARSE_FAILED); |
| 3704 | |
| 3705 | uint32_t entryCount; |
| 3706 | AVIF_CHECKERR(avifROStreamReadU32(&s, &entryCount), AVIF_RESULT_BMFF_PARSE_FAILED); // unsigned int(32) entry_count; |
| 3707 | |
| 3708 | for (uint32_t i = 0; i < entryCount; ++i) { |
| 3709 | avifSampleTableTimeToSample * timeToSample = (avifSampleTableTimeToSample *)avifArrayPush(&sampleTable->timeToSamples); |
| 3710 | AVIF_CHECKERR(timeToSample != NULL, AVIF_RESULT_OUT_OF_MEMORY); |
| 3711 | AVIF_CHECKERR(avifROStreamReadU32(&s, &timeToSample->sampleCount), AVIF_RESULT_BMFF_PARSE_FAILED); // unsigned int(32) sample_count; |
| 3712 | AVIF_CHECKERR(avifROStreamReadU32(&s, &timeToSample->sampleDelta), AVIF_RESULT_BMFF_PARSE_FAILED); // unsigned int(32) sample_delta; |
| 3713 | } |
| 3714 | return AVIF_RESULT_OK; |
| 3715 | } |
| 3716 | |
| 3717 | static avifResult avifParseSampleDescriptionBox(avifSampleTable * sampleTable, |
| 3718 | uint64_t rawOffset, |
no test coverage detected