<template>
  <video v-if="videoType == 'mp4'" controls muted class="video-stream" v-bind="$attrs" ref="videoContainerRef">
    <source :src="url" type="video/mp4">
  </video>
  <video v-else controls autoplay muted class="video-stream" v-bind="$attrs" ref="videoContainerRef" />
</template>

<script>
import { HttpLivePlayer, openLiveVideo } from "./videoStream.js"

export default {
  name: 'Video',
  props: {
    camId: {
      type: String,
      default: null
    },
    pileNum: {
      type: String,
      default: null
    },
    url: {
      type: String,
      default: null
    },
    videoType: {
      type: String,
      default: 'flv'
    },
    rangeIndex: {
      default: 0
    }
  },
  async mounted() {
    // setTimeout(() => {
    //   this.$nextTick(() => {
    if (this.videoType == 'flv') {
      // const player = await openLiveVideo(this.$refs.videoContainerRef, { camId: this.camId, url: this.url, pileNum: this.pileNum })
      const player = new HttpLivePlayer(this.$refs.videoContainerRef, { camId: this.camId, url: this.url, pileNum: this.pileNum, rangeIndex: this.rangeIndex });

      this.$once("hook:beforeDestroy", () => player?.destroy());
    }
    //   })
    // })

  }
}
</script>

<style lang='scss' scoped>
.video-stream {
  background-color: #000;
}
</style>
