Skip to content

azu/VideoPlaybackQuality-polyfill

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

VideoPlaybackQuality-polyfill

A polyfill/ponyfill for HTMLVideoElement.prototype.getVideoPlaybackQuality().

HTMLVideoElement.prototype.getVideoPlaybackQuality() return a VideoPlaybackQuality object.

For more details, see Media Playback Quality

example

Install

Install with npm:

npm install videoplaybackquality

Usage

Polyfill

require("videoplaybackquality/polyfill");
// usage
var video = document.getElementById("js-video");
console.log(video.getVideoPlaybackQuality());

Use as a module(Ponyfill)

const getVideoPlaybackQuality = require("videoplaybackquality").getVideoPlaybackQuality;
// usage
var video = document.getElementById("js-video");
getVideoPlaybackQuality(video);
/*
{
        'droppedVideoFrames': 0,
        'totalVideoFrames': 0,
        'corruptedVideoFrames': 0,
        'creationTime': 0,
        'totalFrameDelay': 0
}
*

Example

See example/

Notes 📝

VideoPlaybackQuality is connected each Video source. In other words, It will be reset when replace exist video source with new source.

Limitation

WebKit can not get complete VideoPlaybackQuality.

This polyfill return following data:

{
        'droppedVideoFrames': webKitVideo.webkitDroppedFrameCount,
        'totalVideoFrames': webKitVideo.webkitDecodedFrameCount,
        // Not provided by this polyfill:
        'corruptedVideoFrames': 0,
        'creationTime': NaN,
        'totalFrameDelay': 0
}

Changelog

See Releases page.

Running tests

Install devDependencies and Run npm test:

npm i -d && npm test

Contributing

Pull requests and stars are always welcome.

For bugs and feature requests, please create an issue.

  1. Fork it!
  2. Create your feature branch: git checkout -b my-new-feature
  3. Commit your changes: git commit -am 'Add some feature'
  4. Push to the branch: git push origin my-new-feature
  5. Submit a pull request :D

Author

License

MIT © azu