HTML5 audio not working on Linux in Firefox 37.0.1

RESOLVED WORKSFORME

Status

()

Core
Audio/Video: Playback
RESOLVED WORKSFORME
2 years ago
a year ago

People

(Reporter: wf212, Unassigned)

Tracking

37 Branch
x86_64
Linux
Points:
---

Firefox Tracking Flags

(Not tracked)

Details

(Reporter)

Description

2 years ago
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.

Comment 1

2 years ago
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
(Reporter)

Comment 2

2 years ago
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)

Comment 3

2 years ago
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)
(Reporter)

Comment 4

2 years ago
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)

Comment 5

2 years ago
(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.

Comment 6

2 years ago
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)
(Reporter)

Comment 7

2 years ago
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).

Comment 8

2 years ago
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

Comment 9

2 years ago
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.

Comment 10

2 years ago
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 ).

Comment 11

2 years ago
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.

Comment 12

2 years ago
(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

Comment 13

2 years ago
(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.
Depends on: 1208910
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)
Blocks: 1208910
No longer depends on: 1208910
gstreamer is going in bug 1234092
Status: UNCONFIRMED → RESOLVED
Last Resolved: a year ago
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.