Bug 1428682 - set MediaData::mOffset properly in OggDemuxer. r=jya

mOffset is important for MediaCache to evaluate the playback rate in bytes for
a live stream. Failing to set this field (initially 0) will cause MediaCache to
assume very low playback rate (in bytes) and not to download enough bytes for
decoder to consume without underflow.

This issue is manifested by bug 1427527 where a live ogg stream is played.

MozReview-Commit-ID: JiaXtpWCl09

--HG--
extra : rebase_source : af5928fd616058d4cbe1679e4ed2149641795b89
extra : intermediate-source : e31743f828f783845ad13fbbb23fb0b6af8ccb45
extra : source : 4ea2a67444f783724d9151be4f08878b50895a54
This commit is contained in:
JW Wang 2018-01-08 10:21:59 +08:00
Родитель 1de9a1005f
Коммит 7faefe8a6c
1 изменённых файлов: 1 добавлений и 0 удалений

Просмотреть файл

@ -1364,6 +1364,7 @@ OggTrackDemuxer::NextSample()
// This will also update mSharedAudioTrackInfo.
mParent->ReadOggChain(data->GetEndTime());
}
data->mOffset = mParent->Resource(mType)->Tell();
// We adjust the start time of the sample to account for the potential ogg chaining.
data->mTime += totalDuration;
return data;