Releases
v4.6.0
4.6.0 (2023-11-16)
Features
Add a stub text display class (#5804 ) (#5806 ) (700d181 )
Add config to ignore duplicate init data (#5853 ) (acf23f8 )
Add partial info to shaka.media.SegmentReference (#5822 ) (766b0a1 )
Add support for WPE based browsers in RDK set-top boxes (#5852 ) (2eedb12 )
Add thumbnails support in src= (#5802 ) (88e4cd4 )
Add video progress events (#5850 ) (c3beee6 )
Allow prefetch init segments (#5825 ) (3f392c0 )
DASH: Add initial support for "urn:mpeg:dash:ssr:2023" (#5762 ) (508e5cf )
DASH: Add support for Content Steering (#5710 ) (42f491f )
DASH: Add support for Content Steering in AdaptationSet BaseURL (#5884 ) (1c6f1fa )
DASH: Add support for minimum values in service descriptions (#5844 ) (5f94a62 )
Demo: Add CBCS content to demo (#5862 ) (9777c52 )
Demo: Add Content Steering assets (#5888 ) (8e0ee8a )
demo: Add icon for new demo asset (#5866 ) (f7448b7 )
Demo: Add new 3D movie stream from Apple (#5872 ) (a5adf31 )
HLS: Add new config for allow LL-HLS byterange optimization (#5877 ) (3e91e8e )
HLS: Add new config to get codecs from media segment for playlists without CODECS attribute (#5772 ) (80630bb ), closes #5769
HLS: Add support for Content Steering (#5881 ) (b75ca1d )
HLS: Add support for mjpg I-Frames playlist (#5856 ) (801131f )
HLS: Add support for QUERYPARAM variable type in #EXT-X-DEFINE (#5801 ) (fda3189 )
HLS: Add support for REQ-VIDEO-LAYOUT (#5809 ) (81fc82b )
HLS: Build closed captions metadata for media playlist on-the-fly. (#5811 ) (754bfac )
HLS: Improve the stream info when EXT-X-MEDIA has not uri (#5886 ) (b5b6a0f )
ID3: decode APIC frames (#5857 ) (6a862d2 )
Improve latency in LL DASH streams (#5820 ) (20b4abf )
net: Add shaka.net.NetworkingUtils (#5756 ) (be96fd0 )
Stop setting playbackRate to 0 to control buffering state (#5696 ) (6156dce )
thumbnails: Add Player.getAllThumbnails (#5783 ) (9f7576b ), closes #5781
UI: Add chapter titles and dividers on the seek bar (#5863 ) (c1198df )
UI: Bucketize resolution names in the UI (#5816 ) (b56b9df )
UI: Display frame rates in the quality selector (#5753 ) (3096378 )
UI: Show the channel count in the audio selector (#5868 ) (1681acd )
Use ManagedMediaSource when available (#5683 ) (01da5fa )
Bug Fixes
ABR: Fix HLS playback after internet connection is restored (#5879 ) (f5777e5 )
AD_STARTED fires before ad started with AWS Media Tailor (#5855 ) (b39f334 )
Add Orange platform to requiresEncryptionInfoInAllInitSegments (#5895 ) (9d23a87 )
Allow get seekRange on manifestparsed event in some cases (#5892 ) (606d693 )
Allow parseXmlString when createNodeIterator is not available (#5805 ) (ea7764d )
ban new Uint16Array(buffer) (#5838 ) (155befb )
CEA decoder should return early if packet is not large enough (#5893 ) (9a694b5 )
DASH: Fix bad url when specify MPD BaseURL and AdaptationSet BaseURL (#5883 ) (5f891d9 )
DASH: Fix manifest update time for Live manifests (#5763 ) (65449d1 )
DASH: Fix manifest update time for LL-DASH (#5736 ) (8b7141f )
dash: fix race condition in segment template (#5842 ) (8d2b657 )
DASH: Handle minimumUpdatePeriod=0 with urn:mpeg:dash:event:2012 (EMSG) (#5823 ) (f8438df )
DASH: Segments being fetched out of the range of the timeline (#5889 ) (d8aa24f )
Dispatch streamDataCallback correctly in SegmentPrefetchOperation (#5764 ) (bab8153 )
Fix bug with live start time (#5835 ) (577d141 )
Fix chooseCodecsAndFilterManifest for similar frameRate (#5817 ) (8ff204d )
Fix chooseCodecsAndFilterManifest for some HLS manifest (#5800 ) (51870e9 )
Fix converts legacy avc1 codec strings on transmuxer (#5790 ) (8944ca9 )
Fix crash while playing HLS AES 128 streams (#5830 ) (64b12c1 )
Fix DRM workaround for Tizen and Xbox with ac-4 boxes (#5812 ) (72a5de3 )
Fix incompatible codec is selected in Windows Edge for Widevine (#5831 ) (5aa3597 )
Fix mangled property in compiled mode in Content Steering (#5887 ) (0e62b8e )
Fix missing audio streams (#5869 ) (d6aab6b )
Fix nalu parsing and improve performance in the transmuxer (#5846 ) (ae423b4 )
Fix selectAudioLanguage using channelsCount param (#5875 ) (c830a99 )
Fix variant filtering by preferredAudioChannelCount (#5859 ) (51edeae )
For text content is not necessary codec switching (#5731 ) (bdbaae5 )
hisense: set stallSkip to 0 for HiSense devices (#5833 ) (c457db8 )
HLS: Fix accessibilityPurpose detection (#5840 ) (ceaa9fa )
HLS: Fix bad detection in some MediaPlaylist (#5878 ) (5e797bd )
HLS: Fix decryption of AES-128 (#5871 ) (da38b36 )
HLS: Fix init segment when EXT-X-MAP is preceded by EXT-X-BYTERANGE (#5732 ) (24e5de3 )
HLS: Fix kind detection for 'captions' text tracks (#5819 ) (8e442b3 )
HLS: Fix LL-HLS with byterange optimization using segments mode (#5876 ) (c79e5a5 )
HLS: Fix url management in HLS (#5722 ) (8deab71 )
Offline: Fix download of some HLS manifests (#5861 ) (c2c8320 )
offline: Fix server certificate error when trying to store content (#5848 ) (f4a35f2 )
TTML: Fix support of urls in smpte:backgroundImage (#5851 ) (fa93d53 )
UI: Console error on remote.cancelwatchavailability() method in remote playback feature (#5793 ) (b66a8e8 )
UI: Fix text selector when the trackLabelFormat is set to LABEL (#5751 ) (bba0651 )
UITextDisplayer font-family is overridden by UI's Roboto font (#5829 ) (cb8a5ed )
WebVTT: Fix wrong writing-mode in nested cues (#5807 ) (ea7d83e )
Performance Improvements
dash: improve readability and reduce number of loops in dash parser (#5768 ) (17a4363 )
DASH: PeriodCombiner optimisations (#5837 ) (ade93b0 )
DASH: reduce looping and remove chaining awaits in period (#5774 ) (be755e8 )
HLS: Improve detection of all partial segments (#5761 ) (2a35579 )
Improve transmuxer performance (#5789 ) (aa41e87 )
manifest: avoid unnecessary looping in uri resolver (#5773 ) (4d5caee )
simplify and improve performance of parsing initData when deduping (#5775 ) (041a08f )
utils: use WeakSet to track object references (#5791 ) (daa9d1f )
Xbox: drop incompatible variants for XBOX early (#5777 ) (170a40c )
You can’t perform that action at this time.