Netflix / photon

Photon is a Java implementation of the Interoperable Master Format (IMF) standard. IMF is a SMPTE standard whose core constraints are defined in the specification st2067-2:2013
Apache License 2.0
234 stars 76 forks source link

Marker Tracks cause exceptions when provided to IMPBuilder #261

Closed davidt-netflix closed 4 years ago

davidt-netflix commented 4 years ago

Building an IMP with a Marker track does not appear to be currently supported in Photon. But the API does not prevent this, and there are no early validations that check for this. As a result, providing a Marker track to IMPBuilder.buildIMP_2013 causes a casting exception.

The tests in IMPBuilderFunctionalTest.impBuilderTest specifically only test Essence tracks, so this is never caught.

At minimum, Photon should be updated to fail more gracefully, either ignoring Marker tracks, or providing a warning earlier in the code that Markers are not supported. Ideally, this would be a good opportunity to add support for Marker tracks.