playable
Version:
Video player based on HTML5Video
34 lines • 1.47 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.getAt = void 0;
function normalizeFramesQuality(framesCount, quality, neededFrame) {
var framesInSprite = quality.framesInSprite.vert * quality.framesInSprite.horz;
var frameNumberInSprite = neededFrame % framesInSprite;
var spriteNumber = Math.floor(neededFrame / framesInSprite);
var horzPositionInSprite = frameNumberInSprite % quality.framesInSprite.horz;
var vertPositionInSprite = Math.floor(frameNumberInSprite / quality.framesInSprite.vert);
var url = quality.spriteUrlMask.replace('%d', spriteNumber.toString());
return {
frameSize: quality.frameSize,
framesInSprite: (spriteNumber + 1) * framesInSprite <= framesCount
? quality.framesInSprite
: {
horz: quality.framesInSprite.horz,
vert: Math.ceil((framesCount % framesInSprite) / quality.framesInSprite.vert),
},
framePositionInSprite: {
vert: vertPositionInSprite,
horz: horzPositionInSprite,
},
spriteUrl: url,
};
}
function getAt(data, second, duration) {
var framesCount = data.framesCount;
var neededFrame = Math.floor((second * framesCount) / duration);
return data.qualities.map(function (quality) {
return normalizeFramesQuality(framesCount, quality, neededFrame);
});
}
exports.getAt = getAt;
//# sourceMappingURL=adapter.js.map