When macOS Safari 15 (thru at least 15.2) requests and receives permission to access only the
camera (no audio/microphone; { audio: false, video: true }
as media constraints), and
when a poster
attribute is used on the <video>
element for
displaying the resulting video stream, the video typically does not display at all. And if it does
display, it remains frozen on the first frame, despite the inclusion of both the
muted
and autoplay
attributes on the <video>
element.
By navigating away from the browser window (e.g., by switching to another virtual desktop screen) and returning, the video does appear and will be playing as expected.
However, by either:
poster
attribute from the <video>
element, or
{ audio: true, video: true }
as media constraints),
the resulting video stream displays and autoplays in Safari 15 as expected. Links to examples and source code below.
audio: false
in media constraints and the poster
attribute:
live example, source code.
Result: frozen video or no video at all in macOS Safari 15.
audio: false
in media constraints but without the
poster
attribute:
live example, source code.
Result: autoplaying video in macOS Safari 15.
audio: true
in media constraints and the poster
attribute:
live example, source code.
Result: autoplaying video in macOS Safari 15.