Closed Bug 1480161 Opened 6 years ago Closed 6 years ago

MediaStreamGraph's underrun assertion fails when audio processing enabled

Categories

(Core :: Audio/Video: MediaStreamGraph, defect, P2)

60 Branch
defect

Tracking

()

RESOLVED FIXED
mozilla63
Tracking Status
firefox63 --- fixed

People

(Reporter: pehrsons, Assigned: pehrsons)

References

Details

Attachments

(1 file)

STR:
Import the patches from bug 1404977
Run the multiple-iframes mochitest with loopback devices on linux (I even need to hardcode them to real devices to trigger this)

Seems to trigger equally well on opt, debug and under rr.
Rank: 15
Priority: -- → P2
The logic here intends to (as is written in the comment) append one block of
silence to the track to allow for us to underrun one full scratch buffer.

The code doesn't match this behavior however, because if we are not underrunning
by less then a block, we end up appending *less* than a block. This causes us to
append at a later time as the scratch buffer can swallow more (up to a full
block) than we appended.

Without processing this seems to work because of timing and ordering, but
with processing (aec/agc/ns) we tend to add 71
(512 for an iteration - 441 packed) samples of silence,
leaving us to hit the assert with a 44% ((128-71)/128) chance during subsequent
iterations.
Comment on attachment 8996957 [details]
Bug 1480161: Fix underrun assert for processed input stream. r?achronop

Alex Chronopoulos [:achronop] has approved the revision.

https://phabricator.services.mozilla.com/D2644
Attachment #8996957 - Flags: review+
Pushed by pehrsons@gmail.com:
https://hg.mozilla.org/integration/autoland/rev/c6bc352b5e62
Fix underrun assert for processed input stream. r=achronop
https://hg.mozilla.org/mozilla-central/rev/c6bc352b5e62
Status: ASSIGNED → RESOLVED
Closed: 6 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla63
See Also: → 1480856
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: