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
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.
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.
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.buildIMP_2013
orbuildIMP_2016
will all eventually end up atImpBuilder.buildEDLForVirtualTracks
.VirtualTrack
.VirtualTrack
toIMFEssenceComponentVirtualTrack
This causes an exception when one of the
VirtualTrack
is actually aIMFMarkerVirtualTrack
.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.