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(main): release 4.4.0 #1

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

github-actions[bot]
Copy link

@github-actions github-actions bot commented Mar 1, 2023

🤖 I have created a release beep boop

4.4.0 (2023-03-01)

Features

Bug Fixes

  • Add mux.js to support.html (#4923) (d9fa4eb)
  • Ads: Fix CS volume ad (#5016) (492b5f3)
  • Ads: Fix usage of EventManager on CS (#5017) (541badc)
  • ads: Fix VMAP ads stay muted on muted autoplay (#4995) (d074afc)
  • Allow the playback of TS without mux.js (#5041) (0b785f7)
  • Caption can not turn off at iOS Safari (#4978) (9d2c325)
  • cast: Added existence checks for MediaDecodingConfig.{audio|video} in decodingInfo(). (#4796) (36db83d)
  • cast: Use cast platform APIs in MediaCapabilties polyfill (#4727) (5d6f56a)
  • cea: Fix MAX_ROWS in CEA-708 window (#4757) (e89eeb6)
  • cea: Fix not rendering CEA-608 on encrypted mp4 segments (#4756) (d600109)
  • chapters: removed duplicate chapters by id (#4810) (151bdda)
  • Correct default initDataTransform for legacy Apple Media Keys (#4797) (67a5d56)
  • DASH: Fix dynamic manifests from edgeware (#4914) (056588b)
  • Demo: Allow manifest type for DAI custom assets (#4977) (1e50630)
  • DrmEngine exception thrown when using FairPlay (#4971) (eebf18c)
  • Explicitly specify @externs in transmuxer externs. (#4999) (ef8078a)
  • Failed to set 'currentTime' property on 'HTMLMediaElement' on a Hisense TV (#4962) (5d93b8f)
  • Fallback to isTypeSupported when cast namespace is undefined (#5012) (50d0645)
  • Fix bufferBehind setting broken by image segments (#4718) (cd1b7c0), closes #4717
  • Fix compiler error on static use of "this" (#4699) (b06fd6a)
  • Fix DRM workaround for Tizen and Xbox with hvc1/hev1 boxes (#4743) (a61c084), closes #4742
  • Fix duplicate updates in StreamingEngine (#4840) (224207b), closes #4831
  • Fix duration error when HLS goes from LIVE to VOD (#5001) (1aee989)
  • Fix exception enabling captions on HLS (#4894) (b7b2a7c), closes #4889
  • Fix flattenedCues in WebVttGenerator (#4867) (15232dd)
  • Fix legacy codec support by rewriting codec metadata (#4858) (e351395)
  • Fix media source duration when using sequence mode (#4848) (1762267)
  • Fix MediaCapabilities polyfill on Hisense (#4927) (6a48cfe)
  • Fix parsing error on Chromecast when resyncing HLS (#4869) (afca6af), closes #4589
  • Fix potential AV sync issues after seek or adaptation (#4886) (c42565c), closes #4589
  • Fix potential duplicate segments, AV sync issues (#4884) (52f4b63), closes #4589
  • Fix rare exception after StreamingEngine teardown (#4830) (234beef), closes #4813
  • Fix subtitles not added to DOM region (#4733) (4081434), closes #4680
  • Fix timestamp offset for ID3 on DAI-HLS (#4696) (386a28a)
  • Fix usage of WebCrypto in old browsers (#4711) (9afce3b)
  • Fix video/mp2t mimetype conversion. (#5039) (2d0e4cc)
  • Fix WebVTT parser failure on REGION blocks (#4915) (da84a2c)
  • HLS: Add .tsa and .tsv file extensions as valid MPEG2-TS. (#5034) (a22bdc5)
  • HLS: Fix AV sync over ad boundaries (#4824) (35033bb), closes #4589
  • HLS: Fix detection of Media Playlist for audio and video only in MP4 (#4803) (76f96b9)
  • HLS: Fix detection of WebVTT subtitles in HLS by extension (#4928) (15b0388), closes #4929
  • HLS: Fix discontinuity tracking (#4881) (fc3d5c1), closes #4589
  • HLS: fix lazy load with multiple raw audio tracks (#4715) (76149ae)
  • HLS: Fix lowLatencyPresentationDelay when using autoLowLatencyMode (#4712) (877e954)
  • HLS: Fix missing roles (#4760) (2bc481d), closes #4759
  • HLS: Fix support for mixed AES-128/NONE decryption (#4847) (452694d)
  • HLS: Fix support legacy AVC1 codec used in HLS (#4716) (c3ff8e5)
  • hls: Fix type error in lazy-loading (#4687) (28b73b9)
  • HLS: IMSC1 subtitles not working in a HLS stream (#4942) (974f5dc)
  • HLS: Single alternative video renditions not working (#4785) (6915a97)
  • Increase IndexedDB timeout (#4984) (ea290ab)
  • Make encoding problem detection more robust (#4885) (0e3621c), closes #4589
  • Manually order key for decodingInfo cache (#4795) (806a9a8)
  • MCap: Remove robustness when robustness value is default (#4953) (7439a26)
  • Polyfill missing AbortController on Tizen (#4707) (75ef975)
  • Prevent content from being restarted after Postroll ads (#4979) (64e94f1), closes #4445
  • Reject TS content on Edge (#5043) (8818a02)
  • Release region timeline when unloading (#4871) (a236180), closes #4850
  • Sync each segment against EXT-X-PROGRAM-DATE-TIME (#4870) (50c9df4), closes #4589
  • Treat regions uniquely (#4841) (5681efe), closes #4839
  • TTML: Add font-family mapping (#4801) (db8987d)
  • TTML: Fix duplicate cues overlapping segment boundaries (#4798) (bd75032), closes #4631
  • ui: Avoid submitting form if player is inside form (#4866) (da21850), closes #4861
  • ui: Check event cancelable before event.preventDefault (#4690) (6d8de72)
  • ui: Fix iOS fullscreen on rotation (#4679) (86256f4)
  • UI: Suppress error log from fullscreen button on desktop (#4823) (99da4ce), closes #4822
  • VTT: Fix combining style selectors (#4934) (128562d)
  • VTT: Fix spacing between text lines (#4961) (2d0469f)
  • WebVTT: Add support to  , ‎ and ‏ (#4920) (726ef42)
  • WebVTT: Fix horizontal positioning with cue box size (#4949) (f456318)
  • WebVTT: Fix voice tag styles (a5f8b43)
  • WebVTT: Fix voices with styles and support to multiple styles (#4922) (68968c1)
  • WebVTT: Tags in the WebVTT subtitle are not parsed (#4960) (d4fc54f)

Performance Improvements

  • Caching mediaSource support for browser engine (#4778) (ad6c085)

This PR was generated with Release Please. See documentation.

@github-actions github-actions bot force-pushed the release-please--branches--main--components--shaka-player branch from 9729548 to 66cb6a8 Compare March 1, 2023 16:56
@github-actions github-actions bot force-pushed the release-please--branches--main--components--shaka-player branch from 66cb6a8 to 92414b1 Compare March 1, 2023 16:56
sjhsieh pushed a commit that referenced this pull request Jun 11, 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 #2 (what happens now)
EXT-X-MEDIA-SEQUENCE       Media Time
          6                   0
          7                   6
          8                   12
          9                   18

           Playlist download #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