mozilla/mp4parse-rust

c196ca8 cause MP4Metadata.test_case_mp4 fails

ChunMinChang opened this issue · 1 comments

MP4Metadata.test_case_mp4 fails when updating mp4parse-rust crate. See failure here: https://treeherder.mozilla.org/logviewer?job_id=324286421&repo=autoland&lineNumber=29156 in BMO 1681811.The first bad commit is commit c196ca8. The changes are made in #252. Now it blocks the avif-transparency support (BMO 1654462).

The error occurs in these lines. The test file is test_case_1185230.mp4. The error indicates MP4Metadata::GetNumberTracks and MP4Metadata::GetTrackInfo don't work as what it's expected. The underlying calls used in MP4Metadata::GetNumberTracks and MP4Metadata::GetTrackInfo are mp4parse_get_track_count, mp4parse_get_track_info, mp4parse_get_track_audio_info, and mp4parse_get_track_video_info. All the errors are around track.

I am not familiar with mp4 stuff enough to identify the problem quickly. But I guess there might be some mistakes around read_mp4 and read_moov. It seems the track-info is loaded there. The context is changed from an input &mut MediaContext to an output Result<MediaContext>. Not sure if it causes the problem. Any idea?

See #263