From 5fdab3af76d44be9be94ad7aa7595a2137b89572 Mon Sep 17 00:00:00 2001
From: Brian Peiris <brianpeiris@gmail.com>
Date: Mon, 12 Mar 2018 17:21:59 -0700
Subject: [PATCH] Attempt fix for Safari on iOS

---
 src/components/networked-video-player.css | 7 ++++---
 src/components/networked-video-player.js  | 4 +++-
 2 files changed, 7 insertions(+), 4 deletions(-)

diff --git a/src/components/networked-video-player.css b/src/components/networked-video-player.css
index e68593958..93bbacfe8 100644
--- a/src/components/networked-video-player.css
+++ b/src/components/networked-video-player.css
@@ -1,12 +1,13 @@
 :local(.video) {
-  height: 100px;
+  /* 1x1px so that Safari on iOS allows us to autoplay the video */
+  width: 1px; height: 1px; /* toggle to show debug video elements */
   background: black;
-  margin: 5px;
 }
 
 :local(.container) {
     position: absolute;
     bottom: 0;
     display: flex;
-    visibility: hidden; /* toggle to show debug video elements */
+    /* 1x1px so that Safari on iOS allows us to autoplay the video */
+    width: 1px; height: 1px; /* toggle to show debug video elements */
 }
diff --git a/src/components/networked-video-player.js b/src/components/networked-video-player.js
index 1f8b1da3e..a8c652642 100644
--- a/src/components/networked-video-player.js
+++ b/src/components/networked-video-player.js
@@ -32,10 +32,12 @@ AFRAME.registerComponent("networked-video-player", {
 
     const v = document.createElement("video");
     v.id = `nvp-video-${ownerId}`;
+    // muted and autoplay so that more restrictive browsers (e.g. Safari on iOS) will actually play the video.
+    v.muted = true;
+    v.autoplay = true;
     v.classList.add(styles.video);
     v.srcObject = new MediaStream(stream.getVideoTracks()); // We only want the video track so make a new MediaStream
     container.appendChild(v);
-    v.play();
 
     this.videoEl = v;
 
-- 
GitLab