Closed Bug 1001272 Opened 6 years ago Closed 6 years ago

AEC distorted (especially on Mac) due to 10ms rechunking

Categories

(Core :: WebRTC: Audio/Video, defect, P1)

defect

Tracking

()

RESOLVED FIXED
mozilla31
Tracking Status
firefox30 --- unaffected
firefox31 --- affected
Blocking Flags:
backlog Fx32+

People

(Reporter: jesup, Assigned: jesup)

References

(Blocks 1 open bug)

Details

(Whiteboard: [p=1, 1.5:p1, ft:webrtc][s=fx32])

Attachments

(1 file)

A last-second change to patch 3 of bug 694814 (Move AEC to GUM), adding far-end observers, introduced a bug missed in review.

When rechunking to 10ms (due to webrtc.org restrictions) the far-end observer code was converted from a hand-coded loop to do sample conversion, to a call to ConvertAudioSamples().  It was reviewed, but missed in the conversion (or accidentally deleted) was the need to now separately bump the input pointer so it would be correct for the next iteration of the for() loop.

This led to snippets of repeated audio replacing correct audio, depending on the chunk sizes processed by MSG and passed over.  These could be far worse on some hardware/driver setups (such as certain macs).  The distorted far-end audio was used only for AEC, so the AEC was only partially functional (again, very system-dependent).
Attachment #8412365 - Flags: review?(paul)
Attachment #8412365 - Flags: review?(paul) → review+
Blocks: 970426
backlog: --- → Fx32+
Whiteboard: [priority, p=1, ft:webrtc]
Priority: -- → P1
Whiteboard: [priority, p=1, ft:webrtc] → [p=1, 1.5:p1, ft:webrtc]
https://hg.mozilla.org/mozilla-central/rev/c1689525c1af
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → FIXED
Whiteboard: [p=1, 1.5:p1, ft:webrtc] → [p=1, 1.5:p1, ft:webrtc][s=fx32]
You need to log in before you can comment on or make changes to this bug.