Closed Bug 1336057 Opened 8 years ago Closed 8 years ago

MSE FLAC fails to playback on Linux (only)

Categories

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

51 Branch
defect
Not set
normal

Tracking

()

RESOLVED FIXED

People

(Reporter: u514836, Unassigned)

Details

User Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36 Steps to reproduce: On Linux (I tested 51.0.1 on Ubuntu 16.04), attempt to play MPEG-DASH FLAC stream: http://rdmedia.bbc.co.uk/dash/ondemand/testcard/radio/1/client_manifest-flac.mpd using, for example, dash-if reference player: http://dashif.org/reference/players/javascript/v2.4.1/samples/dash-if-reference-player/index.html Actual results: MediaSource.isTypeSupported returns true, as expected. Console reports "Media resource blob:http://dashif.org/6bea9b41-69ae-44d7-a784-6dcd459b12a5 could not be decoded." and MEDIA_ERR_SRC_NOT_SUPPORTED is reported Expected results: Audio plays, as it does on Windows and Mac OSX, and no errors reported.
WFM in Nightly.
works in beta 52 and nightly 53. doesn't work only in 51. nothing we can do at this stage, so working it as fixed. no idea why it wouldn't work in 51.
Status: UNCONFIRMED → RESOLVED
Closed: 8 years ago
Resolution: --- → FIXED
Still seeing this with FF52.0 on Ubuntu 16.04.2 on multiple machines. Error is MEDIA_ERR_SRC_NOT_SUPPORTED with error.message "0x806e000c: " as soon as the initialisation segment is appended.
Does this happen regardless of the stream or is that always with the same content?
Flags: needinfo?(bbcrddave)
Fails with more than one stream. Private link shared directly with jya - I can't share this publicly unfortunately. Note that everything works as expected on Windows and OSX.
Flags: needinfo?(bbcrddave)
So if I get this right: You first call MediaSource.isTypeSupported("audio/mp4; codecs=flac"); and that return true. It's only after you append the init segment that it is rejected... If so, it's an entirely different problem and would be related to the rust mp4 demuxer (which is the one that can do flac in mp4)... What version of Firefox are you using on those ubuntu machines? Are they official mozilla build? Could it be that the rust mp4 demuxer got disabled on those builds? :rillian, how can we confirm if the rust mp4 demuxer is enabled or not?
Flags: needinfo?(giles)
FWIW: very nice stream... been listening it for the past hour...
so it appears that the rust mp4 demuxer isn't enabled on linux release build :( that would disable flac in mp4
The demuxer is enabled on linux release builds. Works fine for me on Fedora 25 with both the packaged Firefox 51 and Mozilla's upstream build of Firefox 52. David, are you using the Ubuntu build, or Mozilla's build? It's possible Ubuntu is building without Rust code enabled, and the flac-in-mp4 support is implemented in the Rust language. Mozilla builds for linux have included Rust code since Firefox 45, but we didn't enable it by default in the source packages until Firefox 53, and it doesn't look like Ubuntu's build is passing --enable-rust. That might explain the difference. MediaSource.isTypeSupported() returning incorrect information in this case sounds like a bug in our code, but if my theory above is correct, the actual lack of support is an Ubuntu bug. Ask them to build with --enable-rust (or wait for 53).
Flags: needinfo?(giles) → needinfo?(bbcrddave)
Yes, your analysis appears correct. I had been using the Canonical-supplied versions and these fail to work. I downloaded both 52 and 53 Mozilla-supplied versions and they work great. I don't know what the process is for getting a change made to the Ubuntu build or how quickly it would be actioned, so it might be easier/quicker to wait for Canonical to ship 53. I'll take a look at the process on Monday. As you say, it is definitely a bug that MediaSource.isTypeSupported('audio/mp4;codecs="flac"') returns true when the demuxer is unavailable.
Flags: needinfo?(bbcrddave)
I believe one files bugs at https://launchpad.net/ubuntu/+source/firefox/+bugs but I haven't been able to login to do so today. I'll keep trying, but hopefully this will be fixed when they package Firefox 53 or 54 where the default build enables the rust code.
I couldn't see that anyone had filed a bug report on launchpad, so I have: https://bugs.launchpad.net/ubuntu/+source/firefox/+bug/1681107
FYI, sadly not fixed in canonical-supplied FF53 - https://bugs.launchpad.net/ubuntu/+source/firefox/53.0+build6-0ubuntu0.16.04.1 for example notes "* Build with --disable-rust for now" Feature detection doesn't work reliably because MediaSource.isTypeSupported('audio/mp4;codecs="flac"') still returns true.
FYI Ubuntu's FF54 now builds with Rust by default (https://bugs.launchpad.net/ubuntu/+source/firefox/54.0+build3-0ubuntu0.16.04.1 notes: * Build with rustc and cargo) and, subsequently, our streams play out of the box.
That's great news. Thanks David!
You need to log in before you can comment on or make changes to this bug.