Closed Bug 1356291 Opened 8 years ago Closed 8 years ago

rust demuxer rejects dash stream

Categories

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

defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla55
Tracking Status
firefox55 --- fixed

People

(Reporter: rillian, Assigned: ayang)

References

Details

Attachments

(1 file)

Since we started using the output of the rust demuxer for all codecs in bug 1354963, the dash stream at http://dashif.org/reference/players/javascript/nightly/dash.js/samples/dash-if-reference-player/index.html?mpd=http://dash.edgesuite.net/envivio/Envivio-dash2/manifest.mpd no longer plays, reporting: > Media resource blob:http://dashif.org/59212c10-7d79-46a9-b0b4-89de3de50d07 could not be decoded, error: > Error Code: NS_ERROR_DOM_MEDIA_DEMUXER_ERR (0x806e000c) > Details: virtual RefPtr<mozilla::MozPromise<mozilla::MediaResult, mozilla::MediaResult, true> > mozilla::MP4Demuxer::Init(): > No MP4 audio () or video () tracks
Blocks: 1354090
Depends on: 1354963
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 108 bytes in 'moov' [MediaPlayback #2]: D/MP4Metadata rust parser returned 4 (EOF)
So I found that if I compiled the tree with clang it works, but if compiled with gcc (6.2.0 in Ubuntu 16.10) then it doesn't mozconfig that works: mk_add_options AUTOCLOBBER=1 # Enable debug builds ac_add_options --enable-debug ac_add_options --enable-debug-symbols # Turn off compiler optimization. This will make applications run slower, # will allow you to debug the applications under a debugger, like GDB. ac_add_options --disable-optimize CC=/usr/bin/clang CXX=/usr/bin/clang++ mozconfig that doesn't work: mk_add_options AUTOCLOBBER=1 # Enable debug builds ac_add_options --enable-debug ac_add_options --enable-debug-symbols # Turn off compiler optimization. This will make applications run slower, # will allow you to debug the applications under a debugger, like GDB. ac_add_options --disable-optimize
Since the pref changes the behaviour it must be something gcc is doing with the pref check or the rust demuxer ffi.
http://dash.edgesuite.net/envivio/Envivio-dash2/v4_258-Header.m4s doesn't appear to work (that's the init segment of the audio stream)
I filed mozilla/mp4parse-rust#90 to see if we can handle this variety of invalid init segment.
Ok, I found the problem, please check https://github.com/mozilla/mp4parse-rust/issues/90, I'll file the PR later.
Assignee: nobody → ayang
Comment on attachment 8859462 [details] Bug 1356291 - Update rust mp4 parser to fix the variable extension descriptor. https://reviewboard.mozilla.org/r/131496/#review134372
Attachment #8859462 - Flags: review?(giles) → review+
Pushed by rgiles@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/29a47950405d Update rust mp4 parser to fix the variable extension descriptor. r=rillian
Status: NEW → RESOLVED
Closed: 8 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla55
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: