Closed Bug 1305826 Opened 3 years ago Closed 3 years ago

mono mp3 plays garbled with pops and distorting...

Categories

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

49 Branch
x86
Windows XP
defect
Not set

Tracking

()

VERIFIED FIXED
mozilla52
Tracking Status
firefox49 --- wontfix
firefox50 --- verified
firefox51 --- verified
firefox52 --- verified

People

(Reporter: billl, Assigned: jya, NeedInfo)

References

Details

(Keywords: regression)

Attachments

(3 files)

User Agent: Mozilla/5.0 (Windows NT 5.1; rv:49.0) Gecko/20100101 Firefox/49.0
Build ID: 20160922113459

Steps to reproduce:

running XP SP3 Pro, and Firefox 39.0.1 even refreshed, go to church web site to listen to 44,100 mp3 file containing sermon. 


Actual results:

The audio is rendered garbled with pops and distortion


Expected results:

Clear audio reproduction... which can be obtained with another browser (Chrome)
This problem is a recent occurrence... have been accessing this site for some time... mp3 files have always been created with "Audacity" and it's mp3 accessory ... no changes have been made on this end... problem occurs on at least two computers.... billl
OS: Unspecified → Windows XP
Hardware: Unspecified → x86
Could you attach such a MP3 audio file or provide a link to the website with these MP3s?
Component: Untriaged → Audio/Video: Playback
Flags: needinfo?(billl)
Product: Firefox → Core
Hi, Loic... the link to the particular (among others) mp3 in question is
http://reformationnalcnc.org/images/20160925ee_Mini.mp3
'not sure sending you the file would help... thanks for picking it up...   Billl
WFM with ff49 on win 7. Maybe an issue only on Win xp.
That's interesting !!... as I mentioned, that same file rendered clear and crisp using "Chrome"... forgive my foul language ;-(
P,S.   I'm waiting for another operating system as reliable as XP...;-)
(In reply to Bill from comment #6)
> P,S.   I'm waiting for another operating system as reliable as XP...;-)

Yeah, FF52 will be the last version to support XP/Vista.
That's interesting, again.... this version (unless I didn't see and update) has been working find for me up until a couple weeks ago (???)... can I just regress out of FF9 or ??
Do you mean the MP3 was played fine with FF48?
Yes. The MP# was playing fine up until a week or so ago...
(In reply to Bill from comment #10)
> Yes. The MP# was playing fine up until a week or so ago...

So maybe there is a regression in FF49.
Could you download the tool Mozregression to narrow down a regression range in FF49, please.
See http://mozilla.github.io/mozregression/ for details.
Run the command mozregression --good=48 then copy here the final pushlog from the repository mozilla-inbound.
Each time a build is downloaded, you play the MP3 to know if the build is good or bad.
Excellent! Will do as you recommend...Bill
Do you recommend GUI of command line??
I use the command line because it's old-fashioned like a standard shell but you need to install python 2.7 in that case.
IMHO, the GUI version is enough for your case, especially with a simple test like reading a MP3.
Thanks...
Sorry, it's not obvious to me where to enter "mozregression --good=48" in the GUI display....
Browse the menu entries of the GUI, you should see an entry to define start/release date.
only options I see are "Run a  single build" or "Run a new bisection"
Select "Run a new bisection".
I'm sorry, there are clearly more parameters than I know what or where to put....
You have to run a bisection, just put a good start date (48 is fine so use this start date).
When I enter last known good build 48, the program crashed........
(In reply to Loic from comment #21)
> You have to run a bisection, just put a good start date (48 is fine so use
> this start date).

Forgive my ignorance but, where does that number go... I tried entering it into "last known good build" with today's date in the other field and GUI didn't like it....
Last good build is 48 or older, because the issue was not present in these releases.
Is there an easy way for me to regress to 48? choices in the GUI are too numerous to guess at.....
hang loose... I just left the 'dates' in the good and current and it might be working ... have downloaded the 3/30/2016 build and will try using it...
I get "One and Done" and can't figure out what to do with it.....:-(
The bisection works by dichotomy. After the start and end builds have been verified as good and bad, the tool downloads builds. For each build, you need to test and enters if it is good or bad.
EUREKA !!!... i WENT TO MY SITE WITH THE MP3 FILE AND IT PLAYED PERFECTLY !!  WHAT DO I HAVE TO DO NOW??
So select "Run a new bisection" and enter 3/30/2016 as start date. The GUI will redownload it and run the regression search.
0422 was good, but 0504 failed... it found 0428, but I don't get a test page??
You can enter "skip" or "retry" if the build doesn't start or crash or if you close it accidentally.
good, except there is no "good | Bad | other| on that line... can I start at 0504 and regress from there?
Yeah, you can even start from 2009. :)
You can even specify an interval, like good=0422  bad=0504.
It looks like 0425 is the last one that works... should I continue with the "inbounds"??
Yes, and after the run, copy here the pushlog from the GUI output.
Now What??

2016-09-29T15:22:58: INFO : Narrowed inbound regression window from [bc717d40, 0c4758a0] (3 revisions) to [bc717d40, 92d6662b] (2 revisions) (~1 steps left)
2016-09-29T15:22:58: DEBUG : Starting merge handling...
2016-09-29T15:22:58: DEBUG : Using url: https://hg.mozilla.org/integration/mozilla-inbound/json-pushes?changeset=92d6662bdf4ffb3ba702c8b4bfa55bbdeab9df91&full=1
2016-09-29T15:22:59: DEBUG : Found commit message:
Bug 1264199: P10. renable test now that core issue likely fixed. r=gerald

Reversal of change from bug 1258922.

2016-09-29T15:22:59: INFO : The bisection is done.
2016-09-29T15:22:59: INFO : Stopped
Jean-Yves, could you check this regression.
Blocks: 1258922
Status: UNCONFIRMED → NEW
Has Regression Range: --- → yes
Has STR: --- → yes
Ever confirmed: true
Flags: needinfo?(billl) → needinfo?(jyavenard)
Version: 49 Branch → 47 Branch
Loic, Do you need any more of this gui regression log ??   Bill
Too late for a fix for 49.
Hi Liz !.... so, when is 50 scheduled... I've been a faithful FF user for a long time and would like to continue...;-)... Billl
(In reply to Bill from comment #41)
> Hi Liz !.... so, when is 50 scheduled... I've been a faithful FF user for a
> long time and would like to continue...;-)... Billl

If you want to continue using Windows XP, then your choices are rather limited :)

I'll have a look.
Windwows XP MP3 playback code is different to all other platforms.. which doesn't make easy to debug nor access this platform.
Assignee: nobody → jyavenard
...I thougth Loic and I just 'regressed' and identified the "Fix" that caused my problem in 49... Do you mean that the next release will likely cause more problems?.... Billl
(In reply to Bill from comment #43)
> ...I thougth Loic and I just 'regressed' and identified the "Fix" that
> caused my problem in 49... Do you mean that the next release will likely
> cause more problems?.... Billl

The issue is Win XP is a dead OS with many issues about playing media due to outdated APIs. Fixing bugs on this OS is a loss of time for Mozilla devs. You need to know FF52 will be the last version of Firefox to support XP (and Vista).
(In reply to Bill from comment #43)
> ...I thougth Loic and I just 'regressed' and identified the "Fix" that
> caused my problem in 49... Do you mean that the next release will likely
> cause more problems?.... Billl

The problem will be fixed before 50 make it to release. Be certain of that.

Can you provide a copy of your about:support output and attach a copy of the file giving your problem?

You mentioned in the description that you are using Firefox 39. Wanted to make sure this isn't a typo.
Thanks for the prompt reply... First of all, Yes it is indeed a typo.. I'm running FF 49.0.1
And , yes I will provide about:support as soon as I figure out how to accomplish it... and the problem is a link to an MP3 file - http://reformationnalcnc.org/images/20160925ee_Mini.mp3 which is one of a the recordings I make of our Pastor's sermon... other sample files can be found at http://reformationnalcnc.org/lessonssermons.html ... stay tuned... Billl
Application Basics
------------------

Name: Firefox
Version: 49.0.1
Build ID: 20160922113459
Update Channel: release
User Agent: Mozilla/5.0 (Windows NT 5.1; rv:49.0) Gecko/20100101 Firefox/49.0
OS: Windows_NT 5.1
Multiprocess Windows: 0/1 (Disabled by add-ons)
Safe Mode: false

Crash Reports for the Last 3 Days
---------------------------------

All Crash Reports

Extensions
----------

Name: Multi-process staged rollout
Version: 1.3
Enabled: true
ID: e10srollout@mozilla.org

Name: Page Shot
Version: 0.1.201609222137
Enabled: true
ID: jid1-NeEaf3sAHdKHPA@jetpack

Name: PC Matic
Version: 1.01
Enabled: true
ID: noreply@pcpitstop.com

Name: Pocket
Version: 1.0.4
Enabled: true
ID: firefox@getpocket.com

Name: Test Pilot
Version: 0.8.5-tag-2016-09-27
Enabled: true
ID: @testpilot-addon

Name: Web Compat
Version: 1.0
Enabled: true
ID: webcompat@mozilla.org

Name: YoutubeMp3
Version: 0.1.1
Enabled: true
ID: @addonharmali

Name: Microsoft .NET Framework Assistant
Version: 0.0.0
Enabled: false
ID: {20a82645-c095-46ed-80e3-08825760534b}

Name: MP4 Downloader Extension
Version: 1.1.0
Enabled: false
ID: {8B1E27AE-119E-456b-B22E-08C61FACB097}

Name: SmartPrintButton
Version: 1.0
Enabled: false
ID: quickprint@hp.com

Graphics
--------

Features
Compositing: Basic
Asynchronous Pan/Zoom: none
Hardware H264 Decoding: No; Failed to create H264 decoder
Direct2D: Blocked for your graphics driver version. Try updating your graphics driver to version 8.56.1.15 or newer.
DirectWrite: false (0.0.0.0)
GPU #1
Active: Yes
Description: ATI MOBILITY RADEON 7500
Vendor ID: 0x1002
Device ID: 0x4c57
Driver Version: 6.14.10.6525
Driver Date: 3-22-2005
Drivers: ati2dvag
Subsys ID: 05301014
RAM: Unknown

Diagnostics
AzureCanvasAccelerated: 0
AzureCanvasBackend: skia
AzureContentBackend: cairo
AzureFallbackCanvasBackend: cairo
webglRendererMessage: Blocked for your graphics driver version. Try updating your graphics driver to version 8.56.1.15 or newer.
Decision Log
D3D11_COMPOSITING:
Blocklisted; failure code BLOCKLIST_FEATURE_FAILURE_AMD1
D3D9_COMPOSITING:
Blocklisted; failure code BLOCKLIST_FEATURE_FAILURE_AMD1
DIRECT2D:
unavailable by default: Direct2D requires Direct3D 11 compositing
D3D11_HW_ANGLE:
unavailable by default: D3D11 compositing is disabled
disabled by env: D3D11 compositing is disabled




Important Modified Preferences
------------------------------

browser.cache.disk.capacity: 358400
browser.cache.disk.filesystem_reported: 1
browser.cache.disk.smart_size.first_run: false
browser.cache.disk.smart_size.use_old_max: false
browser.cache.frecency_experiment: 1
browser.download.importedFromSqlite: true
browser.places.smartBookmarksVersion: 8
browser.sessionstore.upgradeBackup.latestBuildID: 20160922113459
browser.startup.homepage: about:blank
browser.startup.homepage_override.buildID: 20160922113459
browser.startup.homepage_override.mstone: 49.0.1
browser.tabs.loadInBackground: false
browser.tabs.remote.autostart.2: true
browser.urlbar.daysBeforeHidingSuggestionsPrompt: 0
browser.urlbar.lastSuggestionsPromptDate: 20160928
dom.apps.lastUpdate.buildID: 20160922113459
dom.apps.lastUpdate.mstone: 49.0.1
dom.apps.reset-permissions: true
extensions.lastAppVersion: 49.0.1
gfx.crash-guard.d3d11layers.appVersion: 49.0.1
gfx.crash-guard.d3d11layers.deviceID: 0x4c57
gfx.crash-guard.d3d11layers.driverVersion: 6.14.10.6525
gfx.crash-guard.d3d11layers.feature-d2d: false
gfx.crash-guard.d3d11layers.feature-d3d11: false
gfx.crash-guard.status.d3d11layers: 2
media.gmp-gmpopenh264.abi: x86-msvc-x86
media.gmp-gmpopenh264.lastUpdate: 1474829259
media.gmp-gmpopenh264.version: 1.6
media.gmp-manager.buildID: 20160922113459
media.gmp-manager.lastCheck: 1475277356
media.gmp.storage.version.observed: 1
media.hardware-video-decoding.failed: true
media.webrtc.debug.log_file: C:\DOCUME~1\Billl\LOCALS~1\Temp\WebRTC.log
network.cookie.prefsMigrated: true
network.predictor.cleaned-up: true
places.database.lastMaintenance: 1474830399
places.history.expiration.transient_current_max_pages: 53659
plugin.disable_full_page_plugin_for_types: application/pdf
plugin.importedState: true
print.printer_HP_LaserJet_Professional_P1606dn.print_bgcolor: false
print.printer_HP_LaserJet_Professional_P1606dn.print_bgimages: false
print.printer_HP_LaserJet_Professional_P1606dn.print_duplex: -437918235
print.printer_HP_LaserJet_Professional_P1606dn.print_edge_bottom: 0
print.printer_HP_LaserJet_Professional_P1606dn.print_edge_left: 0
print.printer_HP_LaserJet_Professional_P1606dn.print_edge_right: 0
print.printer_HP_LaserJet_Professional_P1606dn.print_edge_top: 0
print.printer_HP_LaserJet_Professional_P1606dn.print_evenpages: true
print.printer_HP_LaserJet_Professional_P1606dn.print_footercenter:
print.printer_HP_LaserJet_Professional_P1606dn.print_footerleft: &PT
print.printer_HP_LaserJet_Professional_P1606dn.print_footerright: &D
print.printer_HP_LaserJet_Professional_P1606dn.print_headercenter:
print.printer_HP_LaserJet_Professional_P1606dn.print_headerleft: &T
print.printer_HP_LaserJet_Professional_P1606dn.print_headerright: &U
print.printer_HP_LaserJet_Professional_P1606dn.print_in_color: true
print.printer_HP_LaserJet_Professional_P1606dn.print_margin_bottom: 0.5
print.printer_HP_LaserJet_Professional_P1606dn.print_margin_left: 0.5
print.printer_HP_LaserJet_Professional_P1606dn.print_margin_right: 0.5
print.printer_HP_LaserJet_Professional_P1606dn.print_margin_top: 0.5
print.printer_HP_LaserJet_Professional_P1606dn.print_oddpages: true
print.printer_HP_LaserJet_Professional_P1606dn.print_orientation: 0
print.printer_HP_LaserJet_Professional_P1606dn.print_page_delay: 50
print.printer_HP_LaserJet_Professional_P1606dn.print_paper_data: 1
print.printer_HP_LaserJet_Professional_P1606dn.print_paper_height: 11.00
print.printer_HP_LaserJet_Professional_P1606dn.print_paper_name:
print.printer_HP_LaserJet_Professional_P1606dn.print_paper_size_unit: 0
print.printer_HP_LaserJet_Professional_P1606dn.print_paper_width: 8.50
print.printer_HP_LaserJet_Professional_P1606dn.print_resolution: 600
print.printer_HP_LaserJet_Professional_P1606dn.print_reversed: false
print.printer_HP_LaserJet_Professional_P1606dn.print_scaling: 1.00
print.printer_HP_LaserJet_Professional_P1606dn.print_shrink_to_fit: true
print.printer_HP_LaserJet_Professional_P1606dn.print_to_file: false
print.printer_HP_LaserJet_Professional_P1606dn.print_unwriteable_margin_bottom: 0
print.printer_HP_LaserJet_Professional_P1606dn.print_unwriteable_margin_left: 0
print.printer_HP_LaserJet_Professional_P1606dn.print_unwriteable_margin_right: 0
print.printer_HP_LaserJet_Professional_P1606dn.print_unwriteable_margin_top: 0
storage.vacuum.last.index: 1
storage.vacuum.last.places.sqlite: 1474830398

Important Locked Preferences
----------------------------

Places Database
---------------

JavaScript
----------

Incremental GC: true

Accessibility
-------------

Activated: false
Prevent Accessibility: 0

Library Versions
----------------

NSPR
Expected minimum version: 4.12
Version in use: 4.12

NSS
Expected minimum version: 3.25
Version in use: 3.25

NSSSMIME
Expected minimum version: 3.25
Version in use: 3.25

NSSSSL
Expected minimum version: 3.25
Version in use: 3.25

NSSUTIL
Expected minimum version: 3.25
Version in use: 3.25

Experimental Features
---------------------
can reproduce.. thank you for your report..
Flags: needinfo?(jyavenard)
For the time being you can get around the problem by doing the following.

in a new tap, enter the url: about:config
In the bottom pane, right click and select New->Boolean

You'll be prompted to "Enter the preference name", there type: media.forcestereo.enabled
In the value there, select "false"

No where your MP3 is, press refresh to reload the file.

File will now play fine.
Thank you, Jean-Yves ! and bless you all....bill !!!
Summary: mp3 on web-site plays garbled with pops and distorting... works ok on Chrome → mono mp3 plays garbled with pops and distorting...
Comment on attachment 8796818 [details]
Bug 1305826: P1. Fix move constructor.

https://reviewboard.mozilla.org/r/82550/#review81128
Attachment #8796818 - Flags: review?(gsquelart) → review+
Comment on attachment 8796819 [details]
Bug 1305826: P2. Ensure the buffer size is of the right size.

https://reviewboard.mozilla.org/r/82552/#review81130
Attachment #8796819 - Flags: review?(gsquelart) → review+
Comment on attachment 8796820 [details]
Bug 1305826: P3. Only process the number of frames, do not rely on allocated size.

https://reviewboard.mozilla.org/r/82554/#review81132
Attachment #8796820 - Flags: review?(gsquelart) → review+
Pushed by jyavenard@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/9f9aa517e499
P1. Fix move constructor. r=gerald
https://hg.mozilla.org/integration/autoland/rev/66fc89b8e43a
P2. Ensure the buffer size is of the right size. r=gerald
https://hg.mozilla.org/integration/autoland/rev/7a131d2860bd
P3. Only process the number of frames, do not rely on allocated size. r=gerald
Blocks: 1264199
No longer blocks: 1258922
Comment on attachment 8796818 [details]
Bug 1305826: P1. Fix move constructor.

Only either patch 2 or patch 3 is really necessary. But P1 is trivial and will remove a unnecessary memory allocation happening all the time..
So may as well do uplift them all.

Approval Request Comment
[Feature/regressing bug #]:1264199
[User impact if declined]: mono MP3 will sound distorted on both XP and maybe other systems. 
[Describe test coverage new/current, TreeHerder]: manual testing.
[Risks and why]: can't think of any. Under some circumstances we allocated more memory than we actually need. As we used the size of the buffer to determine how many audio samples it contained, it caused garbage to be introduced every few milliseconds.
[String/UUID change made/needed]: none
Attachment #8796818 - Flags: approval-mozilla-beta?
Attachment #8796818 - Flags: approval-mozilla-aurora?
Hello Bill, could you please verify this issue is fixed as expected on a latest Nightly build? Thanks!
Flags: needinfo?(billl)
Comment on attachment 8796818 [details]
Bug 1305826: P1. Fix move constructor.

Improves mono MP3 playback experience on XP, recent regression since 47, Aurora51+, Beta50+
Attachment #8796818 - Flags: approval-mozilla-beta?
Attachment #8796818 - Flags: approval-mozilla-beta+
Attachment #8796818 - Flags: approval-mozilla-aurora?
Attachment #8796818 - Flags: approval-mozilla-aurora+
Will do... should I take out the work-around media.forcestereo.enable  False statement??
yes you should...
It should no longer be necessary.

It will also be fixed in Firefox Beta 50.
Hmmm,,, about:config ... found my entry - the forcestereo.enable, and couldn't delete it, but right key, 'reset' leaving 'string'?

I saw all the goodies,and reloaded FF, but the mp3 file is still rendered garbled...:-(
How did you reload FF?

you need to use a version with the fix. At this stage, this is only on Nightly available there:
https://nightly.mozilla.org/

It is not available in the current version of firefox (currently 49)
(In reply to Bill from comment #66)
> Hmmm,,, about:config ... found my entry - the forcestereo.enable, and
> couldn't delete it, but right key, 'reset' leaving 'string'?
that's the proper way to do it...

when you restart firefox, it will be removed
OK... nightly 52 installed, and the mp3 file in question sounds good !
What do I do until 50 is released? Do I get to keep this one??
Also, I was informed back up the page that 52 would be the last version to support XP3...

So, where do I stand...??

Bill
First, thank you for confirming that the fix is working.

It will be available in the next release of firefox (version 50).

52 is several months away, after which it will go on long-term-support mode. So you're fine on windows XP on that front. You just won't get "new" version of firefox. But it will continue to receive security fixes.

For now, you can simply set again the media.forcestereo.enabled and use 49 and wait until 50 is released.

Feel free to use nightly if you are adventurous enough.

In the next few days, Firefox Beta and Firefox Developer Edition will contain the fix.
Jean-Yves, thanks for all that ... and it's good to hear that 52 isn't exactly the end of the road ;-)
I'm working on an 'upload' problem to Network Solutions and will try this nightly before going back to 49... I'll be glad to help in any way that I can... thanks to all!   BIll
Flags: qe-verify+
Duplicate of this bug: 1306712
I've managed to reproduce this issue on Firefox 39.0 with STR from comment 0.

This issue is verified fixed on 50.0b6 (2016-10-10), 51.0a2 (2016-10-12) and 52.0a1 (2016-10-12) under Windows XP.
Status: RESOLVED → VERIFIED
Flags: qe-verify+
THANKS, EVERYONE, FOR ALL YOUR HELP... ANYTIME I CAN BE OF SERVICE, LET ME KNOW...BILLL
Version: 47 Branch → 49 Branch
You need to log in before you can comment on or make changes to this bug.