Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore(v3.3.x): release 3.4.0 #1

Open
wants to merge 1 commit into
base: v3.3.x
Choose a base branch
from

Conversation

github-actions[bot]
Copy link

@github-actions github-actions bot commented Aug 8, 2023

🤖 I have created a release beep boop

3.4.0 (2024-05-06)

Features

Bug Fixes

  • config.streaming.preferNativeHls only applies to HLS streams (#5167) (1dacefc), closes #5166
  • 3783 captions not working after a period transition on live DASH streams (#3801) (6e0737e), closes #3783
  • 4676 - Virgin Media set top box is incorrectly categorized as Apple/Safari (#4678) (dff6683), closes #4676
  • abr: use Network Info API in ABR getBandwidthEstimate (#4263) (391eb75)
  • Account for server-side ad cue points in external text tracks. (#3617) (a7f4db7)
  • Add DASH MIME type mapping for src= playback (#3805) (3a9139e)
  • Add explicit release() for FakeEventTarget (#3950) (1f9dd98)
  • Add fallback to TextDecoder and TextEncoder (#4324) (2be2af9)
  • Add missing module export in generated typescript defs (#4163) (164e601)
  • Add mux.js to support.html (#4923) (166d7cd)
  • add strictMissingProperties suppressions to unblock strict missing properties on union types. (#4371) (6225452)
  • Add support to file type in mediaCapabilities implementation (#3570) (233c2bf), closes #3530
  • Add support to file type in MediaCapabilities polyfill (#3569) (c07d1a3), closes #3530
  • Add Support to iOS 12 in MediaCapabilities polyfill (#3573) (ef506ac)
  • ads: Add ResizeObserver to CS ad manager. (#3652) (2bdc326), closes #3638
  • ads: Dispose of ad manager on player detach (7b2a172)
  • ads: Fix ads starting muted behavior (#5153) (cbfaa70), closes #5125
  • Ads: Fix CS volume ad (#5016) (b0bb23c)
  • ads: Fix IMA crash when autoplay is rejected (#4518) (f77c9f3), closes #4179
  • ads: Fix stopping of Server Side Ad manager (#3611) (a17c988)
  • Ads: Fix usage of EventManager on CS (#5017) (83f9153)
  • Ads: Fix usage of EventManager on CS (#5084) (d412b08)
  • ads: Fix VMAP ads stay muted on muted autoplay (#4995) (1d74f6e)
  • allow build without text (#4506) (5014c1d)
  • Allow overriding special handling of 404s (#4635) (d927cec), closes #4548
  • Allow the playback of TS without mux.js (#5041) (5784250)
  • allow the playback on platforms when low latency APIs are not supported (#4485) (c0fc0b4)
  • Always polyfill MediaCapabilities for Apple browsers (#3588) (4dce1e0)
  • Avoid seeking on src when start time is 0 (#3644) (3f822d8), closes #3518
  • Avoid WebCrypto randomUUID when CMCD disabled (5f2ccfd)
  • Caption can not turn off at iOS Safari (#4978) (35f420e)
  • cast: Make cast tests more forgiving. (4fee1de)
  • cast: Reduce size of Cast update messages (#4644) (5e0e942)
  • cast: Use cast platform APIs in MediaCapabilties polyfill (#4727) (dccb28d)
  • cea: Fix BUFFER_READ_OUT_OF_BOUNDS error when CEA caption packets are empty (#3609) (97ba4df), closes #3608
  • cea: Fix MAX_ROWS in CEA-708 window (#4757) (4909b0d)
  • cea: make a more robust CEA MP4 parser (#3965) (7281e0f)
  • chapters: removed duplicate chapters by id (#4810) (8fc7883)
  • check for negative rows before moving (#4510) (359b63e), closes #4508
  • Clear buffer on seek if mediaState is updating (#3795) (72c9caa), closes #3299
  • cmcd: Fix Symbol usage in CMCD on Xbox One (#4073) (c638b4f), closes #4072
  • Content reload starttime with HLS on iOS (#4575) (7fea5c2), closes #4244
  • css: Fix missing % in calculation (#4157) (ee8404f)
  • css: Fix missing calc() statements (#4156) (002d5eb), closes #4155
  • dash: Account for bandwidth before filtering text stream (#3765) (edd58fc), closes #3724
  • DASH: Fix dynamic manifests from edgeware (#4914) (06bfd10)
  • dash: Fix performance regression (#4064) (bfac645)
  • dash: Fix playback of Dolby Atmos (#4173) (ced8ab3), closes #4171
  • DASH: Fix seeking on multiperiod content after variant change (#5110) (2ee97e2)
  • dash: Notify segments on all updates. (b8b72a9), closes #3675
  • DASH: Support "forced-subtitle" role (#3807) (f767260), closes #3767
  • Dedupe DRM init data (#3695) (a09d8c9)
  • Demo: Allow manifest type for DAI custom assets (#4977) (d341f93)
  • demo: allow switch between UITextDisplayer and SimpleTextDisplayer (#4275) (251dc19)
  • demo: Fix 'Tears of Steel (live, DASH, Server Side ads)' (#3758) (fb90679)
  • demo: Fix default demo index versions (#4116) (19c1e3c)
  • Discard only invalid overlapping periods (1c64e20)
  • Discard only invalid periods (94d696f)
  • Display captions with forward slashes (#3556) (65e9d8f)
  • Do not report MANIFEST RESTRICTIONS_CANNOT_BE_MET error twice (#4194) (565e9e0), closes #4190
  • Don't destroy ad manager on detach (#3665) (684dd85)
  • Don't forget active track after new period is added to live stream. (22307d0), closes #3510
  • Don't gap jump at start of video if autoplay is not set (#3645) (9e15323), closes #3451
  • Don't send drmsessionupdate after unload (#4248) (c20c590)
  • Enforce string-format of event data keys. (dd3748d), closes #3710
  • Enhanced fix for geo-redundancy (5f77d2b)
  • exception if on early adError (#4362) (c6339d2), closes #4004
  • Failed to set 'currentTime' property on 'HTMLMediaElement' on a Hisense TV (#4962) (bda4e50)
  • Failover in geo-redundant streams (930c158)
  • FairPlay playback (#3531) (3995000)
  • Fallback to isTypeSupported when cast namespace is undefined (#5012) (141f0e3)
  • Filter unsupported H.264 streams in Xbox (#4493) (21ee94f)
  • Fix ARIA label on replay button (#3513) (2dedd9f), closes #3512
  • Fix audio language switching while using AirPlay (#3472) (f9c289e), closes #3125
  • Fix audio mime type in multiplexed HLS stream (#4241) (d10c5bc)
  • Fix bitmap-based cue size (#4453) (ad52a97)
  • Fix bufferBehind setting broken by image segments (#4718) (f9121b5), closes #4717
  • Fix buffering due to re-fetch (SegmentIterator) (#3419) (9e6da5a)
  • Fix buffering due to re-fetch (SegmentTemplate+duration) (#3419) (9dc4664)
  • Fix buffering due to re-fetch (SegmentTimeline) (3222370)
  • Fix CC parsing of EPB and v1 TKHD boxes (#3610) (6a775e2), closes #3502
  • Fix choosing tracks from streaming event (#3459) (760161f), closes #3448
  • Fix clearing buffer when requested for already-selected variant (#3477) (e85009d), closes #3450
  • Fix CMCD property mangling (#3842) (25ef6c9), closes #3839
  • Fix CMCD top bitrate reporting (#3852) (299a1db), closes #3851
  • Fix compilation error with strict constness (6757d23)
  • Fix compiler error introduced in #3864 (#3906) (f5bb75e)
  • Fix DASH transition from dynamic to static (#3497) (b3166db), closes #3376
  • Fix detection of ac4, dts, and dolby h265 (#4657) (44e4fd7)
  • Fix download of some HLS assets (#3934) (449065c)
  • Fix DRM workaround for Tizen and Xbox with ac-3 boxes (#3631) (56a0042), closes #3589
  • Fix DRM workaround for Tizen and Xbox with avc3 boxes (#3625) (31b1ca9)
  • Fix DRM workaround for Tizen and Xbox with hvc1/hev1 boxes (#4743) (a84fe2a), closes #4742
  • Fix duplicate CMCD parameters in HLS live content (#3875) (5a201db), closes #3862
  • Fix duplicate updates in StreamingEngine (#4840) (ca72438), closes #4831
  • Fix encryption detection to work around broken platforms (#4169) (87893e8)
  • Fix enforcement of cue alignment styles (2250324), closes #3379
  • Fix EOS set-top box being identified as Apple. (#4310) (621cda5)
  • Fix event listener leaks in Player (#4229) (1fe8df2)
  • Fix exception in StreamingEngine for EMSG with HLS (#3887) (ca1ca33), closes #3886
  • Fix exception with streaming.startAtSegmentBoundary (#4216) (1b6ca04), closes #4188
  • Fix exceptions when quickly shutting down src= on Safari (#4088) (2e10748), closes #4087
  • Fix failure with multiple thumbnails per period (052e794), closes #3383
  • Fix fetch plugin with old implementations (#5091) (8ddc98e)
  • Fix filtering of duplicate image streams (42674be), closes #3383
  • Fix flattenedCues in WebVttGenerator (#4867) (45af59e)
  • Fix getVideoPlaybackQuality in WebOS 3 (#4316) (d0c4c04)
  • Fix handling of CC when switching between codecs (#5160) (3ea3fb4)
  • Fix hang when seeking to the last segment (#4537) (2868e12)
  • Fix HEAD request exception (#5194) (29d6b4c), closes #5164
  • Fix hung playback on rapid seek (#3479) (f7facc0), closes #3384
  • Fix key ID byteswapping for PlayReady on PS4 (#4377) (fa8f5fc)
  • Fix legacy codec support by rewriting codec metadata (#4858) (bec765c)
  • Fix mediaCapabilities polyfill on Chromecast (de77787)
  • Fix MediaCapabilities polyfill on Hisense (#4927) (5317329)
  • Fix MediaCapabilities polyfill on Playstation 4 (#4320) (68fc5c4)
  • Fix MediaCapabilities polyfill on Safari (cc71ecd), closes #3696 #3530
  • Fix MediaCapabilities polyfill on Tizen and WebOS (#4396) (89fef08), closes #4383 #4357
  • Fix memory leak in DASH live streams with inband EventStream (#3957) (6eb81da)
  • Fix misdetection of HEVC support on MS Edge (#3897) (106739e), closes #3860
  • Fix missing originalUri in response filters (#5114) (626ef1f)
  • Fix missing throughput in CMCD for HLS live (#3874) (6e384e3), closes #3873
  • Fix multi-period DASH with descriptive audio (#4629) (3a3cb24), closes #4500
  • Fix multiperiod without consistent thumbnails (ed1563f), closes #3383
  • Fix PERIOD_FLATTENING_FAILED error when periods have different base sample types (#4206) (04ff0fc), closes #4202
  • Fix playback failure due to rounding errors (136a417), closes #3717
  • Fix playRangeEnd for certain content (#4068) (11f998d), closes #4026
  • Fix race that allows multiple text streams to be loaded (#5129) (1942d1d)
  • Fix rare exception after StreamingEngine teardown (#4830) (6e170c6), closes #4813
  • Fix segment index assertions with DAI (ccc9d1e)
  • Fix selectVariantsByLabel using src= (#5154) (68c6e7a)
  • Fix subtitles not added to DOM region (#4733) (a42b803), closes #4680
  • Fix support for TTAF1 namespace (old version of TTML) (#3864) (5847acc), closes #3009
  • Fix TextDecoder fallback and browser support check (#4403) (f4c2d32)
  • Fix thumbnail duration, expose start time and duration (f5e577b), closes #3517
  • Fix thumbnail duration, expose start time and duration (d4a1255), closes #3517
  • Fix thumbnail position calculation (#3516) (097c9a1), closes #3511
  • Fix UI captions icon state (#4384) (e6465e4), closes #4358
  • Fix usage of Shaka without polyfills (4fd4dcb)
  • Fix video/mp2t mimetype conversion. (#5039) (4fd078e)
  • Fix vp09 playback on webOS (#3566) (13aafcf)
  • Fix VP9 codec checks on Mac Firefox (#4391) (86cae65)
  • Fix WebVTT parser failure on REGION blocks (#4915) (c534602)
  • Fixes updating of nested cues (b02ff27), closes #3524 #3643
  • focus on first element when back to the settings menu (#4653) (9ab242e), closes #4652
  • Force using mcap polyfill on EOS browsers (#4630) (659a8cf)
  • Handle empty media segments for Mp4VttParser (#5131) (29b7a30), closes #4429
  • HLS: Add .tsa and .tsv file extensions as valid MPEG2-TS. (#5034) (a080996)
  • HLS: Adding support for DTS Express in HLS fMP4 (#5112) (#5117) (07e1737)
  • hls: Fix av1 codec selection in HLS. (#4203) (e493a56)
  • HLS: Fix detection of WebVTT subtitles in HLS by extension (#4663) (6804c6a)
  • HLS: Fix detection of WebVTT subtitles in HLS by extension (#4928) (ae0f615), closes #4929
  • HLS: Fix duplicate hinted segments (#4258) (0e2a7e4), closes #4223
  • HLS: Fix lowLatencyPresentationDelay when using autoLowLatencyMode (#4712) (a9bb695)
  • HLS: Fix support legacy AVC1 codec used in HLS (#4716) (8dcab18)
  • hls: Fix X-PRELOAD-HINT failure with LL mode off (#4212) (5167717), closes #4185
  • hls: Fixes parsing of HLS 'DEFAULT' attribute (#3771) (3e7a5b5), closes #3769
  • HLS: Infer missing codecs from config (#4656) (b98ae71)
  • hls: Made HLS notify segments after fit (1e598ba), closes #3733
  • hls: Made HLS notify segments after fit (9220c1f), closes #3733
  • HLS: Single alternative video renditions not working (#4785) (4d2371f)
  • HLS: skip whitespace in attributes (#3884) (6305555)
  • image: Fix HLS image track issues (c6eff35), closes #3840
  • image: Fix thumbnails issues (#3858) (4c9de73)
  • Increase IndexedDB timeout (#4984) (a7bc000)
  • Limit key ids to 32 characters (#4614) (8e6f20e)
  • Load image streams for offline multiperiod (4f4f6b1), closes #3383
  • Make ARIA polyfill more robust (b185b3c)
  • Make XML parsing secure (#4598) (a76c58f)
  • MCap: Remove robustness when robustness value is default (#4953) (762b1e7)
  • net: Fix HEAD requests in new Chromium (#5180) (ec301e6), closes #5164
  • offline: Add storage muxer init timeout (#4566) (71180ce)
  • offline: Clean up orphaned segments on abort (#4177) (a5cc491)
  • offline: Do not apply CMCD query args to offline URIs (#3716) (173ae42), closes #3712
  • offline: Fix error when un-storing DRM asset (23e0d76), closes #3534
  • offline: Speed up offline storage by ~87% (#4176) (dc27a26), closes #4166
  • performance: Eliminate use of ES6 generators (#4092) (5bb5502), closes #4062
  • PERIOD_FLATTENING_FAILED error with shaka 3.3.x that did not occur with shaka 3.1.2 (#5188) (2cefcf4), closes #5183
  • Populate track's spatialAudio property (#4291) (43fb21c)
  • Prevent bad calls to MediaSource.endOfStream (#5071) (9824474), closes #5070
  • Prevent content from being restarted after Postroll ads (#4979) (acebfa1), closes #4445
  • Rearrange checking & also check second period (51f6c10)
  • Reject TS content on Edge (#5043) (982d7bc)
  • Release region timeline when unloading (#4871) (4b2c945), closes #4850
  • Remove IE 11 from default browsers for Windows (#4272) (c90e687), closes #4271
  • Reset forced subs between loads (e9dc36d)
  • Respect existing app usage of Cast SDK (#4523) (d2258d6), closes #4521
  • return width and height in the stats when we are using src= (#4435) (b6ca090)
  • Revert "Add missing module export in generated typescript defs" (#4175) (c44507a), closes #4167
  • Select first of identical audio streams (#3869) (603fdc1)
  • Show captions with rapid seek when ignoreTextStreamFailures is true (#3476) (8aa3e9d)
  • Support multiple chapter tracks with same language (#3868) (01023df), closes #3597
  • text: Allow comments in the TTML parser (#3827) (c5a81f5), closes #3766
  • text: Fix caption overlap. (4980195), closes #3850 #3741
  • text: Fix cue region rendering in UI (#4412) (afbc3b6), closes #4381
  • text: Fix timestamp offset of CEA-608 cues (b6d7138), closes #3782
  • text: Fix TTML render timing and line break issues (#4407) (1e68c6e), closes #4381
  • text: Fix UI test failures (7da2cd5), closes #3689
  • text: Fixes minor bug with cue updating (a4e348d)
  • text: Force caption update when removing cues (4bdd3bb)
  • text: Inherit alignment from regions. (21b731d)
  • text: Made nested cues inherit region (#3837) (bc5fabe), closes #3743
  • text: Remove caption wrapper bgColor (#3838) (5346beb), closes #3745
  • text: support stpp.ttml codec in Mp4TtmlParser (#3754) (9e5b9ac)
  • Tizen video error fixed by checking the extended MIME type (#4973) (b663e99), closes #4634
  • Tolerate misaligned TS files (20f3cb0), closes #3580
  • Treat regions uniquely (#4841) (1c63ab0), closes #4839
  • TTML: Add font-family mapping (#4801) (7e93455)
  • ttml: Center subtitles by default (#4023) (02604ab)
  • ttml: Default TTML background color to transparent if unspecified (#4496) (862ee42), closes #4468
  • TTML: Fix duplicate cues overlapping segment boundaries (#4798) (be98ae3), closes #4631
  • ttml: Fix ttml erroneously dismissing cues. (157bd77), closes #3643
  • Typings & remove unrelated tests (e248db4)
  • UI: Ad position and ad counter are too close to each other (#4416) (ed5af4a)
  • UI: Add cursor pointer to range elements (#4059) (2ca947e), closes #3220
  • ui: Avoid submitting form if player is inside form (#4866) (37c7cf9), closes #4861
  • ui: Check event cancelable before event.preventDefault (#4690) (4a9a2f2)
  • ui: Control panel alignment (#3650) (c55ce6c)
  • ui: Fix exception on screen rotation if fullscreen is not supported (#4669) (b7a841d)
  • ui: Fix Russian translation (#3751) (3092063)
  • ui: Fix styling of UI text cues (cdeffbb), closes #3521 #3600 #3713
  • UI: Fix text UI not updating when text is disabled (#3867) (0eadedd), closes #3728
  • UI: Fix time element height on Safari (#3809) (680ab22), closes #3739
  • UI: Stop using setAttribute for ARIA (#3489) (3b2f7db)
  • UI: Update Play icon after seeking from end (#3515) (8b418bb)
  • ui: Widen touchable button area (#3249) (62d1af7)
  • Update Cast receiver ID for v3.2 (1b2fa84)
  • Use "undetermined" for missing CC language (3cc9ec5)
  • Use period ID instead of start time (84f4578)
  • VTT Cue Parsing On PlayStation 4 (#4340) (e637006), closes #4321
  • VTT: Fix combining style selectors (#4934) (dfa5dc7)
  • VTT: Fix spacing between text lines (#4961) (a44fe84)
  • Wait for chapters track to be loaded (#4228) (6a1f0d0), closes #4186
  • WebVTT line not correctly positioned in UITextDisplayer (#4567) (#4682) (fecf044)
  • WebVTT: Add support to  , ‎ and ‏ (#4920) (b9ddf6a)
  • WebVTT: Add support to voice tag styles (#4845) (acbfca1)
  • WebVTT: Fix horizontal positioning with cue box size (#4949) (a16de64)
  • WebVTT: Fix voices with styles and support to multiple styles (#4922) (aee669e)
  • WebVTT: Tags in the WebVTT subtitle are not parsed (#4960) (15afb4b)
  • Work around override of MediaCapabilities polyfill in Apple browsers (#3668) (31c0cd4), closes #3530

This PR was generated with Release Please. See documentation.

@github-actions github-actions bot force-pushed the release-please--branches--v3.3.x--components--shaka-player branch from f9d5350 to 63a8d68 Compare August 8, 2023 10:25
@github-actions github-actions bot force-pushed the release-please--branches--v3.3.x--components--shaka-player branch from 63a8d68 to 9497781 Compare May 6, 2024 08:25
@github-actions github-actions bot force-pushed the release-please--branches--v3.3.x--components--shaka-player branch from 9497781 to cb552ae Compare May 6, 2024 08:25
krychu90 pushed a commit that referenced this pull request Aug 20, 2024
…QUENCE (shaka-project#6378)

Fixes shaka-project#6377

When choosing to synchronize HLS streams using `EXT-X-MEDIA-SEQUENCE` instead of `EXT-X-PROGRAM-DATE-TIME` during LIVE playlist variant switches, Shaka unnecessarily drops 'old' segments and offsets the segment references of the new playlist so that the earliest reference represents media time `0`: https://github.com/shaka-project/shaka-player/blob/ea740ba2468f3b035d463ea9933aa7eeccf5c748/lib/hls/hls_parser.js#L610-L613

This is problematic, as the `StreamingEngine`'s media time used to download new segments is based off the latest segment references:
https://github.com/shaka-project/shaka-player/blob/ea740ba2468f3b035d463ea9933aa7eeccf5c748/lib/media/streaming_engine.js#L1248-L1250
https://github.com/shaka-project/shaka-player/blob/ea740ba2468f3b035d463ea9933aa7eeccf5c748/lib/media/streaming_engine.js#L1385

For example:

```
            Playlist download #1         
EXT-X-MEDIA-SEQUENCE       Media Time
           0                   0
           1                   6
           2                   12
           3                   18

           Playlist download shaka-project#2 (what happens now)
EXT-X-MEDIA-SEQUENCE       Media Time
          6                   0
          7                   6
          8                   12
          9                   18

           Playlist download shaka-project#2 (desired behavior)
EXT-X-MEDIA-SEQUENCE       Media Time
          6                   36
          7                   42
          8                   48
          9                   54

```

Without this fix, and given the above example, if Shaka tries to request the segment at `time=36`, it will fail because the media state only has segment references up to `time=18`. Until the manifests, 'catch up', the player freezes; this can be especially problematic when a large amount of time accumulates before a variant switch occurs.

This has been confirmed by Pluto TV to fix their freezing issues.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

0 participants