Feature: Mux player uses a new HTML based templating syntax as preparation for
Media Chrome theme compatibility which will give developers an easy way to change
the look and feel of the player.
Feature: Allow <mux-player> web component to receive any Mux Data metadata-* fields, beyond metadata-video-title, metdata-video-id and metadata-viewer-user-id, now things like metadata-sub-property-id and any other Mux Data fields can be passed with this syntax. Note the muxPlayer.metadata = { video_title: "My Title", sub_property_id: "Sub prop 123" } syntax also still works.
Fix: Prevent the player of duplicate rendering the top-level internal elements in edge cases.
Improvement: Improve time range behavior; add preview time code, smooth playhead progress and fine seek control, keep preview thumb in player bounding box.
Improvement: Add Mux flavored cast icon.
Feature: Add defaultMuted and defaultPlaybackRate properties.
Feature: Add textTracks property, addTextTrack() and removeTextTrack() methods.
Update: Mux Player (and all Mux Elements) are now published under the @mux NPM scope. Please update @mux/mux-player references to @mux/mux-player as of 0.1.0-beta.21.
Fix: Some recoverable errors were incorrectly being sent to Mux Data -- this caused an inflated playback error percentage metric in your Mux Data dashboard. This incorrect error tracking was especially prevalent on live streams. We fixed this after it was discovered at TMI.
Improvement: Tweaked a few Hls.js configuration settings for live and low-latency live based on some recent testing (backed up by Mux Data, of course). This is the kind of thing the team working on Mux Player worries about so that you don't have to!
Fix: For live streams on non-Safari browsers the red (live) / gray (behind live) dot indicator was being a little too aggressive about switching to gray, which indicates the viewer is behind the live edge. This is fixed now, you shouldn't fall back from the live edge unless you pause or rebuffer.
Important fix for fullscreen. In previous versions if you entered fullscreen you would get stuck there
Improve interaction so that clicks (not taps) anywhere on the video player will play/pause. Many people expected and asked for this behavior, so now you have it.
Improvement: The progress bar now shows above the controls, it's cleaner 💅🏼
Fix: when changing playback-id on an existing mux-player instance we had some leftover state around
Fix: full screen was incorrectly using the controls layout depending on the size of the player before it entered full screen. That meant if the player was small and you went full screen you still saw the small controls. Bad!
Your beautiful errors will now flow nicely into Mux Data. Your Mux Data errors dashboard just got a whole lot more useful. This is a big one.
Mux Player is now implemented as a Media Chrome "theme" under the hood. Laying some groundwork for some exciting Media Chrome things to come
Fix for adding event listeners on mux-player, if mux-player JavaScript was loaded after your HTML, events wouldn't get registered. Sorry about that -- fixed now. And we have tests to make sure we don't accidentally introduce a regression down the road.
The .hls property on mux-player is super-secret and should not be used unless you are a serious professional. We make no guarantee and your warranty is void if you use this property. To reflect this stance, it has been renamed to _hls.
Fixed some seek to live behavior
When the error dialog is open we no longer steal the focus of the document. Much better.
Fix: clear out some state that was hanging around when playback-id is changed on an existing Mux Player instance, and add some test coverage for this sort of thing
Fix: mux-player web component metadata- attributes were not always propagating down
Fix: prevent non-fatal Hls.js errors from propagating and causing error states
Added descriptive error handling. This is important so that you and your viewers are able to easily and quickly understand why a video is not playing. Is your local network connection offline? Is the signed URL expired? Maybe you mixed up PlaybackIDs and you have the wrong signed URL? Is it a problem specific to the media on your device? Often times video-related playback errors are cryptic and difficult to understand the root cause of. We put extra effort into this and we hope it helps you when things go wrong 💖.
Fix conditional rendering bug when attributes are removed sometimes the template wasn't updating.
Extended autoplay options autoplay, autoplay="muted" and autoplay="any" are all options now. See docs above for details.
Started tracking Player Startup Time with Mux Data. The mo' QoE data we can get, the better!
Changed the behavior of the time display, it now defaults to ascending time (current time) and on click will toggle to show remaining time. Previously it showed only remaining time and that was confusing.
Fixed a bug related to storyboards on the thumbnails track when the underlying source changed. This should have impacted exactly 0 developers but we wanted to make sure to squash it anyway. If you somehow ran into this bug then you're welcome.