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

Regression in IMPAnalyzer causing an exception to be thrown #358

Open jonno85uk opened 9 months ago

jonno85uk commented 9 months ago

For a customer's file we are seeing a change in behaviour going from v4.6.0 to v.4.8.*

With v4.6.0 the IMPAnalyzer completed and returned errors it found. From at least v.4.8.0 the IMPAnalyzer now returns this:

C:\Users\jonathan.noble\Documents\source>java -cp thirdparty/photon/*; com.netflix.imflibrary.app.IMPAnalyzer ""
27 Sep 2023 15:12:42,337 [INFO ] [IMPAnalyzer]: ==========================================================================
27 Sep 2023 15:12:42,337 [INFO ] [IMPAnalyzer]: Analyzing IMF package
27 Sep 2023 15:12:42,337 [INFO ] [IMPAnalyzer]: ==========================================================================
Exception in thread "main" java.lang.IllegalArgumentException: rangeStart = 95063260382 is not <= 95063260381 rangeEnd
at com.netflix.imflibrary.utils.ResourceByteRangeProvider$Utilities.validateRangeRequest(ResourceByteRangeProvider.java:78)
at com.netflix.imflibrary.utils.FileByteRangeProvider.getByteRangeAsBytes(FileByteRangeProvider.java:126)
at com.netflix.imflibrary.app.IMPAnalyzer.getHeaderPartitionPayloadRecord(IMPAnalyzer.java:132)
at com.netflix.imflibrary.app.IMPAnalyzer.analyzePackage(IMPAnalyzer.java:273)
at com.netflix.imflibrary.app.IMPAnalyzer.main(IMPAnalyzer.java:608)

I have tried to reproduce with v4.9.4 but was unable to start the program as 'gradlew.bat getDependencies' did not add the various libs it usually does.

Is it possible to change this exception to another entry in IMPAnalyzer's report on completion?