Changelog
[4.0.0] - 2024-12-10
v4.0.0 includes some changes that might affect your integrations. See migration guide for more information.
Changed
- Improve packaging to allow for smaller bundle sizes.
- Introduced a web components based player.
[3.4.4] - 2024-11-07
Fixed
- Fixed an issue where audio would get distorted and out of sync on Firefox.
[3.4.3] - 2024-08-14
Fixed
- Catch promises from internal usage of play().
[3.4.2] - 2024-07-10
Fixed
- Subtitles now avoid the control bar on supported browsers.
- Fixed an edge case during recovery where a play() request promise wasn't caught.
[3.4.1] - 2024-07-09
Fixed
- Fixed various bugs and improved compatibility for subtitles.
[3.4.0] - 2024-07-05
Changed
- Added initial support for subtitles and captions.
Fixed
- Fixed a bug where picture in picture videos stay on lower resolution than expected.
[3.3.4] - 2024-06-26
Changed
- Video title will now be displayed in native media controls and page title, when using Embeddable player or QoS.
- Added support for disabling play and buffering overlays via Player options.
Fixed
languagesButtonEnabled
Player option now works as expected.- Fixed a bug where multiple calls to unload() would throw an exception.
- Fixed a bug where detaching media element from Vindral would cause an uncaught error.
[3.3.3] - 2024-06-18
Fixed
- fromEntries no longer needs to be polyfilled. Note that we still highly recommend using polyfill for the level of browser support needed.
[3.3.2] - 2024-06-17
Fixed
- findLast no longer needs to be polyfilled
[3.3.1] - 2024-06-04
Fixed
- It is now possible to switch between channels with different video codecs.
[3.3.0] - 2024-05-13
Changed
- Add support for using embed without player UI.
Fixed
- Fixed a bug on Android 10 where unloading would not fully free decoder resources.
[3.2.5] - 2024-04-25
Changed
- Expose enter/exit fullscreen methods in the Player SDK.
Fixed
- Fix an issue where the Vindral instance would sometimes not reconnect properly when returning from background.
- Disable double-click to enter fullscreen when fullscreen is disabled in the Player.
[3.2.4] - 2024-03-11
Fixed
- Fix an issue where the Vindral instance would not work in an iOS WKWebView with an HTML loaded locally.
[3.2.3] - 2024-02-09
Fixed
- Skip AV1 renditions if the device is expected to be unable to render them smoothly.
[3.2.2] - 2024-01-10
Fixed
- Fixed issue where some older devices incorrectly upgraded to a higher quality than they could handle decoding-wise.
[3.2.1] - 2023-11-27
Fixed
- Minor seek/sync improvement.
[3.2.0] - 2023-11-13
Version 3.2.0 brings support for Managed Media Source. This will enable greater quality and performance on iPhone devices with iOS 17.1 and newer, bringing them on par with other devices.
Changed
- Improved video performance on iPhones running 17.1 and later.
- General improvements to fullscreen and picture in picture on iPhones.
- More consistent experience across all platforms.
- Improved user agent reporting.
[3.1.0] - 2023-10-23
Changed
- Added opt-in support for Managed MediaSource introduced in iOS 17.1 with the managedMseEnabled constructor argument.
- Improved seek performance when syncing the player to the target buffer time.
[3.0.8] - 2023-09-22
Fixed
- Fixed an issue where a video in fullscreen mode would stop playing if the video element goes outside the viewport after rotating.
[3.0.7] - 2023-09-21
Fixed
- Fixed an issue where a video in picture in picture mode would stop playing if the video element goes outside the viewport.
- Fixed an issue with fullscreen and picture in picture on iOS 17.
[3.0.6] - 2023-08-24
Changed
- Added support for 8K AV1 playback
Fixed
- Improved Player controls rendering on very small windows sizes (80-320 px width)
[3.0.5] - 2023-06-05
Changed
- Added an overlay while using Google Cast in the Player
Fixed
- Set canvas size to 1x1 during onload
- Improved cooldown algorithm for time drift adjustments
[3.0.4] - 2023-04-26
Fixed
- Fixed an issue where InvalidStateError would be thrown under some circumstances
[3.0.3] - 2023-04-24
Changed
- Improved adaptivity algorithm on slow and jittery connections to allow for faster recovery and higher bitrate when possible
[3.0.2] - 2023-03-30
Fixed
- Fixed an issue where older iOS devices would no be able to exit fullscreen in the embed player
[3.0.1] - 2023-03-17
Fixed
- Export more useful types and consts from the bundle
[3.0.0] - 2023-03-15
v3.0.0 includes some changes that might affect your integrations. See migration guide for more information.
Changed
- Added support for pausing the stream
- Added support for fullscreen on iOS
- Added support for picture in picture on iOS
- Improved wakelock on iOS
- The stream now gets paused based on the operating systems default behaviour
- ~15% smaller bundle size.
- Faster connect time on slower devices
- Sessions are now disconnected after 15s in the background if audio is muted
Fixed
- Fixed an issue during channel switching on iOS where both the current channel and new channel could be heard simultaneously
- Fixed an issue in Safari where the poster would flicker to black just before the stream started
- Fixed a bug where the muted state of the Vindral instance would not reflect the actual state on iOS
- Fixed a bug where double clicking the player controls would trigger fullscreen
[2.3.0] - 2023-01-25
Fixed
- Add support in the Player for maximizing the video in the browser window on iOS devices.
- Fixed an issue where the maxSize would not be respected when ABR is disabled in the wrong order.
[2.2.9] - 2023-01-02
Fixed
- Fixed issue with video area not filling the entire screen on some WebOS and Tizen devices.
- Fixed an incorrect quality limitation that could happen when turning off ABR and setting maxSize after receiving the first play event.
- Missing init segment errors are now handled internally.
[2.2.8] - 2022-11-07
Fixed
- Improve handling of video size changes mid-stream.
- Improve memory management to avoid 1080p playback issues on iOS.
[2.2.7] - 2022-10-27
Fixed
- Improved recovery from media source errors.
[2.2.6] - 2022-10-17
Changed
- Player: Improved look and feel for small player views.
Fixed
- Removed orange border outline being shown on Android TV devices.
[2.2.5] - 2022-10-04
Fixed
- Fixed an issue where stream metadata information (resolution, bitrate, etc) could be faulty after a reconnect if changes to source had occured during disconnected period.
- Fixed bug where quality could be downgraded without reason on iOS during the first few seconds after connection and after inline channel switches.
[2.2.4] - 2022-09-30
Changed
- Session ID is updated every reconnect.
- Client ID has been added to keep a persistent ID.
[2.2.3] - 2022-09-22
Changed
- Added more context information on error telemetry.
Fixed
- Opus decode errors are now handled and reported as telemetry.
[2.2.2] - 2022-09-05
Changed
- Added the
telemetryEnabled
option, which allows for disabling telemetry that is sent from the clients.
[2.2.1] - 2022-08-23
Changed
- Added support for av1 codec.
Fixed
- Corrected minor inconvenience where fullscreen button was disabled by default on Vindral Player GUI.
- Fixed an issue where
maxVideoBitRate
,maxAudioBitRate
, andmaxSize
methods returned target subscription values instead of the actual current values.
[2.2.0] - 2022-08-11
Changed
- Added "channel switch" and "language switch" events that are triggered when the switch has completed.
[2.1.5] - 2022-08-01
Changed
- Added option to enable audio in background on iOS devices.
[2.1.4] - 2022-07-01
Changed
- The error type connection_inactivity is no longer considered an error and is no longer emitted.
Fixed
- Fixed an issue where a "Decode Error" would be triggered on iOS devices.
[2.1.3] - 2022-06-21
Fixed
- Fixed an issue where the Vindral instance would not be fully unloaded after a fatal error.
[2.1.2] - 2022-06-07
Fixed
- Fixed an issue in the grid player where thumbnail only mode would consume more bandwidth than necessary.
[2.1.1] - 2022-05-04
Changed
- Optimized how telemetry is collected and sent.
Fixed
- Fixed a case where audio-only playback would have higher latency than necessary on some devices.
[2.1.0] - 2022-04-29
Changed
- Connection attempt failed is no longer emitted while connecting to a channel that is not live. Instead "is live" is emitted with the value false is emitted.
Fixed
- The picture-in-picture and fullscreen button can now be properly configured using the enabled flags.
- Fixed a case when a tab focus during connection could result in multiple client connections.
- Fixed a case where the client would not successfully reconnect when a network connection is lost and then resumed.
[2.0.26] - 2022-04-20
Added
- The embed player now supports streams with authentication tokens.
Fixed
- A regression where not all telemetry info would be sent from clients.
[2.0.25] - 2022-04-14
Fixed
- Fixed a race condition where "No track context for..." could be logged during a reconnect.
[2.0.24] - 2022-04-07
Added
- Added automatic fallback connection to multiple sites if viewer has peering issues against primary site.
Changed
- Updated Player GUI with a playbutton for enabling audio/video if controls are hidden via configuration.
Fixed
- Fixed issue where refreshed authentication token was not used for reconnects.
- Fixed bug where PiP and Fullscreen buttons could not be disabled in Player.
[2.0.23] - 2022-03-28
Changed
- Connection errors are now reported from clients that never successfully connect to a stream.
Fixed
- Improve support for older browsers that do not support .getVideoPlaybackQuality().
[2.0.22] - 2022-03-15
Changed
- The embed player now scales down for smaller screens.
[2.0.21] - 2022-03-11
Fixed
- Fixed issue where the Cast Receiver ID needed to be set when creating a custom CastSender. Now the default works correctly.
[2.0.20] - 2022-03-04
Added
- Support for dynamic buffer size (via setting minBufferTime and maxBufferTime).
- Support for WakeLock on iOS.
- Support for setting
poster
property on core, leading to a pre-playback image being rendered. This is defaulted to showing a live thumbnail of the stream. Turn this off viaposter: false
when instantiating Vindral.
Fixed
- Improved video rendering performance on older iOS devices.
[2.0.19] - 2022-02-15
Fixed
- Fixed issue where viewer could get disconnected due to inactivity when browser tab was in background.
- Fixed a rare case where older iOS devices would downgrade quality more often than needed.
- Fixed a regression on Vindral Player where controls would be visible even when configured to be hidden.
[2.0.18] - 2022-01-28
Changed
- Added support for showing a poster image while stream loads.
Fixed
- Fixed a regression introduced in 2.0.17 that could cause an unnecessary rendition change during the session start.
[2.0.17] - 2022-01-28
Changed
- Improved Google Cast support.
Fixed
- Handle an edge case that lead to bad playback state on high RTT connections.
- Handle cases where the device is not able to decode a certain resolution (usually 4K on old devices or cast receivers where 4K decode is impossible). Before this fix, the device could sometimes end up in an unrecoverable state. We now disable those resolutions for devices without support for them.
[2.0.16] - 2022-01-21
Added
- Opt-in buffer burst.
- Grid view support (https://grid.vindral.com/).
Changed
- Improved sync between devices.
[2.0.15] - 2022-01-12
Changed
- Improved validation on configurations during connection.
[2.0.14] - 2022-01-11
Fixed
- Buffering on iOS when hiding keyboard and other interatios in the Safari address bar.
[2.0.13] - 2022-01-06
Changed
- Video resolution is now constrained by width or height depending on which is limiting the video size based on aspect ratio.
Fixed
- Handle a case where reconnection would fail.
[2.0.12] - 2021-12-22
Fixed
- Handle a case where very small video element sizes would not be constrained properly.
[2.0.11] - 2021-12-21
Fixed
- Frequent seek events on IpadOS and MacOS causing freezes in audio and video (regression in 2.0.10).
[2.0.10] - 2021-12-16
Fixed
Player SDK
- Removed a gray box that was visible on Safari before the video was loaded.
- Render an error message if the client fails to load.
Core SDK
- Languages are now updated when switching between two channels with a different set of audio track languages.
- Fixed an issue where a "The play() request was interrupted by a call to pause()"-exception was unhandled.
- Fixed an issue where audio was not resumed when returning to the tab.
- Improved detection of connection loss and recovery from that.
- Improved the sync mechanism that keeps players in sync.
[2.0.9] - 2021-11-25
Fixed
- The styling for the Player is now properly bundled.
- The channelSelectionEnabled option is now respected by the Player when set to false.
[2.0.8] - 2021-11-18
Added
- Defaults to showing rendition levels button in Player.
- Added support for using multiple audio tracks with different languages in Player.
Fixed
- Fixed audio issue where a 1.5 second delay were introduced when enabling audio on iOS devices.
[2.0.7] - 2021-11-16
Added
- Getter and setter
muted
added to the Vindral class. Can be used without affecting volume. - Support for video only mode in Player.
- Support for audio only mode in Player.
- Support for Google Cast.
Fixed
- Fixed audio issue where muted/volume state did not match internal state, leading to user input not always unmuting playback.
- Fixed audio issue in Vindral Player where pressing unmute sometimes unmuted and muted at the same time.
[2.0.6] - 2021-11-06
Fixed
- Fixed incorrect video area size for streams in connecting or uninitialized states.
[2.0.5] - 2021-11-02
Added
- Support for changing target buffer size runtime.
[2.0.2] - 2021-10-28
Added
- Support for switching channels inline.
Fixed
- Fixed issue where initial rendition (quality) was always lower than necessary.
[2.0.0] - 2021-10-13
Added
- Initial release.