Name | Modified | Size | Downloads / 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)