send AudioBufferSourceNode ended event even when the buffer has no channel data

RESOLVED FIXED in Firefox 43

Status

()

Core
Web Audio
RESOLVED FIXED
3 years ago
3 years ago

People

(Reporter: karlt, Assigned: karlt)

Tracking

unspecified
mozilla43
Points:
---
Dependency tree / graph
Bug Flags:
in-testsuite +

Firefox Tracking Flags

(firefox43 fixed)

Details

MozReview Requests

()

Submitter Diff Changes Open Issues Last Updated
Loading...
Error loading review requests:

Attachments

(4 attachments)

(Assignee)

Description

3 years ago
The ThreadSharedFloatArrayBufferList may be null even when there is a buffer
if one of its arrays has been neutered and I plan for bug 1198656 to also make the ThreadSharedFloatArrayBufferList null when it would contain only zeros.
(Assignee)

Comment 1

3 years ago
Created attachment 8657089 [details]
MozReview Request: bug 1201855 rearrange CopyFromBuffer to separate code using numFrames r?padenot

bug 1201855 rearrange CopyFromBuffer to separate code using numFrames r?padenot
Attachment #8657089 - Flags: review?(padenot)
(Assignee)

Comment 2

3 years ago
Created attachment 8657090 [details]
MozReview Request: bug 1201855 keep track of buffer position even when there are no channels r?padenot

bug 1201855 keep track of buffer position even when there are no channels r?padenot
Attachment #8657090 - Flags: review?(padenot)
(Assignee)

Comment 3

3 years ago
Created attachment 8657091 [details]
MozReview Request: bug 1201855 use unsigned integers for buffer positions so that negative buffer positions are impossible r?padenot

bug 1201855 use unsigned integers for buffer positions so that negative buffer positions are impossible r?padenot

I think the limits on sample rates already ensure that mBufferPosition will
not overflow, but this makes sure that there are no out of bounds reads.

The node checks the parameters are > 0 before sending to the engine.
Attachment #8657091 - Flags: review?(padenot)
(Assignee)

Comment 4

3 years ago
Created attachment 8657092 [details]
MozReview Request: bug 1201855 send ended event even when the buffer has no channel data r?padenot

bug 1201855 send ended event even when the buffer has no channel data r?padenot

The ThreadSharedFloatArrayBufferList may be null even when there is a buffer
if one of its arrays has been neutered.

SAMPLE_RATE is used instead of BUFFEREND to detect whether start() and buffer
have been received because buffers can have zero length when acquiring the
contents returns "zero-length channel data buffers", although this zero-length
is not yet implemented.

LOOP and BUFFEREND are reset when the buffer is set to null to end playback.
Attachment #8657092 - Flags: review?(padenot)
Comment on attachment 8657089 [details]
MozReview Request: bug 1201855 rearrange CopyFromBuffer to separate code using numFrames r?padenot

https://reviewboard.mozilla.org/r/18293/#review16505
Attachment #8657089 - Flags: review?(padenot) → review+
Comment on attachment 8657090 [details]
MozReview Request: bug 1201855 keep track of buffer position even when there are no channels r?padenot

https://reviewboard.mozilla.org/r/18295/#review16507
Attachment #8657090 - Flags: review?(padenot) → review+
Comment on attachment 8657091 [details]
MozReview Request: bug 1201855 use unsigned integers for buffer positions so that negative buffer positions are impossible r?padenot

https://reviewboard.mozilla.org/r/18297/#review16509
Attachment #8657091 - Flags: review?(padenot) → review+
Comment on attachment 8657092 [details]
MozReview Request: bug 1201855 send ended event even when the buffer has no channel data r?padenot

https://reviewboard.mozilla.org/r/18299/#review16511
Attachment #8657092 - Flags: review?(padenot) → review+
https://hg.mozilla.org/mozilla-central/rev/c0d655ae3cb5
https://hg.mozilla.org/mozilla-central/rev/626165ab9f6c
https://hg.mozilla.org/mozilla-central/rev/358256d1f999
https://hg.mozilla.org/mozilla-central/rev/32d92b96e892
Status: ASSIGNED → RESOLVED
Last Resolved: 3 years ago
status-firefox43: --- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla43
(Assignee)

Comment 11

3 years ago
The changes in bug 1198656 will mean that the tests depend on this behavior.
Flags: in-testsuite?
(Assignee)

Updated

3 years ago
Flags: in-testsuite? → in-testsuite+
You need to log in before you can comment on or make changes to this bug.