Bug 855130 - Implement HTMLVideoElement's VideoPlaybackQuality (from Media Source Extensions spec). r=roc

---
 content/html/content/public/HTMLVideoElement.h |  4 ++
 content/html/content/src/HTMLVideoElement.cpp  | 27 ++++++++++
 content/media/MediaDecoder.h                   | 17 +++++++
 content/media/MediaDecoderStateMachine.cpp     |  6 ++-
 content/media/VideoPlaybackQuality.cpp         | 53 ++++++++++++++++++++
 content/media/VideoPlaybackQuality.h           | 68 ++++++++++++++++++++++++++
 content/media/moz.build                        |  2 +
 dom/base/moz.build                             |  2 +
 dom/bindings/Bindings.conf                     |  4 ++
 dom/webidl/HTMLVideoElement.webidl             |  6 +++
 dom/webidl/VideoPlaybackQuality.webidl         | 20 ++++++++
 dom/webidl/WebIDL.mk                           |  1 +
 12 files changed, 209 insertions(+), 1 deletion(-)
 create mode 100644 content/media/VideoPlaybackQuality.cpp
 create mode 100644 content/media/VideoPlaybackQuality.h
 create mode 100644 dom/webidl/VideoPlaybackQuality.webidl
This commit is contained in:
Matthew Gregan
2013-07-02 15:46:48 +12:00
parent 39f70222dc
commit 10bfe12d1c
12 changed files with 209 additions and 1 deletions

View File

@@ -2535,8 +2535,12 @@ void MediaDecoderStateMachine::AdvanceFrame()
ScheduleStateMachine();
return;
}
mDecoder->GetFrameStatistics().NotifyPresentedFrame();
MediaDecoder::FrameStatistics& frameStats = mDecoder->GetFrameStatistics();
frameStats.NotifyPresentedFrame();
remainingTime = currentFrame->mEndTime - clock_time;
int64_t frameDuration = currentFrame->mEndTime - currentFrame->mTime;
double displayError = fabs(double(frameDuration - remainingTime) / USECS_PER_S);
frameStats.NotifyPlaybackJitter(displayError);
currentFrame = nullptr;
}