Closed Bug 977089 Opened 11 years ago Closed 10 years ago

html5 playback of mp3 files with id3v2 title/artist fails


(Core :: Audio/Video, defect)

27 Branch
Not set



Tracking Status
firefox30 --- verified
firefox31 --- verified
firefox32 --- verified
b2g-v1.4 --- fixed


(Reporter: martin, Assigned: eflores)



(2 files)

Attached file
User Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:27.0) Gecko/20100101 Firefox/27.0 (Beta/Release)
Build ID: 20140218140359

Steps to reproduce:

Trying to load several files (created with lame, see below), all files have an artist set. I'm attaching the source WAV and the resulting mp3 files.
1.) Load MP3 File without a title in the id3v2 metadata
2.) Load MP3 File with a title in the id3v2 metadata
3.) Load MP3 File with an underscore '_' at the beginning of the title in the id3v2 metadata
4.) Load MP3 File with only id3v1 metadata

The files were all created with lame 3.99.3 on Ubuntu 12.04 with the following commands:
1.) lame -b 64 -m m --ta "LEO GmbH" acanthamebiasis.wav acanthamebiasis_without_title.mp3
2.) lame -b 64 -m m --tt "title" --ta "LEO GmbH" acanthamebiasis.wav acanthamebiasis_without_underscore_in_title.mp3
3.) lame -b 64 -m m --tt "_title" --ta "LEO GmbH" acanthamebiasis.wav acanthamebiasis_with_underscore_in_title.mp3
4.) lame -b 64 -m m --id3v1-only --tt "title" --ta "LEO GmbH" acanthamebiasis.wav acanthamebiasis_without_underscore_in_title_only_id3v1.mp3

checkmp3 reports only good frames in all files, eyeD3 can display the title and artist correctly

Actual results:

1.) Playback OK
2.) Playback Fails
3.) Playback OK
4.) Playback OK

The playback fails on Linux and Windows in Firefox 26 and 27, it works in Firefox 25 on Linux (haven't tested on Windows with v25)

Expected results:

All files should play back.
This is reproducable for all files I'm encoding with lame: If the id3v2 title does not start with an underscore (_), playback fails. 

This might be related to #919572 - it could be a regression from the fix introduced there.

Note: If I change the artist to something else (e.g. 'Artist'), none of the files created with id3v2 work. This is even true if I just reposition some letters (e.g. ELO GmbH).
This is still present in Firefox 28 (for me). If I try to play back some mp3 files with ID3v2 set, it just won't play anything. If I remove the id3v2 tag (Linux, command line 'id3v2 -d XXX.mp3' ) then it plays back fine.

Sorry to bump my own report...

I can upload more sample files if needed.
Paul, can you please try to reproduce this and see if it's a regression from bug 919572.
Flags: needinfo?(paul.silaghi)
Hi Martin and thank you for your report.
This is what I see on my side:
On Win 7 x64 - all the mp3 files played ok
On Ubuntu 13.04 x64 - only "acanthamebiasis_without_underscore_in_title.mp3" is not playing ok, it jumps right to the end of time
Tested on Firefox 27.0.1, 28, 32.0a1 (2014-04-30).

"acanthamebiasis_without_underscore_in_title.mp3" also doesn't work on Nightly 2013-09-09, Ubuntu 13.04 x64, so it's not a regression of bug 919572 or bug 910996 (which caused bug 919572)
Component: Untriaged → Video/Audio
Flags: needinfo?(paul.silaghi)
Product: Firefox → Core
Hi Paul and Anthony, 

thanks for looking into this. 

I can confirm that on Windows Firefox 29.0 all mp3 files play back OK, while on Linux, Firefox 29.0, the "acanthamebiasis_without_underscore_in_title.mp3" is still not playing. 

I have access to one Firefox 25 on Linux where the playback is still OK. This system is not up to date, so I'm wondering: is Firefox using some lib on Linux to decode mp3s and if so: which lib is that? Maybe the system with F25 also has an older lib where playbak is still OK while it is failing on a newer version.
(In reply to martin from comment #4)
> is Firefox using some lib on Linux to decode mp3s

I'm not sure. I'll let a developer who is watching this Bugzilla component answer that.
(In reply to Paul Silaghi, QA [:pauly] from comment #3)
> On Ubuntu 13.04 x64 - only "acanthamebiasis_without_underscore_in_title.mp3"
> is not playing ok, it jumps right to the end of time
> Tested on Firefox 27.0.1, 28, 32.0a1 (2014-04-30).
Setting to NEW based on above
Ever confirmed: true
Attached patch 977089.patchSplinter Review
Seems to be happening because the application/x-id3 caps isn't whitelisted. Doesn't really matter though, as we don't need GStreamer to parse ID3 data. This patch just adjusts all gstreamer offsets and lengths by the MP3 offset in the stream, effectively cutting out the ID3 headers.
Assignee: nobody → edwin
Attachment #8419154 - Flags: review?(cpearce)
Attachment #8419154 - Flags: review?(cpearce) → review+
Edwin: can we uplift this MP3 fix to Aurora 31 or even Beta 30? We're still early in the Firefox release cycle so the Release Management team is still accepting uplifts of less critical bug fixes. :)
Flags: needinfo?(edwin)
Closed: 10 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla32
The sample files work ok now on 32.0a1 (2014-05-09), Ubuntu 13.04 x64.
Verified fixed.
Comment on attachment 8419154 [details] [diff] [review]

[Approval Request Comment]
Bug caused by (feature/regressing bug #): GStreamer backend on Linux.
User impact if declined: Some MP3s will not play on Linux.
Testing completed (on m-c, etc.): Has been on m-c a few days; has been verified.
Risk to taking this patch (and alternatives if risky): None.
String or IDL/UUID changes made by this patch: None.
Attachment #8419154 - Flags: approval-mozilla-beta?
Attachment #8419154 - Flags: approval-mozilla-aurora?
Flags: needinfo?(edwin)
Attachment #8419154 - Flags: approval-mozilla-beta?
Attachment #8419154 - Flags: approval-mozilla-beta+
Attachment #8419154 - Flags: approval-mozilla-aurora?
Attachment #8419154 - Flags: approval-mozilla-aurora+
Mozilla/5.0 (X11; Linux x86_64; rv:30.0) Gecko/20100101 Firefox/30.0
Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Firefox/31.0

Verified fixed on latest Aurora, build ID: 20140513004002 and on Fx 30 beta 4, build ID: 20140512231802.
Thanks for taking the time to fix this, I can confirm it is now working on my Firefox 30 on Ubuntu.
On Archlinux with firefox 35 this bug appear again. For me, sound in Google translate don`t play. With this solution bug disappeared.
Can't confirm. I re-downloaded my original attachment and all files play back fine. This might be a different issue - maybe this one might be related:

Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:35.0) Gecko/20100101 Firefox/35.0
My bad. I forgive to install gst-plugins-good. Installation of this plugin resolved my problem.
(In reply to Gregory from comment #19)
> My bad. I forgive to install gst-plugins-good. Installation of this plugin
> resolved my problem.

I'm glad you were able to solve your issue, Gregory. In the future, please file a new bug report instead of commenting on a closed one. Thank you.
You need to log in before you can comment on or make changes to this bug.