--- a/dom/media/MediaFormatReader.cpp
+++ b/dom/media/MediaFormatReader.cpp
@@ -2384,31 +2384,33 @@ MediaFormatReader::Update(TrackType aTra
// We can't recover from this error.
NotifyError(aTrack, NS_ERROR_DOM_MEDIA_FATAL_ERR);
}
return;
}
bool needInput = NeedInput(decoder);
- LOGV(
- "Update(%s) ni=%d no=%d in:%" PRIu64 " out:%" PRIu64
- " qs=%u decoding:%d flushing:%d desc:%s pending:%u waiting:%d sid:%u",
- TrackTypeToStr(aTrack),
- needInput,
- needOutput,
- decoder.mNumSamplesInput,
- decoder.mNumSamplesOutput,
- uint32_t(size_t(decoder.mSizeOfQueue)),
- decoder.mDecodeRequest.Exists(),
- decoder.mFlushing,
- decoder.mDescription,
- uint32_t(decoder.mOutput.Length()),
- decoder.mWaitingForData,
- decoder.mLastStreamSourceID);
+ LOGV("Update(%s) ni=%d no=%d in:%" PRIu64 " out:%" PRIu64
+ " qs=%u decoding:%d flushing:%d desc:%s pending:%u waiting:%d eos:%d "
+ "ds:%d sid:%u",
+ TrackTypeToStr(aTrack),
+ needInput,
+ needOutput,
+ decoder.mNumSamplesInput,
+ decoder.mNumSamplesOutput,
+ uint32_t(size_t(decoder.mSizeOfQueue)),
+ decoder.mDecodeRequest.Exists(),
+ decoder.mFlushing,
+ decoder.mDescription,
+ uint32_t(decoder.mOutput.Length()),
+ decoder.mWaitingForData,
+ decoder.mDemuxEOS,
+ int32_t(decoder.mDrainState),
+ decoder.mLastStreamSourceID);
if ((decoder.mWaitingForData
&& (!decoder.mTimeThreshold || decoder.mTimeThreshold.ref().mWaiting))
|| (decoder.mWaitingForKey && decoder.mDecodeRequest.Exists())) {
// Nothing more we can do at present.
LOGV("Still waiting for data or key.");
return;
}
@@ -3068,61 +3070,65 @@ MediaFormatReader::GetMozDebugReaderData
result += nsPrintfCString("Audio Decoder: %s\n", audioName);
result += nsPrintfCString("Audio Frames Decoded: %" PRIu64 "\n",
mAudio.mNumSamplesOutputTotal);
if (HasAudio()) {
result += nsPrintfCString(
"Audio State: ni=%d no=%d wp=%d demuxr=%d demuxq=%u decoder=%d tt=%.1f "
"tths=%d in=%" PRIu64 " out=%" PRIu64
- " qs=%u pending=%u wfd=%d wfk=%d sid=%u\n",
+ " qs=%u pending=%u wfd=%d eos=%d ds=%d wfk=%d sid=%u\n",
NeedInput(mAudio),
mAudio.HasPromise(),
!mAudio.mWaitingPromise.IsEmpty(),
mAudio.mDemuxRequest.Exists(),
uint32_t(mAudio.mQueuedSamples.Length()),
mAudio.mDecodeRequest.Exists(),
mAudio.mTimeThreshold ? mAudio.mTimeThreshold.ref().Time().ToSeconds()
: -1.0,
mAudio.mTimeThreshold ? mAudio.mTimeThreshold.ref().mHasSeeked : -1,
mAudio.mNumSamplesInput,
mAudio.mNumSamplesOutput,
unsigned(size_t(mAudio.mSizeOfQueue)),
unsigned(mAudio.mOutput.Length()),
mAudio.mWaitingForData,
+ mAudio.mDemuxEOS,
+ int32_t(mAudio.mDrainState),
mAudio.mWaitingForKey,
mAudio.mLastStreamSourceID);
}
result += nsPrintfCString("Video Decoder: %s\n", videoName);
result +=
nsPrintfCString("Hardware Video Decoding: %s\n",
VideoIsHardwareAccelerated() ? "enabled" : "disabled");
result +=
nsPrintfCString("Video Frames Decoded: %" PRIu64 " (skipped=%" PRIu64 ")\n",
mVideo.mNumSamplesOutputTotal,
mVideo.mNumSamplesSkippedTotal);
if (HasVideo()) {
result += nsPrintfCString(
"Video State: ni=%d no=%d wp=%d demuxr=%d demuxq=%u decoder=%d tt=%.1f "
"tths=%d in=%" PRIu64 " out=%" PRIu64
- " qs=%u pending:%u wfd=%d wfk=%d sid=%u\n",
+ " qs=%u pending:%u wfd=%d eos=%d ds=%d wfk=%d sid=%u\n",
NeedInput(mVideo),
mVideo.HasPromise(),
!mVideo.mWaitingPromise.IsEmpty(),
mVideo.mDemuxRequest.Exists(),
uint32_t(mVideo.mQueuedSamples.Length()),
mVideo.mDecodeRequest.Exists(),
mVideo.mTimeThreshold ? mVideo.mTimeThreshold.ref().Time().ToSeconds()
: -1.0,
mVideo.mTimeThreshold ? mVideo.mTimeThreshold.ref().mHasSeeked : -1,
mVideo.mNumSamplesInput,
mVideo.mNumSamplesOutput,
unsigned(size_t(mVideo.mSizeOfQueue)),
unsigned(mVideo.mOutput.Length()),
mVideo.mWaitingForData,
+ mVideo.mDemuxEOS,
+ int32_t(mVideo.mDrainState),
mVideo.mWaitingForKey,
mVideo.mLastStreamSourceID);
}
aString += result;
}
void
MediaFormatReader::SetVideoNullDecode(bool aIsNullDecode)