Skip to content

v4.13.0

Latest
Compare
Choose a tag to compare
@shaka-bot shaka-bot released this 23 Jan 12:50
34395b9

4.13.0 (2025-01-23)

Features

  • ABR: Use PiP window size when using documentPictureInPicture (#7880) (c232867)
  • ABR: Use PiP window size when using requestPictureInPicture (#7882) (a583c4a)
  • Add 'downloadcompleted' event (#7609) (13186bd), closes #7608
  • Add adaptation set criteria factory configuration (#7886) (6e4bfdf), closes #7768
  • Add basic support for the Common Access Token (#7651) (c10b796)
  • Add configuration to ignore SCTE214 supplemental codecs (#7717) (e1d1d19)
  • Add downloadcompleted event description (#7615) (0db5813)
  • Add new error code for missing EME support (#7596) (3a83e76)
  • Add streaming.preferNativeDash config (#7737) (27976f1)
  • add support for multiple robustness levels in drm (#7753) (88472b3)
  • Add support for WisePlay DRM (#7854) (7ef0f92)
  • Add Watermark Support to Shaka Player UI (#7877) (56523e4)
  • Add watermark to uncompiled mode (#7895) (14c4fe1)
  • Ads: Add basic support to DASH OverlayEvent (#7701) (b704af0)
  • Ads: Add support for images and iframes in interstitials (#7712) (8db876f)
  • Ads: Add support for overlay interstitials (or non-linear ads) (#7657) (70257ff)
  • Ads: Allow OverlayEvents without viewport (#7734) (426090d)
  • Ads: Expose the interstitial player (#7793) (6783ce0)
  • Ads: Parse non-linear VAST ads (#7702) (0c7d204)
  • Ads: Populate getAdId and getMediaUrl for interstitials (#7922) (1a6a0db)
  • Ads: Support HTMLResource on non-linear VAST ads (#7710) (6f4d2d2)
  • Check minHdcpVersion in probeSupport (#7809) (fab3faf)
  • CMCD v2 LTC and MSD keys (#7412) (b2673fd)
  • Create segmentIndex when there is only one variant (#7868) (3a85217)
  • DASH: Extract PlayReady licenseServerUri from PSSH (#7898) (8fda5d8)
  • Demo: Allow storage of MSS-PlayReady in demo (#7801) (8764169)
  • Demo: Display unhandled rejections in demo (#7638) (d7e78f6)
  • HLS: Add support for getting license server url for PlayReady (#7790) (effa244)
  • net: Add originalRequest to shaka.extern.Response (#7857) (59c9989)
  • Offline: Allow downloading some clearkey content without persistent license support (#7811) (50a1851)
  • Save CEA708 caption cues on all windows when deleting/clearing windows (#7909) (19bd472)
  • Simplify the use of low latency (#7748) (6616ff2)
  • Stop setting playbackRate to 0 to control buffering state when streaming.rebufferingGoal = 0 (#7617) (84b64af)
  • UI: Add config to show the audio codec in the audio selector (#7644) (ee72b89)
  • UI: Add option to show the video codec name (#7747) (075c3fd)
  • Update usage of minBufferTime according to the DASH spec (#7616) (2260aa9)
  • Use MSE clearLiveSeekableRange and setLiveSeekableRange when available (#7905) (87d9392)

Bug Fixes

  • Abort operations only once (#7624) (d407d15)
  • Ads: Always fire CUEPOINTS_CHANGED when not using multi video elements (#7584) (a4d0fc8)
  • Ads: Always set endTime for MPD Alternate (#7583) (16580ea)
  • Ads: Apply X-PLAYOUT-LIMIT to entire interstitial (#7804) (e40341c)
  • Ads: Avoid adding custom interstitials without URI (#7696) (743b451)
  • Ads: Avoid skip interstitial when is not allowed (#7686) (7be22db)
  • Ads: Calculate the mimeType in an earlier step so that there is no impact on the ad playback (#7742) (c113738)
  • Ads: Disable interstitials when playing an interstitials (#7621) (7401adf)
  • Ads: Don't allow play an overlay video ad using the base video (#7740) (172e713)
  • Ads: Don't dispatch cue points changed if it is an overlay (#7695) (eb4a45e)
  • Ads: Don't try to play Image and HTML overlay interstitials (#7697) (87cbf4d)
  • Ads: Fix ad position by default (#7659) (ef2c7eb)
  • Ads: Fix bad static overlay ad position (#7735) (e4825c3)
  • Ads: Fix behavior when user JUMPS across more than one interstitial (#7667) (4aa9306)
  • Ads: Fix id of X-ASSET-LIST (#7662) (79b1536)
  • Ads: Fix post-roll playback (#7663) (9fd349a)
  • Ads: Fix unnecessary request when using VAST (#7660) (d09cd7e)
  • Ads: Fix usage of ENABLE-SKIP-AFTER and ENABLE-SKIP-FOR (#7677) (8048d02)
  • Ads: Fix usage of ENABLE-SKIP-FOR in Interstitals (#7652) (46ab1cb)
  • Ads: Fix VAST_INVALID_XML error code (#7593) (c1e26ea)
  • Ads: Limit static overlay playback to the timeline (#7741) (eff0aef)
  • Ads: Only display the secondary video if necessary (#7709) (072acf0)
  • Ads: Prevent playing the same ad twice (#7585) (10659c5)
  • Ads: Remove iframe border in overlays (#7738) (60c88eb)
  • Ads: Stop properly interstitial ads (#7708) (f186185)
  • Ads: Update Alternative MPD to match the latest spec (#7706) (cd78811)
  • Ads: Use region.id as id for Alternative MPD interstitial (#7671) (18ed02c)
  • Allow set maxLatency and minLatency to 0 (#7704) (4744d1e)
  • Allow the user to disable subtitles while paused (#7578) (f41c65d)
  • Avoid setAppendWindow when the window is Infinity (#7923) (c75ebd7)
  • Avoid stack overflow when stringifying objects (#7721) (90e47eb), closes #7435
  • Avoid useless MSE reset when transmuxing muxed content (#7818) (cc930a8)
  • Calculate timeToFirstByte before fire the event 'downloadheadersreceived' (#7605) (0fc5316), closes #7604
  • Cast: Incorrect detection of MediaCapabilities on Linux Chromecast (#7628) (bc0b9f2)
  • CEA: Fix multi byte language support in CEA-708 (#7837) (5b13332)
  • CEA: Fix multi byte language support in CEA-708 (#7929) (3856c58)
  • Codec switch reload - apply boundaries correctly (#7700) (8dd9d20), closes #7595
  • DASH: Change fallback presentation delay (#7918) (b9eabe5)
  • DASH: Error due to deleted stream (#7723) (0ca6ff7)
  • dash: Fix $Time$ usage with SegmentTemplate (#7849) (abd6d8b)
  • DASH: Fix Dolby Atmos detection when there is not SupplementalProperty (#7847) (cf581cd)
  • DASH: Fix playback after DASH period eviction (#7603) (d8a14b0)
  • DASH: Ignore early segments in a period (#7910) (c7a93d7)
  • DASH: Notify time range with the fitted timeline (#7911) (a89ee1a)
  • Detect mov extension as video/quicktime (#7884) (b0be779)
  • Detect smooth codec switch support on Apple devices (#7678) (f765e05)
  • Disable live sync when the stream is paused (#7579) (89267cc)
  • Disable smooth codec switch on Tizen 8 (#7614) (cd6aae7)
  • Disable smooth codec switch on webOS 6 (#7636) (93e6921)
  • Docs: Remove info about small/large gaps from manual (#7762) (9234e44)
  • Don't ignore the license server in manifest when another key-system has license server in configuration (#7797) (ae34b68)
  • Fix cast support for HLG HDR (#7632) (f964708)
  • Fix CBCS support in recent WebOS (#7647) (137f256)
  • Fix change timestampOffset on discontinuities when not necessary (#7823) (d3238dd)
  • Fix ClearKey license on old CDMs (#7816) (fe1f35b)
  • Fix gaps produced by the transmuxer (#7822) (934bdff)
  • Fix isEnded for live streams (#7866) (5e5e5a8)
  • Fix isEnded when is not fullyLoaded (#7883) (7e6116f)
  • Fix missing EMSG events (#7839) (e6ca059)
  • Fix normalized codec for VP9 (#7645) (f2061e4)
  • Fix parameters lost during codec switch (#7630) (7837b60)
  • Fix playback on Apple devices without ManagedMediaSource (#7669) (ff7c465), closes #7666
  • Fix SEGMENT HEAD requests, compatibility with Cast SDK (#7851) (b153a9c), closes #7600
  • Fix select spatial audio when using selectAudioLanguage (#7846) (c5dc5f4)
  • Fix setLiveSeekableRange when the seekable range is too short (#7916) (30be525)
  • Fix support for supplemental codecs (Dolby Vision) (#7720) (279e6cd)
  • Fix unload call after destroy (#7690) (18652b6)
  • Fix usage of keySystemsMapping (#7736) (79a481e)
  • Fix video progress events accuracy (#7654) (5f8e958)
  • Follow the configured playRange for src= (#7825) (b22e546)
  • Forbid usage of instanceof ArrayBuffer (#7653) (55b7bd0), closes #6279
  • HLS: Assign EXT-X-TILES to segment tags (#7864) (851308c)
  • HLS: Correctly identify webvtt subtitles with cmft extension (#7791) (7ef5e62)
  • HLS: Disable audio/video correctly when loading a TS media playlist (#7815) (626591e)
  • HLS: Disable text correctly when loading a media playlist (#7840) (0fa17f6)
  • HLS: Do not use EXT-X-PROGRAM-DATE-TIME on vod when there is only video or audio (#7802) (fe94b6b)
  • HLS: Fix audio detection when there is no audio data but it appears in PMT (#7838) (34b69fa)
  • HLS: Fix playback of raw AAC (#7641) (1d9ac65)
  • HLS: Fix subtitle timing (#7625) (9e2b15e)
  • HLS: Fix subtitle timing when no discontinuity but there is X-TIMESTAMP-MAP (#7681) (7afe08e)
  • HLS: Fix timestamp offset for raw formats when using segments mode (#7819) (bd29645)
  • HLS: Ignore errors when try to detect CC (#7668) (5be0fc4)
  • HLS: Omit daterange without START-DATE in order to avoid errors (#7841) (bc0e1c6)
  • Offline: Allow downloading AES content (#7827) (21bbd93)
  • Offline: Allow storage of MSS streams (#7799) (bc41643)
  • Offline: Fix download HLG tracks when using AUTO hdr level (#7865) (0eedbc9)
  • Offline: Fix some aborted downloads continue to download (#7842) (fb8086b)
  • Only create TextTrack of SimpleTextDisplayer when necessary (#7913) (9e71a01)
  • Prefer Dolby Vision p5 over Dolby Vision p8 (#7745) (60429e9)
  • Prefer SimpleTextDisplayer on iOS (#7569) (bd2c9a7)
  • preload: Wait for drm keys when preloading (#7698) (a1e2f0a), closes #7520
  • PS5: Prevent uncaught promise rejections when requests are aborted (#7637) (09cfac2)
  • re-open the MediaSource if readyState is not open when the init() method is called. (#7783) (6610fa3)
  • Remove useless calls to isTypeSupported (#7817) (bd99632)
  • Remove useless deprecation in UITextDisplayer and add some guards in SimpleTextDisplayer (#7805) (fd78ec4)
  • Silence aborted errors from PreloadManager. (#7619) (f277f2c), closes #7618
  • Silence uncaught rejection errors when closing EME sessions (#7881) (bc6a79f)
  • Timeout unfulfilled request to decodingInfo and requestMediaKeySystemAccess (#7682) (07894ec), closes #7680
  • Transmuxer: Fix transmuxer with overflow data (video nalus and aac samples) between PES (#7813) (77c4251)
  • tXml: Fix findChildrenNS when the namespace is in the element (#7896) (bcff34c)
  • UI: Allow 1x playback rate when default playback rate is not x1 (#7787) (724166e)
  • UI: Allow pause non-linear video ads (#7699) (2953b6f)
  • UI: Change to use legacy css format to support old TVs (#7658) (e03dfc6)
  • UI: Do not show codec name when the same codec is used for the same language (#7643) (87f6aa6)
  • UI: Fix exception while casting to mismatched player version (#7631) (c9534a0)
  • UI: Fix handle of seek on MediaSession (#7879) (57992b2)
  • UI: Fix playback rate resets when pausing or playing the video (#7728) (6e382ce)
  • UI: Hide ad counter when the ad is non-linear (#7718) (effaf95)
  • UI: Hide ad position when the ad is non-linear (#7711) (8566836)
  • UI: Show Dolby Atmos name in the UI (#7848) (a0848f7)
  • UI: Show presentation time when playing non-linear ads (#7707) (d00ea51)
  • UI: Use trickPlay method to control the playback rate (#7580) (70c2fda)
  • UI: Video starts playing automatically when selecting a playback rate (#7786) (ac568a4)
  • Use getSegmentAvailabilityStart instead of getSeekRangeStart to evict segments (#7867) (11afdc8)
  • Use infiniteLiveStreamDuration equal to true in Safari 17 or above (#7901) (5005fac)
  • Widevine: Add default audio/video robustness for Widevine (#7808) (a018f53)
  • Xbox: Simplify the use of WebView2 (#7743) (775bc4e)

Performance Improvements