1import{r as s,j as d}from"./index-B-8CDiEL.js";import{d as i}from"./locales-CLfoX5fO.js";import{l as a}from"./connect-BJograE-.js";import"./loadable-DdNr4yeD.js";import"./Error-BjakEj1u.js";import"./LoadingCircle-BR4quEBf.js";import"./VideoPageQuery-DhRteSV-.js";import"./ArticleCardContent-BVliUN3a.js";import"./molecules-intl-DY7dCEho.js";import"./PublisherDropzone-intl-CFITanVw.js";const h=(r,e)=>Array.prototype.find.call(r,e),c=r=>r.mode==="showing"||r.mode==="hidden";class y extends s.Component{constructor(){super(...arguments),this.videoTracks=[],this.activeTextTrack=null,this.onLoadedMetadata=()=>{const{onReady:e,onLoadedMetadata:t}=this.props;this.video.audioTracks?.addEventListener("change",this.onAudioTracksChange),this.video.textTracks.addEventListener("change",this.onTextTracksChange),e?.(),t?.({currentTarget:this.video})},this.onLoadedData=()=>{const{onVideoTracksUpdated:e,onAudioTracksUpdated:t,onAudioTrackChanged:o,videoLang:n}=this.props;n&&this.loadAudioTrack(n),e?.(this.videoTracks),t?.(this.audioTracks),o?.(this.audioTrack),this.onTextTracksChange()},this.onAudioTracksChange=()=>{const{onAudioTracksUpdated:e,onAudioTrackChanged:t}=this.props;e?.(this.audioTracks),t?.(this.audioTrack)},this.onTimeUpdate=e=>{const{onTimeUpdate:t,onBufferingChanged:o}=this.props;t?.(e),o?.(!1)},this.onTextTracksChange=()=>{this.activeTextTrack=null;for(const e of this.video.textTracks)if(c(e)){this.activeTextTrack=e;break}a.log("Text track changed:",this.activeTextTrack),this.props.onTextTrackChanged?.(this.activeTextTrack),this.props.onTextTracksUpdated?.(this.textTracks)},this.onPresentationModeChange=()=>{a.log("Changing Safari presentation mode:",this.video.webkitPresentationMode),this.activeTextTrack&&this.enableTextTrack(this.activeTextTrack)},this.onVideoError=e=>{const t=e.currentTarget.error;a.error("Error in video element:",t)},this.onBufferingEnded=()=>{this.props.onBufferingChanged?.(!1)},this.refVideo=e=>{this.video=e}}enableTextTrack(e){e.mode=this.video.webkitPresentationMode==="inline"?"hidden":"showing"}setup(){a.log("Native HLS player"),this.video.addEventListener("webkitpresentationmodechanged",this.onPresentationModeChange)}destroy(){this.video.audioTracks?.removeEventListener("change",this.onAudioTracksChange),this.video.textTracks.removeEventListener("change",this.onTextTracksChange),this.video.removeEventListener("webkitpresentationmodechanged",this.onPresentationModeChange)}componentDidMount(){this.setup();const{refPlayer:e}=this.props;e&&(typeof e=="function"?e(this):e.current=this)}componentWillUnmount(){const{refPlayer:e}=this.props;e&&(typeof e=="function"?e(null):e.current=null),this.destroy()}async play(){this.video.duration===1/0?(this.video.autoplay=!0,this.video.load()):await this.video.play()}loadVideoTrack(){}loadAudioTrackById(e){if(!this.video.audioTracks?.length)return;a.log("Enabling audio track with id",e);let t=!1;for(const o of this.video.audioTracks)o.enabled=o.id===e,t=t||o.enabled;t||a.log("No audio track found with id",e)}loadAudioTrack(e){if(!this.video.audioTracks?.length)return;a.log("Enabling audio track with language code",e);let t=!1;for(const o of this.video.audioTracks)o.enabled=i(o.language)===e,t=t||o.enabled;t||a.log("No audio track found with language code",e)}loadTextTrack(e){if(this.video.textTracks){this.activeTextTrack=null;for(const t of this.video.textTracks)i(t.language)===e?(a.log("Activating",t),this.activeTextTrack=t,this.enableTextTrack(t)):t.mode="disabled"}}get audioTrack(){if(!this.video.audioTracks)return"und";const e=h(this.video.audioTracks,t=>t.enabled);return e?i(e.language):"und"}get audioTracks(){return this.video.audioTracks?Array.from(this.video.audioTracks,e=>i(e.language)):[]}get textTrack(){return this.activeTextTrack?i(this.activeTextTrack.language):null}get textTracks(){return this.video.textTracks?Array.from(this.video.textTracks,e=>i(e.language)):[]}render(){return d.jsx("video",{ref:this.refVideo,tabIndex:-1,playsInline:!0,src:this.props.source,preload:"metadata",className:this.props.className,controls:this.props.controls,poster:this.props.poster,autoPlay:this.props.autoPlay,onError:this.onVideoError,onLoadedMetadata:this.onLoadedMetadata,onLoadedData:this.onLoadedData,onDurationChange:this.props.onDurationChange,onPlaying:this.props.onPlaying,onPause:this.props.onPause,onEnded:this.props.onEnded,onProgress:this.props.onProgress,onTimeUpdate:this.onTimeUpdate,onVolumeChange:this.props.onVolumeChange,onWaiting:this.props.onWaiting,onRateChange:this.props.onRateChange,onCanPlay:this.onBufferingEnded,onCanPlayThrough:this.onBufferingEnded})}}export{y as default};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.