Opus in non-fragmented MP4 is not working

RESOLVED FIXED in Firefox 52

Status

()

defect
P3
normal
RESOLVED FIXED
3 years ago
2 years ago

People

(Reporter: vitto.giova, Assigned: ayang)

Tracking

({regression})

Trunk
mozilla52
Points:
---
Dependency tree / graph

Firefox Tracking Flags

(firefox51 verified disabled, firefox52 fixed)

Details

Attachments

(2 attachments, 1 obsolete attachment)

User Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:46.0) Gecko/20100101 Firefox/46.0
Build ID: 20160111180959

Steps to reproduce:

Download https://people.mozilla.org/~rgiles/2016/sample.mp4

Try to open it in Firefox.


Actual results:

The usual "Video cannot be played" appears.


Expected results:

The audio should have started playing.
Note, I don't know if opus is working with MSE or fragmented MP4.

Related bugs https://bugzilla.mozilla.org/show_bug.cgi?id=1240413 https://bugzilla.mozilla.org/show_bug.cgi?id=1267887
So this is a 'regression' in that the non-fragmented file used to play, even though we were targetting MSE in the initial implementation.

Matthew, is non-fragmented Opus blocked for a good reason, or was this accidental?
Flags: needinfo?(kinetik)
It's a regression from bug 1240412.  That added a call into MP4MetadataRust::ReadTrackIndex but only implemented the fragmented case, so now instead of using Stagefright's answer we MOZ_ASSERT(false, "Not yet implemented") and then return false.
Blocks: vp9-in-mp4
Flags: needinfo?(kinetik)
Right, thanks for clarifying.
Status: UNCONFIRMED → NEW
Ever confirmed: true
Summary: Opus in MP4 is not working (any more?) → Opus in non-fragmented MP4 is not working
Component: Untriaged → Audio/Video: Playback
Product: Firefox → Core
Assignee: nobody → ayang
Attachment #8794067 - Attachment is obsolete: true
Comment on attachment 8794068 [details]
Bug 1304820 - use stagefright instead of rust parser when rust parser fails to parse a file.

https://reviewboard.mozilla.org/r/80692/#review79342

Looks fine, but maybe downgrade the NYI assert in the Rust ReadTrackIndex to an NS_WARNING.
Attachment #8794068 - Flags: review?(kinetik) → review+
Pushed by ayang@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/9e67b79f3eea
use stagefright instead of rust parser when rust parser fails to parse a file. r=kinetik
https://hg.mozilla.org/mozilla-central/rev/9e67b79f3eea
Status: NEW → RESOLVED
Closed: 3 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla52
QA Whiteboard: [good first verify]
Posted image testcase.png
Approval Request Comment
[Feature/Bug causing the regression]:
[User impact if declined]:
[Is this code covered by automated tests?]:
[Has the fix been verified in Nightly?]:
[Needs manual test from QE? If yes, steps to reproduce]: 
[List of other uplifts needed for the feature/fix]:
[Is the change risky?]:
[Why is the change risky/not risky?]:
[String changes made/needed]:
Attachment #8838689 - Flags: approval-mozilla-beta?
[testday-20170217]The bug is not resolved it seems. Can't play video in Firefox Beta 51.
OPERATING SYSTEM : Windows 10
(In reply to fahimazulfath.a from comment #12)
> [testday-20170217]The bug is not resolved it seems. Can't play video in
> Firefox Beta 51.
> OPERATING SYSTEM : Windows 10

Firefox beta is 52, not 51.  What exact version did you test (look at the version and build id fields in about:support)?
Flags: needinfo?(fahimazulfath.a)
Attachment #8838689 - Flags: approval-mozilla-beta?
I can verify that this has been fixed in Nightly 54.0a1. I tested on Ubuntu using Firefox Beta 52.0b3 and Nightly 54.0a1.

https://people-mozilla.org/~rgiles/2016/sample.mp4 plays a song and does not display the "Video can't be played because the file is corrupt." message
Flags: needinfo?(fahimazulfath.a)
You need to log in before you can comment on or make changes to this bug.