mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-09 03:15:11 +00:00
Bug 1302573: [MSE] P3. Display evictable amount in about:media output. r=gerald
MozReview-Commit-ID: 1cs2aAxSH4A --HG-- extra : rebase_source : cad708cb139aff03d91f338827f579c18551c99a
This commit is contained in:
parent
93fe7f08f6
commit
35a0f6dbcf
@ -258,11 +258,12 @@ MediaSourceDemuxer::GetMozDebugReaderData(nsAString& aString)
|
||||
result += nsPrintfCString("Dumping data for demuxer %p:\n", this);
|
||||
if (mAudioTrack) {
|
||||
result += nsPrintfCString("\tDumping Audio Track Buffer(%s): - mLastAudioTime: %f\n"
|
||||
"\t\tNumSamples:%u Size:%u NextGetSampleIndex:%u NextInsertionIndex:%d\n",
|
||||
"\t\tNumSamples:%u Size:%u Evictable:%u NextGetSampleIndex:%u NextInsertionIndex:%d\n",
|
||||
mAudioTrack->mAudioTracks.mInfo->mMimeType.get(),
|
||||
mAudioTrack->mAudioTracks.mNextSampleTime.ToSeconds(),
|
||||
mAudioTrack->mAudioTracks.mBuffers[0].Length(),
|
||||
mAudioTrack->mAudioTracks.mSizeBuffer,
|
||||
mAudioTrack->Evictable(TrackInfo::kAudioTrack),
|
||||
mAudioTrack->mAudioTracks.mNextGetSampleIndex.valueOr(-1),
|
||||
mAudioTrack->mAudioTracks.mNextInsertionIndex.valueOr(-1));
|
||||
|
||||
@ -271,11 +272,12 @@ MediaSourceDemuxer::GetMozDebugReaderData(nsAString& aString)
|
||||
}
|
||||
if (mVideoTrack) {
|
||||
result += nsPrintfCString("\tDumping Video Track Buffer(%s) - mLastVideoTime: %f\n"
|
||||
"\t\tNumSamples:%u Size:%u NextGetSampleIndex:%u NextInsertionIndex:%d\n",
|
||||
"\t\tNumSamples:%u Size:%u Evictable:%u NextGetSampleIndex:%u NextInsertionIndex:%d\n",
|
||||
mVideoTrack->mVideoTracks.mInfo->mMimeType.get(),
|
||||
mVideoTrack->mVideoTracks.mNextSampleTime.ToSeconds(),
|
||||
mVideoTrack->mVideoTracks.mBuffers[0].Length(),
|
||||
mVideoTrack->mVideoTracks.mSizeBuffer,
|
||||
mVideoTrack->Evictable(TrackInfo::kVideoTrack),
|
||||
mVideoTrack->mVideoTracks.mNextGetSampleIndex.valueOr(-1),
|
||||
mVideoTrack->mVideoTracks.mNextInsertionIndex.valueOr(-1));
|
||||
|
||||
|
@ -274,15 +274,8 @@ TrackBuffersManager::EvictData(const TimeUnit& aPlaybackTime, int64_t aSize)
|
||||
}
|
||||
const int64_t toEvict = GetSize() + aSize - EvictionThreshold();
|
||||
|
||||
uint32_t canEvict;
|
||||
{
|
||||
MonitorAutoLock mon(mMonitor);
|
||||
if (HasVideo()) {
|
||||
canEvict = mVideoTracks.mEvictionIndex.mEvictable;
|
||||
} else {
|
||||
canEvict = mAudioTracks.mEvictionIndex.mEvictable;
|
||||
}
|
||||
}
|
||||
const uint32_t canEvict =
|
||||
Evictable(HasVideo() ? TrackInfo::kVideoTrack : TrackInfo::kAudioTrack);
|
||||
|
||||
MSE_DEBUG(
|
||||
"buffered=%lldkB, eviction threshold=%ukB, evict=%lldkB canevict=%ukB",
|
||||
@ -2393,6 +2386,13 @@ TrackBuffersManager::FindCurrentPosition(TrackInfo::TrackType aTrack,
|
||||
return -1;
|
||||
}
|
||||
|
||||
uint32_t
|
||||
TrackBuffersManager::Evictable(TrackInfo::TrackType aTrack) const
|
||||
{
|
||||
MonitorAutoLock mon(mMonitor);
|
||||
return GetTracksData(aTrack).mEvictionIndex.mEvictable;
|
||||
}
|
||||
|
||||
TimeUnit
|
||||
TrackBuffersManager::GetNextRandomAccessPoint(TrackInfo::TrackType aTrack,
|
||||
const TimeUnit& aFuzz)
|
||||
|
@ -147,6 +147,7 @@ public:
|
||||
{
|
||||
return mEnded;
|
||||
}
|
||||
uint32_t Evictable(TrackInfo::TrackType aTrack) const;
|
||||
media::TimeUnit Seek(TrackInfo::TrackType aTrack,
|
||||
const media::TimeUnit& aTime,
|
||||
const media::TimeUnit& aFuzz);
|
||||
@ -412,6 +413,16 @@ private:
|
||||
return mAudioTracks;
|
||||
}
|
||||
}
|
||||
const TrackData& GetTracksData(TrackType aTrack) const
|
||||
{
|
||||
switch(aTrack) {
|
||||
case TrackType::kVideoTrack:
|
||||
return mVideoTracks;
|
||||
case TrackType::kAudioTrack:
|
||||
default:
|
||||
return mAudioTracks;
|
||||
}
|
||||
}
|
||||
TrackData mVideoTracks;
|
||||
TrackData mAudioTracks;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user