Make an attempt to follow the rules on auto play videos.

Browsers have stopped allowing auto play videos.  The documented solution
is to mute your video.  This patch mutes our videos and also attempts to
start playing if the auto play does not fire.

Acked-by: Frediano Ziglio <fziglio@redhat.com>
This commit is contained in:
Jeremy White 2019-12-31 10:50:32 -06:00 committed by Frediano Ziglio
parent 2c36a2474b
commit e2dec1cea4

View File

@ -559,6 +559,7 @@ SpiceDisplayConn.prototype.process_channel_message = function(msg)
var v = document.createElement("video");
v.src = window.URL.createObjectURL(media);
v.setAttribute('muted', true);
v.setAttribute('autoplay', true);
v.setAttribute('width', m.stream_width);
v.setAttribute('height', m.stream_height);
@ -1146,6 +1147,10 @@ function handle_append_video_buffer_done(e)
stream.video.currentTime = stream.video.buffered.start(stream.video.buffered.length - 1);
}
/* Modern browsers try not to auto play video. */
if (this.stream.video.paused && this.stream.video.readyState >= 2)
var promise = this.stream.video.play();
if (Utils.STREAM_DEBUG > 1)
console.log(stream.video.currentTime + ":id " + stream.id + " updateend " + Utils.dump_media_element(stream.video));
}