Closed Bug 1016177 Opened 5 years ago Closed 5 years ago

AudioNodeStreams create tracks after they have finished

Categories

(Core :: Web Audio, defect, P2)

x86_64
Linux
defect

Tracking

()

RESOLVED FIXED
mozilla32

People

(Reporter: karlt, Assigned: karlt)

References

Details

Attachments

(2 files)

The TimeToTicksRoundDown(aRate, mTracksKnownTime) <= aStart,
"Start time too early" assertion fails in StreamBuffer::AddTrack() at
http://hg.mozilla.org/mozilla-central/annotate/b5bdc1aaf378/content/media/StreamBuffer.h#l227
if MEDIA_TIME_MAX is changed to INT64_MAX >> MEDIA_TIME_FRAC_BITS so as not to overflow when multiplied by sample rates.
MediaTimes are multiplied by sample rates when converting to ticks.

This new maximum leaves 24 bits to count seconds, which corresponds to 194
days.

TimeVarying::GetAt() can return INT64_MAX, which may be > GRAPH_TIME_MAX.

The "Start time too early" assertion would now fail because conversion of
STREAM_TIME_MAX to ticks no longer overflows.
Attachment #8434685 - Flags: review?(roc)
https://hg.mozilla.org/integration/mozilla-inbound/rev/80d207a21b88
https://hg.mozilla.org/integration/mozilla-inbound/rev/58f1f6dbe7ce

Unfortunately the webrtc code makes asserting against this impractical, but at least we have a warning now.
Flags: in-testsuite-
https://hg.mozilla.org/mozilla-central/rev/80d207a21b88
https://hg.mozilla.org/mozilla-central/rev/58f1f6dbe7ce
Status: ASSIGNED → RESOLVED
Closed: 5 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla32
Blocks: 1023697
You need to log in before you can comment on or make changes to this bug.