New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ArrayIndexOutOfBoundsException due to invalid colr atom #9332
Comments
I can play the attached video successfully on 2.14.2 and it crashes with the same stack trace on 2.15.0 so I agree this looks like a regression. @kim-vde can you take a look? |
Also @AquilesCanta FYI as the author of ddc047c where this stack trace seems to originate. |
Is it also worth branching a github issue or internal bug for the correct assignment of an error code (instead of |
@AquilesCanta Filed [internal b/197832624]. |
The video file provided has an invalid The 162 in the stack trace comes from the ancestor The How did you produce this file? The metadata suggests it might have come from ffmpeg? If so I think you should report this to them. |
I don’t know what conversion was done to this video, because it's upload from other mobile phones |
Since this is the only example we've seen so far of a file broken in this way I'm going to close this as working-as-intended. If we see a significant number of files that are invalid in the same way then we'll consider adding a workaround to ExoPlayer to handle this broken-ness more gracefully, but until then we're going to stick to implementing the spec as it's defined. |
I can play my local video successfully on 2.14.2 but it crashes on 2.15.0, please fix it |
@onexuan - It sounds like you're seeing this when playing video recorded with your device camera. What device are you using? Please could you also send a sample video to Reopening this issue because it sounds like the bad media can be generated on device (on at least one device). |
Please check your email @ojw28 |
@onexuan We haven't received your email. Please either upload the media here or send to dev.exoplayer@gmail.com using a subject in the format |
Please check it again |
Thanks, I found the media (both the emails you sent were bounced back to you because you didn't use the requested subject line). The media has the same symptoms as the original video in this issue: an 18 byte |
I will modify ExoPlayer to handle files with this combination. |
OK, I will test it after the new version is released |
Test file produced with: $ MP4Box -add "sample.mp4#video:colr=nclc,1,1,1" -new sample_18byte_nclx_colr.mp4 And then manually changing the `nclc` bytes to `nclx`. This produces an 18-byte `colr` box with type `nclx`. The bitstream of this file does not contain HDR content, so the file itself is invalid for playback with a real decoder, but adding the box is enough to test the extractor change in this commit. (aside: MP4Box will let you pass `nclx`, but it requires 4 parameters, i.e. it requires the full_range_flag to be set, resulting in a valid 19-byte colr box) #minor-release Issue: #9332 PiperOrigin-RevId: 405842520
I'm play a simple mp4 file and cause those error below:
I debug the AtomParsers.java the line 1203 method cause the problem.
when I change parent data's position that make method pass then I can play video successfully.
Is there any good way to avoid mistakes
This is my video test link.
the video link
My exoplayer2 version is 2.15.0
The text was updated successfully, but these errors were encountered: