Closed Bug 1153754 Opened 10 years ago Closed 9 years ago

HTML5 audio not working on Linux in Firefox 37.0.1

Categories

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

37 Branch
x86_64
Linux
defect
Not set
normal

Tracking

()

RESOLVED WORKSFORME

People

(Reporter: wf212, Unassigned)

References

Details

User Agent: Mozilla/5.0 (X11; Linux x86_64; rv:37.0) Gecko/20100101 Firefox/37.0 Build ID: 2015040300 Steps to reproduce: Just try to play any mp3 audio file in native HTML5 player. This stopped working on my Linux box (openSuSE 12.3) after upgrading from 36.0.4 to 37.0.1. Downgrading to an earlier FF version makes it work again. Actual results: Error message saying that file is damaged, but it isn't. Playing the same audio file from FF v37.0.1 on Windows 7 works alright.
Works for me in Firefox 37.0.1 in Linux Mint KDE x64 17.1. 1. http://hpr.dogphilosophy.net/test/ 2. Next to the MP3 entry, click “(click to try it)” Can you play the above MP3 file? If not, please provide a link to the MP3 file that failed to play. Either way, please provide the full and exact error message displayed.
Component: Untriaged → Video/Audio
Flags: needinfo?(wf212)
Product: Firefox → Core
Thanks, Gingerbread. Of the audio files from the above link most do play, but the mp3 and the flac file formats don't. In either case I get an alert saying: Like, DUDE! Something went wrong! Miscellaneous problem with media data. The problem with FLAC is an issue with plugins that could be fixed. I think that's not relevant here. But MP3 should work without extra plugin (or so I think). For the MP3 the console says: GET http://hpr.dogphilosophy.net/test/mp3.mp3 [HTTP/1.1 206 Partial Content 240ms] Medien-Ressource http://hpr.dogphilosophy.net/test/mp3.mp3 konnte nicht dekodiert werden. And opening the MP3 in its own tab produces this error message: Video kann nicht abgespielt werden, weil die Datei beschädigt ist. Those messages are the same I got on the original MP3 that caused me to write the bug report.
Flags: needinfo?(wf212)
1. Open your package manager and make sure GStreamer is installed. On my system, both version 0.10 and 1.0 were installed by default. 2. Can you play this file in your regular version of Firefox? http://www.russianlessons.net/audio/lesson3-20.mp3 3. How about either of the aforementioned files [1][2], in the latest Nightly [3] in a brand new profile? [4] [1] http://www.russianlessons.net/audio/lesson3-20.mp3 — Content-Type: audio/mpeg [2] http://hpr.dogphilosophy.net/test/mp3.mp3 — Content-Type: application/octet-stream [3] https://nightly.mozilla.org [4] https://support.mozilla.org/kb/profile-manager-create-and-remove-firefox-profiles (In reply to wf212 from comment #2) > The problem with FLAC is an issue with plugins that could be fixed. I think > that's not relevant here. Bug 586568 — FLAC isn't supported. So FLAC not playing isn't a bug, unless you have a plug-in that's supposed to play that format. And even then, it might be a bug in the plug-in. Either way, it would be the topic of a separate bug report. > And opening the MP3 in its own tab produces this error message: Video kann > nicht abgespielt werden, weil die Datei beschädigt ist. Strange that the file is referred to as a video. I can't tell if that pertains to this bug, or if it's a bug in the localization.
Flags: needinfo?(wf212)
Thanks again. GStreamer is installed on my system in both versions 1.0.5 and 0.10 plus a whole bunch of related libraries and GTK plugins. No GStreamer plugin is explicitly listed in firefox. Trying to play any of the MP3 files we talked about with a brand new profile in FFv37.0.1 fails identically as with my standard profile. Trying to play any of those MP3 files in the nightly build (firefox-40.0a1.en-US.linux-x86_64) with a brand new profile fails likewise, now the message being "video can't be played because the file is corrupt", which means the same thing as the message in the German localization, so it's not a localization issue. > FLAC isn't supported. So FLAC not playing isn't a bug, unless you have a plug-in that's supposed to > play that format. And even then, it might be a bug in the plug-in. Either way, it would be the topic > of a separate bug report. Yeah, let's forget about the FLAC.
Flags: needinfo?(wf212)
(In reply to wf212 from comment #4) > No GStreamer plugin is explicitly listed in firefox. That's normal. GStreamer isn't a plug-in. It's used behind the scenes for MP3, MP4 and AAC playback. > GStreamer is installed on my system in both versions 1.0.5 and 0.10 plus a > whole bunch of related libraries and GTK plugins. > Trying to play any of those MP3 files in the nightly build > (firefox-40.0a1.en-US.linux-x86_64) with a brand new profile fails likewise, > now the message being "video can't be played because the file is corrupt", > which means the same thing as the message in the German localization, so > it's not a localization issue. I'm sorry to say I don't know where the problem lies then. Someone else is bound to figure it out.
I can confirm this on openSUSE 13.2 with Firefox 37.0.1. Suddenly, MP3 playback is broken, as on http://hpr.dogphilosophy.net/test/ from Comment 1. The console reads "HTTP "Content-Type" of "audio/mpeg" is not supported. Load of media resource [...] failed." Chromium plays the same HTML5 audio on the same machine. gstreamer fluendo mp3 is installed: firefly:/home/klaus # zypper se -si gstreamer Loading repository data... Reading installed packages... S | Name | Type | Version | Arch | Repository --+----------------------------------------+---------+----------------+--------+----------------------------- i | PackageKit-gstreamer-plugin | package | 1.0.3-11.1 | x86_64 | openSUSE-13.2-Update i | gstreamer-0_10 | package | 0.10.36-13.1.5 | x86_64 | openSUSE-13.2-Oss i | gstreamer-0_10 | package | 0.10.36-13.1.5 | x86_64 | openSUSE-13.2-0 i | gstreamer-0_10-plugin-esd | package | 0.10.31-13.1.9 | x86_64 | openSUSE-13.2-Oss i | gstreamer-0_10-plugin-esd | package | 0.10.31-13.1.9 | x86_64 | openSUSE-13.2-0 i | gstreamer-0_10-plugin-gnomevfs | package | 0.10.36-11.1.5 | x86_64 | openSUSE-13.2-Oss i | gstreamer-0_10-plugin-gnomevfs | package | 0.10.36-11.1.5 | x86_64 | openSUSE-13.2-0 i | gstreamer-0_10-plugins-bad | package | 0.10.23-15.1.7 | x86_64 | openSUSE-13.2-Oss i | gstreamer-0_10-plugins-bad | package | 0.10.23-15.1.7 | x86_64 | openSUSE-13.2-0 i | gstreamer-0_10-plugins-base | package | 0.10.36-11.1.5 | x86_64 | openSUSE-13.2-Oss i | gstreamer-0_10-plugins-base | package | 0.10.36-11.1.5 | x86_64 | openSUSE-13.2-0 i | gstreamer-0_10-plugins-good | package | 0.10.31-13.1.9 | x86_64 | openSUSE-13.2-Oss i | gstreamer-0_10-plugins-good | package | 0.10.31-13.1.9 | x86_64 | openSUSE-13.2-0 i | gstreamer-0_10-plugins-ugly | package | 0.10.19-11.1.4 | x86_64 | openSUSE-13.2-Oss i | gstreamer-0_10-plugins-ugly | package | 0.10.19-11.1.4 | x86_64 | openSUSE-13.2-0 i | gstreamer | package | 1.4.3-1.4 | x86_64 | openSUSE-13.2-Oss i | gstreamer | package | 1.4.3-1.4 | x86_64 | openSUSE-13.2-0 i | gstreamer-plugin-gstclutter | package | 2.0.14-2.4.2 | x86_64 | openSUSE-13.2-Update i | gstreamer-plugins-bad | package | 1.4.3-1.1 | x86_64 | openSUSE-13.2-Oss i | gstreamer-plugins-bad | package | 1.4.3-1.1 | x86_64 | openSUSE-13.2-0 i | gstreamer-plugins-base | package | 1.4.3-1.5 | x86_64 | openSUSE-13.2-Oss i | gstreamer-plugins-base | package | 1.4.3-1.5 | x86_64 | openSUSE-13.2-0 i | gstreamer-plugins-good | package | 1.4.3-1.1 | x86_64 | openSUSE-13.2-Oss i | gstreamer-plugins-good | package | 1.4.3-1.1 | x86_64 | openSUSE-13.2-0 i | gstreamer-plugins-qt | package | 1.2.0-2.2.4 | x86_64 | openSUSE-13.2-Oss i | gstreamer-plugins-qt | package | 1.2.0-2.2.4 | x86_64 | openSUSE-13.2-0 i | gstreamer-plugins-ugly | package | 1.4.3-1.1 | x86_64 | openSUSE-13.2-Oss i | gstreamer-plugins-ugly | package | 1.4.3-1.1 | x86_64 | openSUSE-13.2-0 i | libgstreamer-0_10-0 | package | 0.10.36-13.1.5 | x86_64 | openSUSE-13.2-Oss i | libgstreamer-0_10-0 | package | 0.10.36-13.1.5 | x86_64 | openSUSE-13.2-0 i | libgstreamer-0_10-0-32bit | package | 0.10.36-13.1.5 | x86_64 | openSUSE-13.2-Oss i | libgstreamer-0_10-0-32bit | package | 0.10.36-13.1.5 | x86_64 | openSUSE-13.2-0 i | libgstreamer-1_0-0 | package | 1.4.3-1.4 | x86_64 | openSUSE-13.2-Oss i | libgstreamer-1_0-0 | package | 1.4.3-1.4 | x86_64 | openSUSE-13.2-0 i | phonon-backend-gstreamer | package | 4.8.0-2.4.2 | x86_64 | openSUSE-13.2-Update i | python-gstreamer-0_10 | package | 0.10.22-10.1.5 | x86_64 | openSUSE-13.2-Oss i | python-gstreamer-0_10 | package | 0.10.22-10.1.5 | x86_64 | openSUSE-13.2-0 i | gstreamer-fluendo-mp3 | package | 21-5.3.1 | x86_64 | openSUSE-13.2-Update-Non-Oss i | gstreamer-0_10-plugins-bad-lang | package | 0.10.23-165.32 | noarch | (System Packages) i | libgstreamer-1_0-0-32bit | package | 1.4.3-1.4 | x86_64 | openSUSE-13.2-Oss i | gstreamer-0_10-plugins-ffmpeg | package | 0.10.13-2000.4 | x86_64 | (System Packages) i | gstreamer-0_10-plugins-fluendo_mp3 | package | 0.10.18-3.6 | x86_64 | (System Packages) i | gstreamer-0_10-plugins-ugly-orig-addon | package | 0.10.19-14.3 | x86_64 | (System Packages)
After looking into this a little more I come to the conclusion, that this a specific MP3 issue. At least mpeg-4 (.m4a) audio files play fine. We saw from Gingerbread Man's comments that there is a connection to the gstreamer library. I find two switches in my preferences (about:config) pertaining to gstreamer: media.gstreamer.enabled and media.gstreamer.enable-blacklist. Both are "true" by default. If I set the latter to "false", everything works fine for me! There seems to be a connection to Bug 981869 which was deemed to be fixed in v37. But this fix seems to introduce new problems with mp3 audio on openSUSE but also in other contexts (c.f Bug 1133634 Comment 5).
See bug 1153133, comment 4. (In reply to Klaus Bitto from comment #6) > gstreamer fluendo mp3 is installed: That one isn't used. See bug 981869. For comparison: sudo dpkg -l | awk '{ print $2 }' | sed -e '1,5d' | grep -i gstreamer gir1.2-gstreamer-1.0 gstreamer0.10-alsa:amd64 gstreamer0.10-ffmpeg:amd64 gstreamer0.10-fluendo-mp3:amd64 gstreamer0.10-nice:amd64 gstreamer0.10-plugins-bad:amd64 gstreamer0.10-plugins-bad-multiverse gstreamer0.10-plugins-base:amd64 gstreamer0.10-plugins-base:i386 gstreamer0.10-plugins-good:amd64 gstreamer0.10-plugins-good:i386 gstreamer0.10-plugins-ugly:amd64 gstreamer0.10-pulseaudio:amd64 gstreamer0.10-qapt gstreamer0.10-tools gstreamer0.10-x:amd64 gstreamer1.0-clutter gstreamer1.0-libav:amd64 gstreamer1.0-plugins-bad:amd64 gstreamer1.0-plugins-bad-faad:amd64 gstreamer1.0-plugins-bad-videoparsers:amd64 gstreamer1.0-plugins-base:amd64 gstreamer1.0-plugins-good:amd64 gstreamer1.0-plugins-ugly:amd64 gstreamer1.0-pulseaudio:amd64 gstreamer1.0-tools gstreamer1.0-x:amd64 libgstreamer-plugins-bad0.10-0:amd64 libgstreamer-plugins-bad1.0-0:amd64 libgstreamer-plugins-base0.10-0:amd64 libgstreamer-plugins-base0.10-0:i386 libgstreamer-plugins-base1.0-0:amd64 libgstreamer-plugins-base1.0-0:i386 libgstreamer-plugins-good1.0-0:amd64 libgstreamer0.10-0:amd64 libgstreamer0.10-0:i386 libgstreamer1.0-0:amd64 libgstreamer1.0-0:i386 phonon-backend-gstreamer:amd64 phonon-backend-gstreamer-common:amd64 gst-inspect-0.10 | grep mp3 ffmpeg: ffdec_mp3: FFmpeg MP3 (MPEG audio layer 3) decoder ffmpeg: ffdec_mp3float: FFmpeg MP3 (MPEG audio layer 3) decoder ffmpeg: ffdec_mp3adu: FFmpeg ADU (Application Data Unit) MP3 (MPEG audio layer 3) decoder ffmpeg: ffdec_mp3adufloat: FFmpeg ADU (Application Data Unit) MP3 (MPEG audio layer 3) decoder ffmpeg: ffdec_mp3on4: FFmpeg MP3onMP4 decoder ffmpeg: ffdec_mp3on4float: FFmpeg MP3onMP4 decoder ffmpeg: ffmux_mp3: FFmpeg MPEG audio layer 3 formatter (not recommended, use id3v2mux instead) mpegaudioparse: mp3parse: MPEG1 Audio Parser lame: lamemp3enc: L.A.M.E. mp3 encoder lame: lame: L.A.M.E. mp3 encoder flump3dec: flump3dec: Fluendo MP3 Decoder (liboil build) mad: mad: mad mp3 decoder typefindfunctions: application/x-id3v2: mp3, mp2, mp1, mpga, ogg, flac, tta typefindfunctions: application/x-id3v1: mp3, mp2, mp1, mpga, ogg, flac, tta typefindfunctions: application/x-apetag: mp3, ape, mpc, wv typefindfunctions: audio/mpeg: mp3, mp2, mp1, mpga (In reply to Gingerbread Man from comment #3) > Strange that the file is referred to as a video. “The error message is about video because our video document loads direct audio/mpeg resources into a <video> element just like it does video/mp4 files, etc.” — bug 1153133, comment 4
As an interim workaround, is there any way on Linux to force Firefox to hand the stream to VLC or another external player? There appear to be about:config options for MS Windows ( Direct Show and Windows Media Foundation booleans ) but nothing equivalent I can locate for Linux. Thanks.
A couple of examples that fail consistently on Linux with the 'Video can't be played...' message Chante France radio stream http://stream1.chantefrance.com/Chante_France RFI radio stream http://95.81.147.3/rfimonde/all/rfimonde-64k.mp3 Both work fine when opened with VLC. Both used to work in older versions of Firefox ( pre-36 I think ).
I'm having the same problem on openSUSE 13.1, updated gstreamer, etc... Stopped working after certain Firefox update. No SoundCloud, etc. Chrome can play everything without any problem. Please, mark as confirmed. I hope someone would be able to locate and fix this bug. I really miss playing mp3 files in browser.
(In reply to Edwin Flores [:eflores] [:edwin] from bug 981869, comment 28) > [Risks and why]: MP3 playback could stop working for some Linux users Please explain what these users are supposed to do to get MP3 playback to work again.
Flags: needinfo?(edwin)
Component: Audio/Video → Audio/Video: Playback
(In reply to wf212 from comment #7) Setting media.gstreamer.enable-blacklist=False finally made it work, thanks a lot! Soundcloud and pro.beatport.com didn't work with Iceweasel 39.0~a2+20150406 (from mozilla.debian.net) on Debian Jessie. I tested again, downgraded to 38.3.0esr-1~deb8u1 and there it worked also with the default of media.gstreamer.enable-blacklist=True. The I upgraded to 41.0.1-1~bpo80+1 and it continues to work. Whatever caused this issue, now it's resolved for me. Finally I don't need to keep switching to chrome.
It looks like you might need the libmad0 package. The gstreamer-plugins-ugly package should depend on libmad0, but it doesn't seem to at [1]. [1] https://build.opensuse.org/package/view_file/openSUSE:13.2/gstreamer-plugins-ugly/gstreamer-plugins-ugly.spec?expand=1
Flags: needinfo?(edwin)
gstreamer is going in bug 1234092
Status: UNCONFIRMED → RESOLVED
Closed: 9 years ago
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.