Closed Bug 1340002 Opened 7 years ago Closed 7 years ago

Assert at mp4_demuxer::MP4Metadata::GetTrackInfo with null infoRust

Categories

(Core :: Audio/Video: Playback, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED
Tracking Status
firefox54 --- affected

People

(Reporter: kinetik, Assigned: kinetik)

References

Details

Attachments

(1 file)

+++ This bug was initially created as a clone of Bug #1339192 +++

With media.rust.test_mode enabled while playing music from SoundCloud (via https://www.reddit.com/r/futurebeats/comments/5u12zg/thundercat_friend_zone/), I hit the assert testing for infoRust.  From the logs, it looks like an issue parsing the stbl atom:

FileTypeBox { major_brand: isom, minor_version: 512, compatible_brands: [isom] }
MovieHeaderBox { timescale: 1000, duration: 0 }
TrackHeaderBox { track_id: 1, disabled: false, duration: 4294967295, width: 0, height: 0 }
MediaHeaderBox { timescale: 44100, duration: 18446744073709551615 }
HandlerBox { handler_type: soun }
BoxHeader { name: smhd, size: 16, offset: 8 } (skipped)
BoxHeader { name: dinf, size: 36, offset: 8 } (skipped)
Dropping 68 bytes in 'stbl'
Dropping 68 bytes in 'minf'
Dropping 68 bytes in 'mdia'
Dropping 68 bytes in 'trak'
Dropping 238 bytes in 'moov'
[MediaPlayback #1]: D/MP4Metadata rust parser returned 2
[MediaPlayback #1]: W/MP4Metadata rust parser error 1 counting tracks
[MediaPlayback #1]: I/MP4Metadata audio tracks found: stagefright=1 rust=0
[MediaPlayback #1]: W/MP4Metadata rust parser error 1 counting tracks
[MediaPlayback #1]: W/MP4Metadata rust parser error 1 counting tracks
[MediaPlayback #1]: W/MP4Metadata rust parser error 1 counting tracks
[MediaPlayback #1]: I/MP4Metadata video tracks found: stagefright=0 rust=0
[MediaPlayback #1]: W/MP4Metadata rust parser error 1 counting tracks
[MediaPlayback #1]: W/MP4Metadata rust parser error 1 counting tracks
[MediaPlayback #1]: W/MP4Metadata rust parser error 1 counting tracks
[MediaPlayback #1]: I/MP4Metadata audio tracks found: stagefright=1 rust=0
[MediaPlayback #1]: W/MP4Metadata rust parser error 1 counting tracks
[MediaPlayback #1]: W/MP4Metadata rust parser error 1 counting tracks
[MediaPlayback #1]: W/MP4Metadata rust parser error 1 counting tracks
[MediaPlayback #1]: I/MP4Metadata audio tracks found: stagefright=1 rust=0
[MediaPlayback #1]: W/MP4Metadata rust parser error 1 counting tracks
[MediaPlayback #1]: W/MP4Metadata rust parser error 1 counting tracks
Assertion failure: infoRust, at /home/kinetik/mozilla/gecko/media/libstagefright/binding/MP4Metadata.cpp:285
Memory dump of the buffer attached.

mp4parse_capi/examples/dump bails with:

ERROR: InvalidData("malformed audio sample entry") in '/home/kinetik/mp4-testcases/bug1340002_mp4parse_soundcloud.mp4' @ 441

This is produced where we check codec_specific is Some before returning it.  The preceding iteration over the stsd contents parses 0 atoms.

mp4info reports (but otherwise accepts the file):
ReadAtom: "bug1340002_mp4parse_soundcloud.mp4": atom type .mp3 is suspect

MP4Box -diso reveals the stsd contains a zero sized box named ".mp3":
<BoxInfo Size="128" Type="stbl"/>
<SampleDescriptionBox>
<BoxInfo Size="52" Type="stsd"/>
<FullBoxInfo Version="0" Flags="0x0"/>
<AudioSampleDescriptionBox DataReferenceIndex="1" Version="0" Revision="0" Vendor="0" ChannelCount="2" BitsPerSample="16" Samplerate="44100">
<BoxInfo Size="0" Type=".mp3"/>
</AudioSampleDescriptionBox>
</SampleDescriptionBox>
It looks like the ".mp3" audio description type originates from F4V, an Adobe/Flash variant of MP4: https://www.adobe.com/content/dam/Adobe/en/devnet/flv/pdfs/video_file_format_spec_v10.pdf

stagefright already accepts this type.  ffmpeg also accepts it, and only writes it when producing MODE_F4V type MP4s.

Fix pushed: https://github.com/mozilla/mp4parse-rust/pull/65
Assignee: nobody → kinetik
Status: NEW → ASSIGNED
Depends on: 1340980
Fixed in bug 1340980 landing.
Status: ASSIGNED → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: