Skip to content

Validate marker labels against their scopes - #419

Open
Pybsama wants to merge 2 commits into
Netflix:masterfrom
Pybsama:codex/validate-marker-labels
Open

Validate marker labels against their scopes#419
Pybsama wants to merge 2 commits into
Netflix:masterfrom
Pybsama:codex/validate-marker-labels

Conversation

@Pybsama

@Pybsama Pybsama commented Aug 3, 2026

Copy link
Copy Markdown

Summary

  • validate SMPTE marker labels against the permitted values for their computed scope
  • warn when a marker scope is unknown and restore the 2013 schema default scope
  • cover invalid, unknown, and valid 2013/2016/2020 marker labels

Testing

  • JDK 11: ./gradlew build
  • JDK 17 and JDK 21: ./gradlew --rerun-tasks test --tests com.netflix.imflibrary.validation.IMFCPLValidatorTest
  • git diff --check

Closes #394

Pybsama added 2 commits August 3, 2026 12:16
Validate marker labels using the permitted values for the computed 2013, 2016, or 2020 standard scope. Warn for custom scopes and restore the 2013 schema default.
Only validate marker labels on actual marker virtual tracks. Add a regression for a schema-valid but unsupported TrackFileResourceType in a MarkerSequence so validation reports the existing empty-resource error instead of throwing ClassCastException.
@Pybsama
Pybsama marked this pull request as ready for review August 28, 2026 21:04
@Pybsama

Pybsama commented Aug 28, 2026

Copy link
Copy Markdown
Author

This is now ready for review.

A follow-up edge-case review found that a schema-valid but unsupported TrackFileResourceType inside a MarkerSequence could leave an empty non-marker virtual track. The marker-label validation is now limited to actual IMFMarkerVirtualTrack instances, so the existing empty-resource error is reported instead of a ClassCastException. A regression test covers that path.

Fresh verification on the published tree:

  • JDK 11: ./gradlew build --rerun-tasks --console=plain --no-daemon — 18/18 tasks succeeded
  • JDK 11 and JDK 21: complete IMFCPLValidatorTest — 9/9 invocations passed in each environment
  • git diff --check passed

The existing fork workflow run remains action_required with zero jobs, which indicates maintainer approval is still required before GitHub Actions can start; it is not a test failure.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Marker Labels are not validated against permitted values in the computed scope of the Label.

1 participant