Download Latest Version shaka-player-4.16.0.tgz (8.8 MB)
Email in envelope

Get an email when there's a new version of Shaka Player

Home / v4.16.0
Name Modified Size InfoDownloads / Week
Parent folder
shaka-player-4.16.0.tgz 2025-08-26 8.8 MB
README.md 2025-08-26 40.7 kB
v4.16.0 source code.tar.gz 2025-08-26 128.3 MB
v4.16.0 source code.zip 2025-08-26 130.0 MB
Totals: 4 Items   267.1 MB 24

4.16.0 (2025-08-26)

Features

  • Add enableAudioGroups config (#8792) (93117d2)
  • Add HDR detection in Tizen and WebOS (#8680) (ff1ef7c)
  • Add shaka.extern.DrmSessionMetadata to LICENSE_REQUEST_FAILED error (#8788) (4713909)
  • Ads: Add EXT-X-DATERANGE schema for overlay support (#9014) (b5a8d95)
  • Ads: Support clickThroughUrl on interstitials ad manager (#8903) (6a1f793)
  • Allow switch between UITextDisplayer and NativeTextDisplayer on runtime (#8736) (a1cb769)
  • Allow update some prefer* config on the fly (#9001) (8e71a9b)
  • CMCD: Add bg key support (#8973) (eab22af)
  • CMCD: Add cmsdd key support (#8976) (842f2d4)
  • CMCD: Add cmsds key support (#8977) (51a9c9c)
  • CMCD: Add event mode support (#8980) (c33e19e)
  • CMCD: Add rc key support (#8972) (9e1ea12)
  • CMCD: Add response mode for CMCDv2 (#8782) (2420cc9)
  • CMCD: Add sn key support (#8975) (712850c)
  • CMCD: Add ts key support (#8971) (ab3a452)
  • CMCD: Add ttfb and ttlb keys support (#8974) (863714d)
  • CMCD: Add url key support (#8970) (c6df3cf)
  • DASH: Add support for certificate acquisition URL (#8824) (5b5e222)
  • DASH: Change from L3D to non-L3D after the successful playback (#8876) (a7cb005)
  • DASH: Remove multiTypeVariantsAllowed config and add support for it on all browsers (#8858) (bf26c3f)
  • Demo: Add new VR streams from Apple (#8728) (1c8f457)
  • Enable low latency by default on low latency streams only (#8843) (410eb05)
  • Expose video label in Track and VideoTrack (#8947) (5654aea)
  • Expose video roles in Track and VideoTrack (#8944) (4967e52)
  • HLS: Get info about projection from REQ-VIDEO-LAYOUT instead of parsing the init segment (#8731) (bc4d337)
  • Queue: Add preloadPrevItem config (#8910) (e3c8631)
  • Queue: Allow include preloadManager in QueueItem (#8906) (c56b5ec)
  • Support videoRole in AdaptationSetCriteria (#8945) (570fec9)
  • Transmuxer: Split init segment and segment data when appending to MSE (#8855) (b59066e)
  • UI: Add alwaysShowVolumeBar config (#8807) (6b9569a)
  • UI: Add enableKeyboardPlaybackControlsInWindow config (#8751) (e8208c2)
  • UI: Add MaterialSVGIcon element (#8969) (d798db5)
  • UI: Add more keyboard shortcuts (#8767) (ce391bc)
  • UI: Add Polish translation to skip previous button (#8852) (9313a46)
  • UI: Add skip previous button (#8849) (ca8c9bf)
  • UI: Change SVG icons for statistics (#8985) (9ab921a)
  • UI: Enable preferVideoFullScreenInVisionOS by default (#8806) (50dd978)
  • UI: Only show resolutions with the same video role (#9000) (681e85a)
  • UI: Remove save video frame on overflow menu by default (#8927) (67f4014)
  • UI: Replace icon font with SVG icons (#8986) (7d61334)
  • UI: Show the audio selector when they only differ in the label (#8745) (5022f9d)
  • UI: Use Dolby Vision as the name instead of HDR in the resolution menu (#8926) (f2d2ed7)
  • UI: Use Mbps notation in resolution selector (#8779) (becf5d3)

Bug Fixes

  • ABR: Fix abr switching in some cases (#8836) (fbb7161)
  • ABR: Only update the variants if they are different (#8999) (4891486)
  • Add Orange STB Back To requiresEncryptionInfoInAllInitSegments (#8966) (b6dd9b6), closes #8965
  • Ads: Fix AD_STARTED delayed when using the base video (#8880) (fbf408c)
  • Ads: Fix interstitials support when using PiP on Safari (#8875) (e0bdbd6)
  • Ads: Fix interstitials when not using multiple media elements (#8681) (863aa07)
  • Ads: Fix pre-roll identification when using VMAP (#8898) (b312314)
  • Ads: html unescape node attributes with urls (#9024) (e864848)
  • Allow change NativeTextDisplayer on runtime (#8735) (fa1a6b7)
  • Allow preload segments when we discard the reference by cross boundary logic (#8862) (0fb680a)
  • Another Sony Bravia TV Playready Failure (#8791) (62e55d4)
  • avoid calling new Date(null * 1000) (#8963) (47ea45d)
  • Avoid minifying AdaptationSetCriteria configuration (#8997) (41263d4)
  • Avoid reset or changeType in MSE when not necessary (#8744) (dbc76f9)
  • Avoid throw BUFFER_READ_OUT_OF_BOUNDS when not necessary (#8753) (231dd03)
  • Bail out on other decodingInfos when we found a preferred and supported one. (#8829) (5245bc3)
  • Cancel update before schedule an update after fetchAndAppend (#8878) (e65c3c6)
  • CEA: INVALID_MP4_CEA error being thrown when shouldn't be (#8748) (49c228c)
  • Check that the current reference exists before updating codecs (#8920) (bdae7a0)
  • Close segment index when calling to unloadTextStream (#8754) (66efb0a)
  • CMCD: Fix player expand/collapse events (#9016) (c8d2452)
  • DASH: Always fit segments to period boundaries on VOD (#8825) (f512b3a), closes #8774
  • DASH: Change start number for SubNumber templating, based on DASH 6th edition (#8860) (7526f2b), closes #8859
  • DASH: Consider codec profile when matching multi-period renditions (#8842) (f69a7fa)
  • DASH: Fix L3D streams (with k parameter) without $SubNumber$ (#8770) (cb22ab6)
  • DASH: Fix Playback Fails on Widevine L1/L3 Streams (#8936) (087387b)
  • DASH: Fix segmentSequenceCadence default value (#8877) (1f115d3)
  • DASH: Prevent memory leak in uncompiled mode (#8884) (27163ff)
  • DASH: Update SegmentSequenceProperties according to latest spec (#8909) (e8ccbee)
  • DASH: Update timeline on PTO change (#8869) (ff34d1c)
  • DASH: Use the correct Representation ID for Uri substitution of media segments (#8760) (88627c3)
  • Demo: Assign valid regex to asset name input (#8815) (3dd685c)
  • Demo: Fix keep custom config on page reload (#8776) (d3fd770)
  • Demo: Fix keep custom config on page reload (#8777) (35124e4)
  • Demo: Interact with queueManager before do any adManager operation (#8894) (a8af2c2)
  • Don't cancel trick play near to live edge if rate is less than 1 (#8772) (15401c3)
  • Don't filter video streams with different roles (#8991) (cb52a88)
  • Don't sort TS samples (#8708) (c15e524)
  • EMSG: Fix memory leak in EMSG handling (#9004) (c79b796)
  • Fix 4k stream support within browser env on Tizen (#8764) (e303024)
  • Fix Apple Vision Pro (Vision OS) detection and other VR devices detection (#8805) (5b27f0f)
  • Fix Apple Vision Pro detection (#8732) (3506c4f)
  • Fix Apple Vision Pro integration with some features (#8915) (1ec86ef)
  • Fix bad assert on DeviceFactory (#8705) (1c4a206)
  • Fix buffering states when rebuffering goal is 0 (#9018) (d3fcb2b)
  • Fix chopped playback in some DASH multiperiod streams (#8717) (49f569d)
  • Fix default value of defaultAudioRobustnessForWidevine and defaultVideoRobustnessForWidevine on Android (#8896) (b87bf9d)
  • Fix disable captions after load using src= on Safari (#8841) (34484a3)
  • Fix end-of-stream detection for VOD (#8813) (75e2711)
  • Fix isAudioMuxedInVideo check on StreamingEngine (#8893) (42cf404)
  • Fix keyboard controls in fullscreen mode (#8962) (c767405), closes #8960
  • Fix PlayReady support on Chromium Windows (#8683) (642cecf)
  • Fix probeSupport when testing opus and flac codecs (#8987) (d7d3c51)
  • Fix QuickTime and MOV formats playback on Chromium (#8989) (dac3813)
  • Fix reloadTextStream function when using text with init segments (#8811) (80f407f)
  • Fix selectAudioTrack when using src= (#8857) (b02bb97)
  • Fix Tizen 3 default cross-boundary strategy (#8850) (4340864)
  • Fix ts parser when using B-frames (#8696) (cc98d40)
  • Fix URI encoding with plus characters (#8916) (6ce9cf4), closes #8713
  • Fix videoBandwidth when using LCEVC dual track (#9013) (f905bda)
  • Fix WebVTT position handling in UITextDisplayer (#9017) (aaef0ab)
  • HLS: Fix APAC detection (#8724) (8cd5470)
  • HLS: Fix disableVideo when the context has muxed audio (#8831) (441f60b)
  • HLS: Fix display stpp subtitles (#8995) (43a45ea)
  • HLS: Fix getAudioTracks in some HLS streams (#8996) (57d3eae)
  • HLS: Fix HLS audio only stream does not play when URI field is omitted from #EXT-X-MEDIA (#8988) (5abfc00)
  • HLS: Fix playback of content with mixed containers (mp4 and ts) (#8837) (f7c2295)
  • HLS: Fix preload initial variant (#8835) (c6b1390), closes #8830
  • HLS: Fix preload initial variant on Tizen (#8873) (97c28c9)
  • HLS: Fix presentation delay when there are not enough segments (#8793) (762063d)
  • HLS: Fix reset media source when using muxed content (#8738) (bb57889)
  • HLS: Fix resync issues on Safari (#8808) (7d43ee4)
  • HLS: Fix switching between muxed and alternate audios (#8741) (c1e2f7a)
  • HLS: mediaSequenceToStartTime isn't maintained correctly for AUDIO manifest (#8784) (e23112e)
  • HLS: Reset PTS/DTS reference at discontinuities when using TS (#8794) (f5c0fb2)
  • LCEVC: Create segmentIndex on makeAbortDecision_ (#8838) (57c7d73)
  • Live to VOD discards the wrong segments when crossBoundaryStrategy is not KEEP (#8863) (731c4f1)
  • MCap improvements in order to support more MCap implementations (#8821) (f056c8c)
  • NativeTextDisplayer.remove() not following the spec (#8714) (3cbc770)
  • net: Throw HTTP_ERROR if request header is not valid (#8990) (57f6980)
  • Offline: Fix persistent session removal (#8895) (62dce4a)
  • Only change appendWindowStart and appendWindowEnd when necessary (#8716) (b58a2e2)
  • Prevent text caret from showing with certain browser settings (#8953) (8e12f4d), closes #8950
  • Reset MSE when the current readyState is closed (#8930) (f4f3676)
  • Reset text visibility on unload (#8775) (7a8dc53)
  • Save current variant when using unloadAndSavePreload (#8907) (cd69646)
  • Separate gap jumping seeks from user seeks (#8911) (656c588)
  • Session Update Error Handling For Youview Platform (#8918) (d4e0809)
  • Transmuxer: Fix bad generation of silence frames (#8983) (e8b12d0)
  • Transmuxer: Fix width calculation when using HEVC-TS (#8868) (60cb17d)
  • UI: Avoid useless exception (#8992) (000fe3c)
  • UI: Disable keyboard controls when there is not asset loaded (#8766) (1577475)
  • UI: Don't exit Fullscreen and PiP when unloading an ad (#8879) (140abf9)
  • UI: Don't show improper bandwidths in the resolution selector (#8928) (2dc7a40)
  • UI: Don't show loop button for live streams (#8700) (28f8f11)
  • UI: Exit from Fullscreen and PiP when unloading (#8848) (55aabbb)
  • UI: Fix 3D detection (#8725) (ee5de11)
  • UI: Fix default value of enableKeyboardPlaybackControlsInWindow (#8765) (1dc4a96)
  • UI: Fix detection of some VR formats (#8727) (084d35a)
  • UI: Fix fullscreen doesn’t work on iPad (Edge/Chrome) (#8757) (4c97ed8)
  • UI: Fix missing style for shaka-tooltip-status (#8699) (0fa8ab3)
  • UI: Fix PageDown and PageUp shortcuts (#8769) (1731b33)
  • UI: Fix unhandled rejection on remote button (#8778) (30166a6)
  • UI: Fix volume slider control is not accessible by keyboard (#8809) (1b2b6b8)
  • UI: Handle video duration greater than 24 hours (#8692) (35ccd2b)
  • UI: Hide player labels when More Settings menu is open (#8694) (f341535)
  • UI: Hide settings menus when the user changes the current time (#8693) (09f8130)
  • UI: Make the overflow menu visually smoother (#8773) (342e968)
  • UI: Not show thumbnails over ad periods (#8800) (f4bb0aa)
  • UI: Only enable enableFullscreenOnRotation and forceLandscapeOnFullscreen on mobile (#8701) (192fec9)
  • UI: Only show replay button when there is a duration in the media element (#8740) (4ac3c97)
  • UI: playback rate selection update and skip-previous icon size (#8993) (243a86b)
  • UI: Prevent override box-sizing style on range elements (#8810) (97ad3ea)
  • UI: Resize overflow and settings menus when necessary (#8742) (c7d2a38)
  • UI: Seek on double-tap regardless of player controls visibility (#8998) (7ebdc3b), closes #8949
  • UI: The playback time displayed in the seek bar is different from currentTime when click (#8758) (c97e0a6)
  • UI: Update play button state when the player is loaded (#8739) (e9d32be)

Performance Improvements

  • Ads: Improve the startup of interstitials when the starttime is 0 (#8899) (1267f5d)
  • Ads: Reduce VMAP processing time (#8897) (65fd477)
  • Close media source only on audio/video updates (#8826) (b1579eb)
  • DASH: Do not store duplicated pssh data buffers (#9006) (a054b7e)
  • DASH: Simplify multiperiod eviction (#9007) (048ee45)
  • DRM: Run expiration timer only when EME is in use (#8853) (c14e6cc)
  • HLS: Do not store duplicated pssh data buffers (#9009) (062259e)
  • Mp4Generator: Lazy initialize static buffers (#8919) (51ce66c)
  • net: Do not parse headers twice in XHR plugin (#8710) (e8a8ad9)
  • Only parse spatialVideoInfo for video segments (#8726) (4c2476d)
  • Simplify getAudioTracks internally when using src= (#8703) (53db655)
  • Simplify region timeline buffer management (#8921) (7b51098)
  • Simplify selectAudioTrack internally (#8687) (aab4c27)
Source: README.md, updated 2025-08-26