MCPcopy Create free account
hub / github.com/AOMediaCodec/libavif / avifParseTimeToSampleBox

Function avifParseTimeToSampleBox

src/read.c:3699–3715  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

3697}
3698
3699static 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
3717static avifResult avifParseSampleDescriptionBox(avifSampleTable * sampleTable,
3718 uint64_t rawOffset,

Callers 1

avifParseSampleTableBoxFunction · 0.85

Calls 3

avifROStreamReadU32Function · 0.85
avifArrayPushFunction · 0.85

Tested by

no test coverage detected