aboutsummaryrefslogtreecommitdiff
path: root/src/components/video_attachment/video_attachment.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/components/video_attachment/video_attachment.js')
-rw-r--r--src/components/video_attachment/video_attachment.js31
1 files changed, 31 insertions, 0 deletions
diff --git a/src/components/video_attachment/video_attachment.js b/src/components/video_attachment/video_attachment.js
new file mode 100644
index 00000000..76b19a02
--- /dev/null
+++ b/src/components/video_attachment/video_attachment.js
@@ -0,0 +1,31 @@
+
+const VideoAttachment = {
+ props: ['attachment', 'controls'],
+ data () {
+ return {
+ loopVideo: this.$store.state.config.loopVideo
+ }
+ },
+ methods: {
+ onVideoDataLoad (e) {
+ const target = e.srcElement || e.target
+ if (typeof target.webkitAudioDecodedByteCount !== 'undefined') {
+ // non-zero if video has audio track
+ if (target.webkitAudioDecodedByteCount > 0) {
+ this.loopVideo = this.loopVideo && !this.$store.state.config.loopVideoSilentOnly
+ }
+ } else if (typeof target.mozHasAudio !== 'undefined') {
+ // true if video has audio track
+ if (target.mozHasAudio) {
+ this.loopVideo = this.loopVideo && !this.$store.state.config.loopVideoSilentOnly
+ }
+ } else if (typeof target.audioTracks !== 'undefined') {
+ if (target.audioTracks.length > 0) {
+ this.loopVideo = this.loopVideo && !this.$store.state.config.loopVideoSilentOnly
+ }
+ }
+ }
+ }
+}
+
+export default VideoAttachment