Merge remote-tracking branch 'origin/tracking' into custom

This commit is contained in:
roytam1 2022-03-22 23:32:48 +08:00
commit c277d761f3
159 changed files with 10753 additions and 13777 deletions

View file

@ -465,10 +465,12 @@ MediaSourceTrackDemuxer::DoGetSamples(int32_t aNumSamples)
}
RefPtr<SamplesHolder> samples = new SamplesHolder;
samples->mSamples.AppendElement(sample);
if (mNextRandomAccessPoint.ToMicroseconds() <= sample->mTime) {
{
MonitorAutoLock mon(mMonitor);
mNextRandomAccessPoint =
mManager->GetNextRandomAccessPoint(mType, MediaSourceDemuxer::EOS_FUZZ);
if (mNextRandomAccessPoint.ToMicroseconds() <= sample->mTime) {
mNextRandomAccessPoint =
mManager->GetNextRandomAccessPoint(mType, MediaSourceDemuxer::EOS_FUZZ);
}
}
return SamplesPromise::CreateAndResolve(samples, __func__);
}

View file

@ -611,7 +611,8 @@ WAVTrackDemuxer::Read(uint8_t* aBuffer, int64_t aOffset, int32_t aSize)
{
const int64_t streamLen = StreamLength();
if (mInfo && streamLen > 0) {
aSize = std::min<int64_t>(aSize, streamLen - aOffset);
int64_t max = streamLen > aOffset ? streamLen - aOffset : 0;
aSize = std::min<int64_t>(aSize, max);
}
uint32_t read = 0;
const nsresult rv = mSource.ReadAt(aOffset,

View file

@ -425,6 +425,7 @@ void WebMBufferedState::NotifyDataArrived(const unsigned char* aBuffer, uint32_t
}
void WebMBufferedState::Reset() {
ReentrantMonitorAutoEnter mon(mReentrantMonitor);
mRangeParsers.Clear();
mTimeMapping.Clear();
}