"use strict";var _types=require("../types"),_utils=require("./utils"),_constant=require("../../../utils/constant"),_constants=require("../constants"),_utils2=require("../../../utils/utils"),_backgroundPlayback=require("../../../utils/background-playback"),_excluded=["shouldEmitRepeatedWaiting"];function _typeof(e){return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_typeof(e)}function ownKeys(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),i.push.apply(i,n)}return i}function _objectSpread(e){for(var t=1;t=0||Object.prototype.propertyIsEnumerable.call(e,i)&&(o[i]=e[i])}return o}function _objectWithoutPropertiesLoose(e,t){if(null==e)return{};var i,n,o={},r=Object.keys(e);for(n=0;n=0||(o[i]=e[i]);return o}var VIDEO_CONTEXT_NO_ARG_METHODS=new Set(["play","pause","stop","exitFullScreen","exitPictureInPicture"]),VIDEO_INTERNAL_RETRY_MAX=3,PAUSE_SOURCE={API:"api",USER:"user",NATIVE:"native"};Component({options:{multipleSlots:!0},properties:{engine:{type:String,value:_constant.BUILD_VIDEO_ONLY?"video":"live-player"},src:{type:String,value:""},objectFit:{type:String,value:"contain"},pictureInPictureMode:{type:Array,value:["push","pop"]},minCache:{type:Number,value:5},maxCache:{type:Number,value:10},successCode:{type:Number,value:_types.LiveStateCode.SUCCESS},showControls:{type:Boolean,value:!0},showPlayControl:{type:Boolean,value:!0},showFullscreenControl:{type:Boolean,value:!0}},data:{isPlaying:!1,isFullscreen:!1,controlsVisible:!0,isLoading:!1},observers:{engine:function(e,t){this._onEngineChange(e,t)},src:function(e,t){t!==e&&(this._resetPlaybackFlags(),this.setData({isLoading:!!e}))},showControls:function(e){if(!e)return this._clearControlsAutoHideTimer(),void(0,_utils2.setDataIfChanged)(this,{controlsVisible:!1});this._showControlsAndScheduleHide()},isPlaying:function(e,t){e!==t&&this._showControlsAndScheduleHide()}},lifetimes:{ready:function(){this._resetPlaybackFlags(),this._ensureContexts(this._getEngine()),this.data.showControls?this._showControlsAndScheduleHide():this.setData({controlsVisible:!1})},detached:function(){try{var e,t;null===(e=this.livePlayerContext)||void 0===e||null===(t=e.stop)||void 0===t||t.call(e)}catch(e){}try{var i,n;null===(i=this.videoContext)||void 0===i||null===(n=i.stop)||void 0===n||n.call(i)}catch(e){}this.livePlayerContext=null,this.videoContext=null,this._clearControlsAutoHideTimer(),this._clearWaitingEndTimer()}},methods:{_resetPlaybackFlags:function(){this._firstFrameEmitted=!1,this._videoAutoplayAttemptedSrc=null,this._videoInternalRetryCount=0,this._nextPauseSource="",this._isWaiting=!1,this._waitingSource="",this._clearWaitingEndTimer()},_enterWaiting:function(e,t){var i=t||{},n=i.shouldEmitRepeatedWaiting,o=_objectWithoutProperties(i,_excluded);return this._isWaiting?(n&&this._triggerEvent("waiting",e,_objectSpread({},o)),!1):(this._isWaiting=!0,this._waitingSource=(null==o?void 0:o.source)||"",this._triggerEvent("waiting",e,_objectSpread({},o)),!0)},_exitWaiting:function(e,t){if(!this._isWaiting)return!1;this._clearWaitingEndTimer();var i=this._waitingSource||"";return this._isWaiting=!1,this._waitingSource="",this._triggerEvent("waitingend",e,_objectSpread(_objectSpread({},t||{}),{},{waitingSource:i})),!0},_clearWaitingState:function(){this._isWaiting=!1,this._waitingSource="",this._clearWaitingEndTimer()},_clearWaitingEndTimer:function(){this._waitingEndTimer&&(clearTimeout(this._waitingEndTimer),this._waitingEndTimer=null)},_scheduleWaitingEndFallback:function(e){var t=this;"video"===this._getEngine()&&(this._clearWaitingEndTimer(),this._waitingEndTimer=setTimeout(function(){t._waitingEndTimer=null,t._exitWaiting(e,{source:"waiting_timeout",synthetic:!0})},_constants.VIDEO_WAITING_END_TIMEOUT_MS))},_clearControlsAutoHideTimer:function(){this._controlsAutoHideTimer&&(clearTimeout(this._controlsAutoHideTimer),this._controlsAutoHideTimer=null)},_scheduleControlsAutoHide:function(){var e=this;this._clearControlsAutoHideTimer(),this.data.isPlaying&&(this._controlsAutoHideTimer=setTimeout(function(){e.data.showControls&&e.data.isPlaying&&(0,_utils2.setDataIfChanged)(e,{controlsVisible:!1})},5e3))},_showControlsAndScheduleHide:function(){this.data.showControls&&((0,_utils2.setDataIfChanged)(this,{controlsVisible:!0}),this.data.isPlaying?this._scheduleControlsAutoHide():this._clearControlsAutoHideTimer())},_handleTapLayerTap:function(){this._showControlsAndScheduleHide()},_handleControlsTap:function(){this._showControlsAndScheduleHide()},_triggerEvent:function(e,t,i){var n=this._getEngine(),o=this.data.src||"",r=t&&"object"===_typeof(t)?t:{};this.triggerEvent(e,_objectSpread(_objectSpread({},i||{}),{},{engine:n,src:o,raw:r}))},_markNextPauseEvent:function(e){this._nextPauseSource=e||PAUSE_SOURCE.API},_consumeNextPauseSource:function(){var e=this._nextPauseSource||PAUSE_SOURCE.NATIVE;return this._nextPauseSource="",e},_emitFirstFrame:function(e,t){this._firstFrameEmitted||(this._firstFrameEmitted=!0,this._exitWaiting(e,{source:"firstframe"}),this.setData({isLoading:!1}),this._triggerEvent("firstframe",e,t))},call:function(e){if(e&&"string"==typeof e){for(var t=this._getEngine(),i=arguments.length,n=new Array(i>1?i-1:0),o=1;o1?n-1:0),r=1;r1?n-1:0),r=1;r