UNPKG

shaka-player

Version:
1,207 lines (1,048 loc) 131 kB
## 2.5.11 (2020-05-05) New Features: - Add role information to text and audio tracks in src= mode - https://github.com/google/shaka-player/pull/2543 - Parse HLS CHARACTERISTICS attribute and populate track roles - https://github.com/google/shaka-player/pull/2534 - Recognize new CMAF file extensions cmfv, cmfa, cmft in HLS - https://github.com/google/shaka-player/pull/2473 - Add configuration to enable/disable fullscreen-on-rotate - https://github.com/google/shaka-player/issues/2494 - Add configuration to enable keyboard playback controls - https://github.com/google/shaka-player/issues/2489 - Dismiss UI overflow menus on window click - Add non-standard DASH PlayReady UUID - https://github.com/google/shaka-player/pull/2474 Bugfixes: - Fix FairPlay event handling - https://github.com/google/shaka-player/issues/2214 - Fix load() Promise hang on iOS - https://github.com/google/shaka-player/issues/2483 - Fix language normalization with native HLS - https://github.com/google/shaka-player/issues/2480 - Fix display of duplicate cues - https://github.com/google/shaka-player/issues/2497 - Fix TTML position parsing - https://github.com/google/shaka-player/issues/2477 - https://github.com/google/shaka-player/pull/2493 - Fix display of line-positioned subtitles - https://github.com/google/shaka-player/issues/2524 - Update to mux.js 5.5.4 to fix closed caption parsing bug - https://github.com/videojs/mux.js/pull/330 - https://github.com/videojs/mux.js/pull/333 - Fix language and role preferences in src= mode - https://github.com/google/shaka-player/pull/2535 - https://github.com/google/shaka-player/pull/2506 - Fix extra text track in src= mode - https://github.com/google/shaka-player/issues/2516 - Fix Safari-prefixed fullscreen APIs - https://github.com/google/shaka-player/issues/2528 - Fix display of nested cues with native text display - https://github.com/google/shaka-player/issues/2263 - Fix getPlayheadTimeAsDate while loading/buffering - Recover from timed-out Cast connection - https://github.com/google/shaka-player/issues/2446 - Fix DRM exceptions on WebOS TVs - https://github.com/google/shaka-player/issues/2512 - https://github.com/google/shaka-player/pull/2513 - Fix frameRate restrictions - Filter out metadata text tracks in Player tracks API - https://github.com/google/shaka-player/pull/2519 - Fix PlayRateController leak - Fix buffer check in StallDetector - https://github.com/google/shaka-player/issues/1809 - Fix offline storage picking high-bandwidth codecs - https://github.com/google/shaka-player/issues/2390 - Fix nested TTML cues with non-ASCII characters - https://github.com/google/shaka-player/issues/2478 - Fix UI updates when enabling captions - https://github.com/google/shaka-player/issues/2484 - Fix ratechange events w/ src= playback - https://github.com/google/shaka-player/issues/2488 - Fix serialization of Error objects over Cast - Fix missing EME polyfill in Cast receiver - Use the module wrapper in debug builds - https://github.com/google/shaka-player/issues/2465 Docs: - Fix broken docs for UI control events - https://github.com/google/shaka-player/issues/2385 - Add FAQ entry about minBufferTime - https://github.com/google/shaka-player/issues/2000 Demo App: - Push demo app footer to the bottom of the page ## 2.5.10 (2020-03-24) New Features: - Added 'doubleClickForFullscreen' config to UI - https://github.com/google/shaka-player/issues/2459 - Add 'loaded' event - https://github.com/google/shaka-player/pull/2441 - Update prerequisites script w/ new nodejs versions - Export default text parser plugins - https://github.com/google/shaka-player/issues/2428 - Add config to show/hide unbuffered range at seek bar start - https://github.com/google/shaka-player/issues/2424 - Approximate segment size based on bandwidth when deciding to abort a request - https://github.com/google/shaka-player/pull/2288 - Always log config errors - Make 'offline.trackSelectionCallback' async to allow the app to prompt the user or do other async checks - https://github.com/google/shaka-player/pull/2387 - Disable video when the media element is AUDIO - https://github.com/google/shaka-player/issues/2246 - https://github.com/google/shaka-player/pull/2371 Bugfixes: - Fix DRM-related issues on Tizen - https://github.com/google/shaka-player/issues/813 - https://github.com/google/shaka-player/issues/2447 - https://github.com/google/shaka-player/issues/2448 - https://github.com/google/shaka-player/pull/2449 - Fix exceptions with very large manifests on XBox One and possibly other consumer electronics platforms - https://github.com/google/shaka-player/issues/2433 - Fix UI exception joining existing Cast session - https://github.com/google/shaka-player/issues/2451 - Fix UTCTiming when autoCorrectDrift is off - https://github.com/google/shaka-player/issues/2411 - https://github.com/google/shaka-player/pull/2412 - Fix EME polyfill exceptions on Edge - https://github.com/google/shaka-player/issues/2413 - Fix offline storage with some Widevine and PlayReady content - https://github.com/google/shaka-player/pull/2400 - Don't fire 'adaptation' event when not switching - https://github.com/google/shaka-player/issues/2392 - Fix rare exception in isTextTrackVisible() - https://github.com/google/shaka-player/issues/2399 - Fix bogus warnings about argument count in configs - Fix duplicate DB objects when storing offline content - https://github.com/google/shaka-player/issues/2389 - Fix MIME type case sensitivity in HLS parser - Fix changing UI Cast app ID to empty string - Fix case sensitivity in TTML MIME types - https://github.com/google/shaka-player/issues/2378 - https://github.com/google/shaka-player/pull/2381 - Fix exceptions for Video Futur platform - https://github.com/google/shaka-player/issues/2189 - https://github.com/google/shaka-player/pull/2368 - Fix captions display alignment - https://github.com/google/shaka-player/issues/2334 - https://github.com/google/shaka-player/issues/2157 - Fix Cast errors in compiled mode - https://github.com/google/shaka-player/issues/2130 Docs: - Improve ClearKey examples - https://github.com/google/shaka-player/issues/2434 - https://github.com/google/shaka-player/pull/2439 - Fix truncated UI tutorial - https://github.com/google/shaka-player/issues/2410 - Update offline.md - https://github.com/google/shaka-player/pull/2404 - Add additional links in error code reference Demo App: - Several service worker improvements and fixes - Load pwacompat through npm - Replace Live search boolean with a drop-down - Renamed the "search" tab to "all content" - Add search filters to the URL - Work around Material Icons font bug - Work around MDL button bug in iOS 13 - https://github.com/google/shaka-player/issues/2376 ## 2.5.9 (2020-02-04) Bugfixes: - Fix PiP polyfill for iOS - https://github.com/google/shaka-player/issues/2199 - Ban iOS < 12 - https://github.com/google/shaka-player/issues/1920 - Work around service worker registration hang on iOS - Fix display of selected language in UI - https://github.com/google/shaka-player/issues/2353 - Fix race condition on HLS parser shutdown - https://github.com/google/shaka-player/issues/2138 - Fix StringUtils on Xbox One - https://github.com/google/shaka-player/issues/2186 - Fix selecting audio track by role when video tracks contain the same role - https://github.com/google/shaka-player/issues/2346 - Fix skipping of raw format streams in HLS - Fix iPad 13+ detection - https://github.com/google/shaka-player/issues/2360 - Fix exception thrown for Chrome & Firefox on iOS Docs: - Fix typo in fairplay tutorial - https://github.com/google/shaka-player/issues/2344 ## 2.5.8 (2020-01-16) Bugfixes: - Recognize and reject raw AAC in HLS - https://github.com/google/shaka-player/issues/1083 - https://github.com/google/shaka-player/issues/2337 - Fix fullscreen on Android - https://github.com/google/shaka-player/issues/2324 - https://github.com/google/shaka-player/pull/2325 - Fix start time support in src= mode - https://github.com/google/shaka-player/issues/2267 - https://github.com/google/shaka-player/pull/2271 - Add missing events to CastProxy Player - https://github.com/google/shaka-player/issues/2318 - Fix cast receiver UI update - https://github.com/google/shaka-player/issues/2314 New Features: - Add corruptedFrames to stats - https://github.com/google/shaka-player/pull/2328 - Add framerate restriction to the config - https://github.com/google/shaka-player/issues/2068 - https://github.com/google/shaka-player/pull/2332 - Add option to ignore empty AdaptationSets in DASH - https://github.com/google/shaka-player/issues/2023 - https://github.com/google/shaka-player/pull/2330 - Add licenseTime to stats - https://github.com/google/shaka-player/pull/2297 - Add pixelAspectRatio property from DASH - https://github.com/google/shaka-player/pull/2294 - Add AirPlay support with native HLS and FairPlay - https://github.com/google/shaka-player/issues/2177 - https://github.com/google/shaka-player/pull/2257 - Add option to show text/audio roles in UI - https://github.com/google/shaka-player/issues/2307 - Add "fadeDelay" option to delay fading UI controls Demo App: - Update asset list and metadata ## 2.5.7 (2019-12-18) New Features: - Add audioSamplingRate property - https://github.com/google/shaka-player/pull/2290 - Ignore DASH image tracks - https://github.com/google/shaka-player/pull/2276 - Add AV1 check and more file extensions for src mode - https://github.com/google/shaka-player/pull/2280 - Allow removing text from manifests - https://github.com/google/shaka-player/pull/2278 - Allow ignoreSuggestedPresentationDelay in DASH - https://github.com/google/shaka-player/pull/2260 - Allow removing video from manifests - https://github.com/google/shaka-player/pull/2259 - Add a polyfill for EME encryption scheme queries - Add support for ttml regions - https://github.com/google/shaka-player/issues/2191 - Add a method to select variants by label - https://github.com/google/shaka-player/issues/924 Bugfixes: - Fix shaka.polyfill missing in externs - Fix width of overflow menu with wide content - https://github.com/google/shaka-player/issues/2249 - Disable indexedDB support if an error is thrown - https://github.com/google/shaka-player/pull/2236 - Fix setting robustness settings in DRM config - https://github.com/google/shaka-player/issues/2211 ## 2.5.6 (2019-11-06) Bugfixes: - Fix storing content with delayLicenseRequestUntilPlayed - https://github.com/google/shaka-player/issues/2218 - Fix check for captions in appendBuffer - https://github.com/google/shaka-player/issues/2187 - Allow 'rebufferingGoal' to change after startup - https://github.com/google/shaka-player/issues/2217 - Fix default encoding when reading files - https://github.com/google/shaka-player/issues/2206 - Throw for invalid TTML - https://github.com/google/shaka-player/issues/2157 - Fix FairPlay default initDataTransform - https://github.com/google/shaka-player/issues/2136 - Fix live seekbar on Android - https://github.com/google/shaka-player/issues/2169 - Fix undefined value in HLS request filters - https://github.com/google/shaka-player/issues/2156 - Fix Period transitions with embedded captions - https://github.com/google/shaka-player/issues/2076 - Throw error for clear-key content with src= - https://github.com/google/shaka-player/issues/2139 - Fix support for empty TTML data - https://github.com/google/shaka-player/pull/1960 - Fix multi-Period handling of key statuses - https://github.com/google/shaka-player/issues/2135 - Fix stall at end with src= - https://github.com/google/shaka-player/issues/2117 - Fix ttml background image support - https://github.com/google/shaka-player/pull/2034 New Features: - Add config to use MSE playback on Safari - https://github.com/google/shaka-player/issues/2116 - Support storing protected content without init data in manifest - https://github.com/google/shaka-player/issues/1531 - https://github.com/google/shaka-player/pull/2164 - Allow disable audio/video in manifest parsers - https://github.com/google/shaka-player/pull/2196 - Enhance ttml rendering - https://github.com/google/shaka-player/pull/1962 - Include event ID in DASH Event checks - https://github.com/google/shaka-player/issues/2077 - https://github.com/google/shaka-player/pull/2175 - Add support for Label element in DASH - https://github.com/google/shaka-player/issues/2178 - https://github.com/google/shaka-player/pull/2197 - Treat URL schemes as case-insensitive - https://github.com/google/shaka-player/issues/2173 - Forward change event from src= playback - https://github.com/google/shaka-player/pull/2134 - Export getMaxSegmentDuration() on presentationTimeline - https://github.com/google/shaka-player/issues/2124 - Ignore MIME parameters in Content-Type check - https://github.com/google/shaka-player/issues/1946 - https://github.com/google/shaka-player/pull/2215 - Make seek & volume bar colors configurable - https://github.com/google/shaka-player/issues/2203 Demo App: - Improve mobile Safari PWA support in demo - https://github.com/google/shaka-player/issues/2143 - Added tooltips to the search filters on the demo - Added "report bug" button to demo ## 2.5.5 (2019-08-23) New Features: - Conditionally remove FairPlay formatting - https://github.com/google/shaka-player/issues/1951 - Add sessionId field to network request - Make it easier to add custom overflow menu items - https://github.com/google/shaka-player/issues/2091 - Add clearBufferOnQualityChange field to UI config - https://github.com/google/shaka-player/issues/1733 - Allow filtering out failed HLS text tracks - https://github.com/google/shaka-player/issues/2065 - Parse Accessibility tag into text "kind" - https://github.com/google/shaka-player/issues/2060 - Re-add MediaSession API - https://github.com/google/shaka-player/issues/1934 - Skip WebM streams in HLS instead of throwing - https://github.com/google/shaka-player/issues/2108 - Convert `<mspr:pro>` elements to `pssh` init data - https://github.com/google/shaka-player/pull/2106 - https://github.com/google/shaka-player/issues/2058 Bugfixes: - Fix duplicate resolution entries in UI menu - https://github.com/google/shaka-player/issues/2085 - Fix missing tracks, race on time during startup - https://github.com/google/shaka-player/issues/2045 - Fix spinner position on IE11 - https://github.com/google/shaka-player/issues/2084 - Fix seek bar coloring when nothing buffered - Fix scroll behavior on page load - https://github.com/google/shaka-player/issues/2063 - Don't create a UI if the app already has one - https://github.com/google/shaka-player/issues/2073 - Fix text display styling when fullscreen - https://github.com/google/shaka-player/issues/2051 - Don't enter fullscreen on double click on bottom bar - https://github.com/google/shaka-player/issues/2053 - Avoid errors when video ends - https://github.com/google/shaka-player/issues/2050 - Fix fullscreen behavior on double click and rotate - https://github.com/google/shaka-player/issues/2043 - Fix bug when clicking PIP button while casting - https://github.com/google/shaka-player/issues/2044 - Fix CEA captions with multi-Period content - https://github.com/google/shaka-player/issues/2075 - https://github.com/google/shaka-player/issues/2094 Demo App: - Added more HLS demo assets - https://github.com/google/shaka-player/issues/2035 - Exit PIP on unload in the demo - https://github.com/google/shaka-player/issues/2055 - Re-added hidden 'noinput' param to demo ## 2.5.4 (2019-07-19) Bugfixes: - Default to transparent SMPTE-TT subtitle background - https://github.com/google/shaka-player/pull/2033 - Fix seek bar on iOS - https://github.com/google/shaka-player/issues/1918 - https://github.com/google/shaka-player/pull/2036 - Allow whitespace in TTML subtitles - https://github.com/google/shaka-player/issues/2028 - https://github.com/google/shaka-player/pull/2030 - Fix play button positioning on IE 11 - https://github.com/google/shaka-player/issues/2026 - Match UI style with Chrome's native controls - Stop constant spurious time updates in UI - Fix volume slider jumping around while casting - https://github.com/google/shaka-player/issues/1913 - Fix missing seek bar in short VOD clips - https://github.com/google/shaka-player/issues/2018 - Fix demo app in Firefox private mode - https://github.com/google/shaka-player/issues/1926 - Ignore case in MIME type checks - https://github.com/google/shaka-player/issues/1991 - Fix problems with casting - https://github.com/google/shaka-player/issues/1948 New Features: - Add command-line arg to change the test timeout. ## 2.5.3 (2019-07-03) Bugfixes: - Fix DASH bug when ignoring minBufferTime - https://github.com/google/shaka-player/issues/2015 - Avoid changing variant when switching text lang - https://github.com/google/shaka-player/issues/2010 - Work around platform bug when seeking to end - https://github.com/google/shaka-player/issues/1967 - Allow apps to extend shaka.ui.Element - https://github.com/google/shaka-player/issues/2011 - Fix bug when adding text streams while not streaming text - https://github.com/google/shaka-player/issues/1938 - Fix edge case when switching text in multi-Period content - https://github.com/google/shaka-player/issues/1774 - Fix playback rate bug on IE11 - Make fast forwarding work when video is paused - https://github.com/google/shaka-player/issues/1801 - Fix stack overflow in StringUtils on some platforms - https://github.com/google/shaka-player/issues/1985 - https://github.com/google/shaka-player/issues/1994 - Fix reading customData from standard Cast LOAD message - https://github.com/google/shaka-player/issues/1989 Docs: - Fix constant name in UI tutorials - https://github.com/google/shaka-player/issues/2005 - Update build output name in docs - https://github.com/google/shaka-player/issues/1929 New Features: - Use trick play for fast forward when browser doesn't support high playbackRate - https://github.com/google/shaka-player/issues/1957 ## 2.5.2 (2019-06-10) Bugfixes: - Avoid event listener leaks in the UI - https://github.com/google/shaka-player/issues/1924 - Fix style errors in TextDisplayer - https://github.com/google/shaka-player/issues/1852 - https://github.com/google/shaka-player/issues/1955 - Show spinner when buffering even if other controls are hidden - https://github.com/google/shaka-player/issues/1921 - Don't recreate controls object on configure() calls - https://github.com/google/shaka-player/issues/1948 - Fix UI compilation on Windows - https://github.com/google/shaka-player/issues/1965 New Features: - Add originalUri as a property on shaka.extern.Response - https://github.com/google/shaka-player/issues/1971 - https://github.com/google/shaka-player/pull/1972 Demo App: - Fix close button styling in compiled mode - Fix config settings applied before playback begins - https://github.com/google/shaka-player/issues/1976 - Change the style of the download/delete button - Fix demo error display for large errors - Improve cvox error check - Switch to using tippy.js for tooltips Docs: - Add a public roadmap document - https://github.com/google/shaka-player/blob/master/roadmap.md ## 2.5.1 (2019-05-20) New Features: - Inline external CSS for quicker load - You no longer need to include Material Design Icons font in your app - Use clean-css plugin in less.js to minify CSS Bugfixes: - Deprecate ui.getPlayer for controls.getPlayer - https://github.com/google/shaka-player/issues/1941 - Fix switching text displayer mid-playback - Improve french translations - https://github.com/google/shaka-player/pull/1944 - Improve logic for aborting network requests - Fix initial bandwidth estimate on Chrome - Upgrade mux.js and use minified version - Fix exception on network retry - https://github.com/google/shaka-player/issues/1930 - Fix API-based UI setup with default config - Allow two-argument configure() calls for UI and offline - Add missing export on ui.Overlay.getConfiguration - Various improvements in test reliability - Various fixes for compatibility with newer compiler versions Demo App: - Fix asset card highlight on reload - Fix reconnection to cast sessions on reload - https://github.com/google/shaka-player/issues/1948 - Fix handling of error events - Fix centering of asset card titles - Move download button to the corner of asset cards - Add WebP variants for asset icons to reduce size by 88% - Optimize app load time by pre-connecting to external origins - Defer creating tab contents until shown - Make name field in custom assets more permissive - Add link to support page in footer - Allow demo to load custom assets from hash - Do not disable controls on startup - Added missing config values - Catch certificate errors in demo - https://github.com/google/shaka-player/issues/1914 - Let demo load even if storage fails to load - https://github.com/google/shaka-player/issues/1925 - Re-load current asset if page reloads - Fix unsupported button tooltips ## 2.5.0 (2019-05-08) **The UI is now out of beta! Use shaka-player.ui.js and see the UI tutorials.** Core Bugfixes: - Fix missing variants in HLS - https://github.com/google/shaka-player/issues/1908 - Ignore manifest-provided license servers if application-provided servers are configured - https://github.com/google/shaka-player/issues/1905 - Fix range header regression that broke IIS compatibility - Fix initial display of captions based on language preferences - https://github.com/google/shaka-player/issues/1879 - Ignore duplicate codecs in HLS - https://github.com/google/shaka-player/issues/1817 - Reject AES-128 HLS content with meaningful error - https://github.com/google/shaka-player/issues/1838 - Fix React Native createObjectURL polyfill incompatibility - https://github.com/google/shaka-player/issues/1842 - https://github.com/google/shaka-player/pull/1845 - Dolby Vision fixes for Chromecast - https://github.com/google/shaka-player/pull/1844 - Fix redundant initialization of MediaSource - https://github.com/google/shaka-player/issues/1570 - Fix stalls on WebOS - https://github.com/google/shaka-player/issues/1704 - https://github.com/google/shaka-player/pull/1820 - Fix missing require for SimpleTextDisplayer - https://github.com/google/shaka-player/issues/1819 - Fix broken version definition in compiled build - https://github.com/google/shaka-player/issues/1816 - Fix video reloading on audio language change - https://github.com/google/shaka-player/issues/1714 UI Bugfixes: - Fix missing resolution menu in UI after playing audio-only content - Fix pointer cursor on UI spacer - Do not show PIP button if not allowed - Fix hiding captions in UI text displayer - https://github.com/google/shaka-player/issues/1893 - Fix UI text displayer positioning on IE - Make live stream timecode accessible to screen readers in the UI - https://github.com/google/shaka-player/issues/1861 - Fix ARIA pressed state for button in text selection menu - Show picture-in-picture btn only when the content has video - https://github.com/google/shaka-player/issues/1849 - Fix multiline captions in UI text displayer - Fix display of cast button in UI - https://github.com/google/shaka-player/issues/1803 - Fix conflict between PiP and fullscreen - Fix cast receiver styling New Core Features: - Abort requests when network downgrading - https://github.com/google/shaka-player/issues/1051 - Add FairPlay support - https://github.com/google/shaka-player/issues/382 - Add native HLS support on iOS and Safari - https://github.com/google/shaka-player/issues/997 - Support src= for single-file playback - https://github.com/google/shaka-player/issues/816 - https://github.com/google/shaka-player/pull/1888 - https://github.com/google/shaka-player/pull/1898 - Add 'manifestparsed' event for early access to manifest contents - Add 'abrstatuschanged' event to help manage UI state - Make manifest redirections sticky for updates - https://github.com/google/shaka-player/issues/1367 - https://github.com/google/shaka-player/pull/1880 - Track time in "pause" state in stats - https://github.com/google/shaka-player/pull/1855 - Make Stall Detector Configurable - https://github.com/google/shaka-player/issues/1839 New UI Features: - Add support for UI reconfiguration and layout changes - https://github.com/google/shaka-player/issues/1674 - Add support for custom UI buttons - https://github.com/google/shaka-player/issues/1673 - Add partial support for SMPTE-TT subtitles in UI text displayer - https://github.com/google/shaka-player/issues/840 - https://github.com/google/shaka-player/pull/1859 - Add PiP support in Safari - https://github.com/google/shaka-player/pull/1902 Demo App: - Complete redesign of the demo app! - Load non-built-in localizations from the server at runtime - https://github.com/google/shaka-player/issues/1688 - Ignore spurious errors from ChromeVox - https://github.com/google/shaka-player/issues/1862 - Don't handle non-app resources in service worker - https://github.com/google/shaka-player/issues/1256 - https://github.com/google/shaka-player/issues/1392 Docs: - Document UI events - https://github.com/google/shaka-player/issues/1870 - Update Manifest Parser documentation - Clarify track selection callback in offline tutorial - Fix jsdoc and markdown formatting of links - Add link for Shaka Player Embedded - https://github.com/google/shaka-player/issues/1846 ## 2.5.0-beta3 (2019-02-20) New Features: - Introduction of Shaka Player UI library! (beta) - Load dist/shaka-player.ui.js - See tutorial in docs/tutorials/ui.md - Add option to disable drift-tolerance feature for certain live streams - https://github.com/google/shaka-player/issues/1729 - Upgrade mux.js to the latest (5.1.0) - Support HLS playlists without URI in EXT-X-MEDIA - https://github.com/google/shaka-player/pull/1732 - Add safeSeekOffset to StreamingConfiguration - https://github.com/google/shaka-player/issues/1723 - https://github.com/google/shaka-player/pull/1726 - Add PlayReady license URL parsing (ms:laurl) - https://github.com/google/shaka-player/issues/484 - https://github.com/google/shaka-player/pull/1644 - Add support for HLS tags with both value and attributes - https://github.com/google/shaka-player/issues/1808 - https://github.com/google/shaka-player/pull/1810 Bugfixes: - Fixed various typos in comments and docs - https://github.com/google/shaka-player/pull/1797 - https://github.com/google/shaka-player/pull/1805 - Fix CEA timestamps with presentationTimeOffset - Fix config-based clock sync for IPR content - Fix cast serialization of Uint8Array types - https://github.com/google/shaka-player/issues/1716 - Fix event dispatch when text tracks change - Don't include video roles in audio-language-role pairs - https://github.com/google/shaka-player/issues/1731 - Fix MediaSource failures with certain language settings - https://github.com/google/shaka-player/issues/1696 - Fix build paths on Windows - https://github.com/google/shaka-player/issues/1700 Docs: - Update docs to mention ignoreMinBufferTime - https://github.com/google/shaka-player/issues/1547 - https://github.com/google/shaka-player/issues/1666 - Document restrictions on large timescales - https://github.com/google/shaka-player/issues/1667 - Various small docs improvements ## 2.4.7 (2019-02-19) Bugfixes: - Reject opus content on Tizen - https://github.com/google/shaka-player/issues/1751 - Fix seekable range on HLS content with non-zero start time - https://github.com/google/shaka-player/issues/1602 ## 2.4.6 (2019-01-22) Bugfixes: - Fix HLS without URI attribute - https://github.com/google/shaka-player/issues/1086 - https://github.com/google/shaka-player/issues/1730 - https://github.com/google/shaka-player/pull/1732 - Handle prereleases of npm and node in build scripts - https://github.com/google/shaka-player/issues/1758 - Fix windows path handling in build scripts - https://github.com/google/shaka-player/issues/1759 - Fix cast receiver errors in getStats - https://github.com/google/shaka-player/issues/1760 - Fix spurious teardown exception on smart TVs - https://github.com/google/shaka-player/issues/1728 - Loosen gap thresholds on Chromecast - https://github.com/google/shaka-player/issues/1720 - Fix support for Safari 12 - Fix support for relative Location URLs in DASH - https://github.com/google/shaka-player/issues/1668 - Fix compliance issues in IE11 EME polyfill - https://github.com/google/shaka-player/issues/1689 - Fix PlayReady playback on Tizen - https://github.com/google/shaka-player/issues/1712 - Fix chopped playback in MS Edge - https://github.com/google/shaka-player/issues/1597 - Fix assertions when EME sessions expire - https://github.com/google/shaka-player/issues/1599 - Fix relative URIs in HLS - https://github.com/google/shaka-player/issues/1664 - Fix compilation error - https://github.com/google/shaka-player/issues/1658 - https://github.com/google/shaka-player/pull/1660 New Features: - Add extended error code for failed license request - https://github.com/google/shaka-player/issues/1689 Demo App: - Disable offline storage on some assets - https://github.com/google/shaka-player/issues/1768 - Update DASH-IF livesim URLs - https://github.com/google/shaka-player/pull/1736 ## 2.5.0-beta2 (2018-11-09) Contains everything in v2.4.5, plus... Bugfixes: - Fix Chromecast receiver id in the demo, broken since v2.5.0-beta - https://github.com/google/shaka-player/issues/1656 - Fix multi-period playback issues introduced in v2.5.0-beta - https://github.com/google/shaka-player/issues/1601 - Fix seekable range with non-zero start - https://github.com/google/shaka-player/issues/1602 - Misc Storage and demo fixes - Fix support for restriction changes after playback - https://github.com/google/shaka-player/issues/1533 - Fix TextEngine buffered range calculations - https://github.com/google/shaka-player/issues/1562 New Features: - Add support for CEA captions in DASH - https://github.com/google/shaka-player/issues/1404 - Set server certificate before Store and Delete - https://github.com/google/shaka-player/issues/1623 - https://github.com/google/shaka-player/pull/1639 - Allow deferring deleting offline sessions. - https://github.com/google/shaka-player/issues/1326 - Added progress events for Fetch plugin. - https://github.com/google/shaka-player/issues/1504 - Add config field to ignore manifest minBufferTime #1547 - https://github.com/google/shaka-player/issues/1547 - https://github.com/google/shaka-player/pull/1581 - Add support for 'individualization-request' messages in EME - https://github.com/google/shaka-player/issues/1565 Docs: - Update Language Normalization Documentation ## 2.4.5 (2018-11-09) Bugfixes: - Fix erasure of the database with storage.deleteAll() - Fix MediaSource tear down race - Fix exception when destroying MediaSourceEngine twice - Fix gap jumping test failures on IE/Edge/Tizen - Fix stalls on Tizen TV - Fix display of external subtitles - https://github.com/google/shaka-player/issues/1596 - Fix test failures on Safari - Fix filtering of HLS audio-only content - Preserve bandwidth estimate between loads - https://github.com/google/shaka-player/issues/1366 - Retry streaming when we get back online - https://github.com/google/shaka-player/issues/1427 - Fix Storage test contamination - Fix advanced DRM settings pollution across key systems - https://github.com/google/shaka-player/issues/1524 - Fix TextEngine buffered range calculations - https://github.com/google/shaka-player/issues/1562 New Features: - Optimize processXlinks - https://github.com/google/shaka-player/issues/1640 - Add support for Python3 in build scripts - Allow new Periods to add EME init data - https://github.com/google/shaka-player/issues/1360 - Add namespace-aware parsing to TTML parser - https://github.com/google/shaka-player/issues/1585 - An external Promise polyfill is no longer required! Demo App: - Show logs prominently in noinput mode - https://github.com/google/shaka-player/issues/1610 - Disable uncompiled mode on browsers without async - Restore using Enter key to load asset Docs: - Fix tracks sorting in Offline tutorial sample code - https://github.com/google/shaka-player/issues/1608 - https://github.com/google/shaka-player/pull/1609 - Add a note about blank receiver IDs - Rename 'video' to 'mediaElem' to make it clear that audio elements work, too - https://github.com/google/shaka-player/issues/1555 Un-Features: - Un-ship VTTRegion support, which is currently broken in Chrome and does more harm than good - https://github.com/google/shaka-player/issues/1584 ## 2.5.0-beta (2018-08-24) New Features: - Drift is now tolerated in DASH live streams - https://github.com/google/shaka-player/issues/999 - Storage can be initialized without Player - https://github.com/google/shaka-player/issues/1297 - DASH Representation IDs are now exposed in a new field in Track - A safe margin parameter was added for clearing the buffer - https://github.com/google/shaka-player/pull/1154 - Added 'retry' event to networking engine - https://github.com/google/shaka-player/issues/1529 - Emsg not referenced in MPD will now be ignored - https://github.com/google/shaka-player/issues/1548 - Extra data given for RESTRICTIONS_CANNOT_BE_MET - https://github.com/google/shaka-player/issues/1368 - A mime type option was added to Player.load - Added Widevine SAMPLE-AES support in HLS - https://github.com/google/shaka-player/issues/1515 - The |manifestUri| method on Player was changed to |assetUri| - Added new request type TIMING for clock sync requests - https://github.com/google/shaka-player/issues/1488 - https://github.com/google/shaka-player/pull/1489 Deprecated: - Passing a ManifestParser factory to Player.load is deprecated and support will be removed in v2.6. Instead, please register any custom parsers with a MIME type, and pass a MIME type instead. MIME types can also be used to force the selection of any built-in manifest parsers. - The |manifestUri| method on Player was changed to |assetUri|. The old method is deprecated and will be removed in v2.6. ## 2.4.4 (2018-08-23) Bugfixes: - Fix spurious restrictions errors - https://github.com/google/shaka-player/issues/1541 - Don't error when skipping mp4 boxes with bad size - https://github.com/google/shaka-player/issues/1535 - Refactor HttpFetchPlugin to clarify error outcomes - https://github.com/google/shaka-player/issues/1519 - https://github.com/google/shaka-player/pull/1532 - Avoid assertions about $Time$ when it is not used - Stop proxying drmInfo() to reduce cast message sizes - Fix compiler renaming in ParsedBox - https://github.com/google/shaka-player/issues/1522 Docs: - Fixed docs for availabilityWindowOverride - https://github.com/google/shaka-player/issues/1530 ## 2.4.3 (2018-08-06) New Features: - Add availabilityWindowOverride configuration - https://github.com/google/shaka-player/issues/1177 - https://github.com/google/shaka-player/issues/1307 Bugfixes: - Fix repeated download of the same segment in live DASH - https://github.com/google/shaka-player/issues/1464 - https://github.com/google/shaka-player/issues/1486 - Don't clear buffer with a small gap between playhead and buffer start - https://github.com/google/shaka-player/issues/1459 - Allow CDATA in text nodes. - https://github.com/google/shaka-player/issues/1508 - Skip text AdaptationSets with no segment info - https://github.com/google/shaka-player/issues/1484 - Add error code for side-loaded text with live streams Demo app: - Clarify persistent license error messages Docs: - Update docs for RESTRICTIONS_CANNOT_BE_MET ## 2.3.10 and 2.4.2 (2018-06-29) Bugfixes: - Fix ignored configuration when input is partially invalid (v2.4.2 only) - https://github.com/google/shaka-player/issues/1470 - Silence DRM engine errors for unencrypted assets - https://github.com/google/shaka-player/issues/1479 - Fix infinite seeking with HLS on V1 Chromecasts - https://github.com/google/shaka-player/issues/1411 - Fix module wrapper to work with CommonJS, AMD, ES modules, as well as Closure and Electron - https://github.com/google/shaka-player/issues/1463 - Fix TextEngine buffered range calculations Demo App: - Fix custom encrypted assets in the demo app Docs: - Fix generated documentation problems (v2.4.2 only) - Move CEA-608/708 to list of supported HLS features (v2.4.2 only) - https://github.com/google/shaka-player/pull/1465 ## 2.3.9 and 2.4.1 (2018-06-13) Bugfixes: - Default to a maximum of 360p for ABR when saveData == true - https://github.com/google/shaka-player/issues/855 - Make AbrManager restrictions "soft" so they do not fail playback - Patch Closure Compiler to fix polyfill+wrapper - https://github.com/google/shaka-player/issues/1455 - Fix assertion spam when merging a period into itself - https://github.com/google/shaka-player/issues/1448 - Upgrade WebDriver module to new W3C protocol, fixes WD tests on Firefox & IE - Work around potential hang in transmuxer with multiplexed TS content. - https://github.com/google/shaka-player/issues/1449 Demo app: - Support clearkey license-servers in the demo UI Misc: - Fix nodejs import (still not a supported environment, but does not throw) - https://github.com/google/shaka-player/issues/1445 - https://github.com/google/shaka-player/pull/1446 ## 2.4.0 (2018-05-24) New features: - Support for TTML and VTT regions - https://github.com/google/shaka-player/issues/1188 - Support for CEA captions in TS content - https://github.com/google/shaka-player/issues/276 - A video element is no longer required when `Player` is constructed - https://github.com/google/shaka-player/issues/1087 - New `attach()` and `detach()` methods have been added to `Player` to manage attachment to video elements - https://github.com/google/shaka-player/issues/1087 - Allow apps to specify a preferred audio channel count - https://github.com/google/shaka-player/issues/1013 - Live stream playback can begin at a negative offset from the live edge - https://github.com/google/shaka-player/issues/1178 - Add new configure() syntax for easily setting single fields - https://github.com/google/shaka-player/issues/763 - player.configure() returns false if player configuration is invalid - Fetch is now preferred over XHR when available - https://github.com/google/shaka-player/issues/829 - Request type now appears in shaka.util.Error data for HTTP errors - https://github.com/google/shaka-player/issues/1253 Broken compatibility: - A third-party Promise polyfill is now required for IE 11 support - https://github.com/lahmatiy/es6-promise-polyfill - https://github.com/google/shaka-player/issues/1260 - Text parser plugins now take a nullable segmentStart in TextContext. All application-specific text-parsing plugins MUST be updated. - Text-parsing plugins that produce region information must do so with the new CueRegion class. Any application-specific text-parsing plugins that produce region information MUST be updated. - TextDisplayer plugins that handle region information must do so with the new CueRegion interface. Any application-specific TextDisplayer plugins that handle region information MUST be updated. - The API for PresentationTimeline has changed. Manifest parser plugins that use certain PresentationTimeline methods MUST be updated: - `setAvailabilityStart()` was renamed to `setUserSeekStart()`. - `notifySegments()` now takes a reference array and a boolean called `isFirstPeriod`, instead of a period start time and a reference array. Deprecated: - NetworkingEngine.request() now returns an instance of IAbortableOperation instead of Promise. Applications which make application-level requests SHOULD update to use the new interface. - The old interface will be removed in v2.5. - Network scheme plugins now return an instance of IAbortableOperation instead of Promise. Application-specific network scheme plugins SHOULD update to the new interface. - The old interface will be removed in v2.5. Demo app: - Improve support for custom assets and license servers in demo app URI Misc: - We have started transitioning the code to ES6 and the new JS style guide - https://google.github.io/styleguide/jsguide.html ## 2.3.8 (2018-05-23) Bugfixes: - Fix non-default namespace names in DASH - https://github.com/google/shaka-player/issues/1438 - Fix use after destroy() in CastProxy - https://github.com/google/shaka-player/issues/1423 - Fix text track visibility state - https://github.com/google/shaka-player/issues/1412 - Remove licenses when wiping offline storage - https://github.com/google/shaka-player/issues/1277 - Restore backward compatibility for v2.2.x offline storage - https://github.com/google/shaka-player/issues/1248 Demo app: - Update DASH-IF Big Buck Bunny asset Docs: - Fix typos and formatting - Build docs as part of build/all.py - https://github.com/google/shaka-player/issues/1421 ## 2.3.7 (2018-04-24) Bugfixes: - Fixed manifest update frequency calculations - https://github.com/google/shaka-player/issues/1399 - Fixed repeated seeking during HLS live streaming on Chromecast - https://github.com/google/shaka-player/issues/1411 Demo app: - Fixed updating of the app URL on Android when pasting into the custom asset field - https://github.com/google/shaka-player/issues/1079 - Added Axinom live test assets - https://github.com/google/shaka-player/pull/1409 ## 2.3.6 (2018-04-11) Bugfixes: - Handle HLS segments tags that occur before playlist tags - https://github.com/google/shaka-player/issues/1382 - Avoid telling AbrManager about key-system-restricted streams, to simplify building AbrManager plugins. - Fixed exported enum definition for network plugin priorities - Fixed ES5 strict mode compatibility in our module wrapper - https://github.com/google/shaka-player/pull/1398 Demo app: - Fixed playback of VDMS assets by updating the license request details - https://github.com/google/shaka-player/pull/1388 ## 2.3.5 (2018-03-29) New features: - Do not buffer audio far ahead of video - https://github.com/google/shaka-player/issues/964 Bugfixes: - Fixed early seeking (immediately upon load) - https://github.com/google/shaka-player/issues/1298 - Fixed repeated seeking in HLS live (also affects DASH with timeShiftBufferDepth of zero) - https://github.com/google/shaka-player/issues/1331 - Fixed VTT+MP4 parsing with respect to TRUN box - https://github.com/google/shaka-player/issues/1266 - Fixed hang in StreamingEngine when playing at the left edge of the seek range on slow embedded devices - Work around slow DASH parsing on embedded devices Demo app: - Fixed CSS for display on Chromecast and other TV devices - Added "startTime" URL parameter for debugging purposes ## 2.3.4 (2018-03-22) New features: - Support for non-standard DASH SegmentTemplate strings using formats other than "d" (such as "x" and "o"). - https://github.com/Dash-Industry-Forum/DASH-IF-IOP/issues/177 Bugfixes: - Fixed rapid seeking in zero-width seek ranges, such as in HLS live - https://github.com/google/shaka-player/issues/1331 - Fixed use of native controls for text display - https://github.com/google/shaka-player/issues/1332 - Fixed parsing of multiple 'emsg' boxes - https://github.com/google/shaka-player/issues/1340 Demo app: - Added an "unload" button to the demo app - Fixed enabling of TS assets in the demo app - https://github.com/google/shaka-player/issues/1214 Docs: - Added a doc describing DASH manifests - https://github.com/google/shaka-player/issues/1233 - Fixed documentation of CONTENT_UNSUPPORTED_BY_BROWSER error - https://github.com/google/shaka-player/issues/1349 - Updated architecture diagrams - https://github.com/google/shaka-player/issues/1197 ## 2.3.3 (2018-03-01) New features: - Warn if parsing the date from UTCTiming fails - https://github.com/google/shaka-player/issues/1317 - https://github.com/google/shaka-player/pull/1318 - Backpropagate language selections on track change - https://github.com/google/shaka-player/issues/1299 Bugfixes: - Fix MP4+VTT in HLS - https://github.com/google/shaka-player/issues/1270 - Fix track selection during "streaming" event - https://github.com/google/shaka-player/issues/1119 - Work around MSE rounding errors in Edge - https://github.com/google/shaka-player/issues/1281 - Edge bug: https://bit.ly/2ttKiBU - Fix IE stuck buffering at the end after replay - https://github.com/google/shaka-player/issues/979 - Fix catastrophic backtracking in TTML text parser - https://github.com/google/shaka-player/issues/1312 - Fix infinite loop when jumping very small gaps - https://github.com/google/shaka-player/issues/1309 - Fix seek range for live content with less than a full availability window - https://github.com/google/shaka-player/issues/1224 - Remove misleading logging in DrmEngine#fillInDrmInfoDefaults - https://github.com/google/shaka-player/pull/1288 - https://github.com/google/shaka-player/issues/1284 - Fix old text cues displayed after loading new text stream - https://github.com/google/shaka-player/issues/1293 - Fix truncated HLS duration with short text streams - https://github.com/google/shaka-player/issues/1271 - Fix DASH SegmentTemplate w/ duration - https://github.com/google/shaka-player/issues/1232 Docs: - Fix out-of-date docs for error 6014 EXPIRED - https://github.com/google/shaka-player/issues/1319 - Simplify prerequisite installation on Linux - https://github.com/google/shaka-player/issues/1175 - Simplify the debugging tutorial - Fix various typos - https://github.com/google/shaka-player/pull/1272 - https://github.com/google/shaka-player/pull/1274 ## 2.3.2 (2018-02-01) New features: - Add Storage.deleteAll() to clear storage when database upgrades fail - https://github.com/google/shaka-player/issues/1230 - https://github.com/google/shaka-player/issues/1248 - Make DASH default presentation delay configurable - https://github.com/google/shaka-player/issues/1234 - https://github.com/google/shaka-player/pull/1235 Bugfixes: - Fix stall during eviction with small bufferBehind values - https://github.com/google/shaka-player/issues/1123 - Fix deletion of offline licenses for demo content - https://github.com/google/shaka-player/issues/1229 - Fix compiler renaming in Player language APIs - https://github.com/google/shaka-player/issues/1258 - Rename Timeline events to include the "Event" suffix - https://github.com/google/shaka-player/pull/1267 Docs: - Fix incorrect year in the change log - https://github.com/google/shaka-player/pull/1263 - Fix some bad annotations found while upgrading jsdoc - https://github.com/google/shaka-player/issues/1259 ## 2.3.1 (2018-01-22) New features: - All features released in 2.2.10, plus... - DRM content is now implied by DRM config, fixes some ad insertion cases - https://github.com/google/shaka-player/pull/1217 - https://github.com/google/shaka-player/issues/1094 - Add support for mp4a.40.34 mp3 in HLS - https://github.com/google/shaka-player/issues/1210 - Allow ES6 syntax - Replaced deprecated gjslint with eslint Bugfixes: - All fixes released in 2.2.10, plus... - Handle MPEGTS timestamp rollover issues, including WebVTT HLS - https://github.com/google/shaka-player/issues/1191 - Fix MP4 timescale assumptions in HLS - https://github.com/google/shaka-player/issues/1191 - Update muxjs to use new keepOriginalTimestamps opt