import { EMPTY_REMOTE, EMPTY_TEXT_TRACKS, EMPTY_TIME_RANGES } from "./constants.js"; import { isFunction, isObject, isUndefined } from "@videojs/utils/predicate"; //#region src/core/predicate.ts function hasMetadata(media) { return media.readyState >= 1; } function isMediaPauseCapable(value) { if (!isObject(value)) return false; const media = value; return !isUndefined(media.paused) && !isUndefined(media.ended) && isFunction(media.pause); } function isMediaSeekCapable(value) { if (!isObject(value)) return false; const media = value; return !isUndefined(media.currentTime) && !isUndefined(media.duration) && !isUndefined(media.seeking); } function isMediaSourceCapable(value) { if (!isObject(value)) return false; const media = value; return !isUndefined(media.src) && !isUndefined(media.currentSrc) && !isUndefined(media.readyState) && isFunction(media.load); } function isMediaVolumeCapable(value) { if (!isObject(value)) return false; const media = value; return !isUndefined(media.volume) && !isUndefined(media.muted); } function isMediaPlaybackRateCapable(value) { if (!isObject(value)) return false; return !isUndefined(value.playbackRate); } function isMediaBufferCapable(value) { if (!isObject(value)) return false; const media = value; return !isUndefined(media.buffered) && media.buffered !== EMPTY_TIME_RANGES && !isUndefined(media.seekable) && media.seekable !== EMPTY_TIME_RANGES; } function isMediaErrorCapable(value) { if (!isObject(value)) return false; return !isUndefined(value.error); } function isMediaTextTrackCapable(value) { if (!isObject(value)) return false; const media = value; return !isUndefined(media.textTracks) && media.textTracks !== EMPTY_TEXT_TRACKS; } function isMediaVideoRenditionCapable(value) { if (!isObject(value)) return false; return !isUndefined(value.videoRenditions); } function isMediaAudioTrackCapable(value) { if (!isObject(value)) return false; return !isUndefined(value.audioTracks); } function isMediaVideoDimensionsCapable(value) { if (!isObject(value)) return false; const media = value; return !isUndefined(media.videoWidth) && !isUndefined(media.videoHeight); } function isMediaRemotePlaybackCapable(value) { if (!isObject(value)) return false; const media = value; return isObject(media.remote) && media.remote !== EMPTY_REMOTE; } function isMediaStreamTypeCapable(value) { if (!isObject(value)) return false; return !isUndefined(value.streamType); } function isMediaLiveCapable(value) { if (!isObject(value)) return false; const media = value; return !isUndefined(media.liveEdgeStart) && !isUndefined(media.targetLiveWindow); } function isQuerySelectorAllCapable(value) { return isObject(value) && "querySelectorAll" in value && isFunction(value.querySelectorAll); } //#endregion export { hasMetadata, isMediaAudioTrackCapable, isMediaBufferCapable, isMediaErrorCapable, isMediaLiveCapable, isMediaPauseCapable, isMediaPlaybackRateCapable, isMediaRemotePlaybackCapable, isMediaSeekCapable, isMediaSourceCapable, isMediaStreamTypeCapable, isMediaTextTrackCapable, isMediaVideoDimensionsCapable, isMediaVideoRenditionCapable, isMediaVolumeCapable, isQuerySelectorAllCapable }; //# sourceMappingURL=predicate.js.map