Closed Bug 1016177 Opened 5 years ago Closed 5 years ago
Node Streams create tracks after they have finished
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.
Attachment #8429036 - Flags: review?(roc) → review+
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)
Attachment #8434685 - Flags: review?(roc) → review+
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.
Status: ASSIGNED → RESOLVED
Closed: 5 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla32
You need to log in before you can comment on or make changes to this bug.