-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
Excessive memory usage for DASH live with EventStream nodes #7148
Labels
component: DASH
The issue involves the MPEG DASH manifest format
priority: P1
Big impact or workaround impractical; resolve before feature release
status: archived
Archived and locked; will not be updated
type: bug
Something isn't working correctly
type: performance
A performance issue
Milestone
Comments
joeyparrish
added
type: performance
A performance issue
priority: P1
Big impact or workaround impractical; resolve before feature release
platform: Cast
Issues affecting Cast devices
labels
Aug 9, 2024
avelad
added
component: DASH
The issue involves the MPEG DASH manifest format
and removed
platform: Cast
Issues affecting Cast devices
labels
Aug 22, 2024
avelad
pushed a commit
that referenced
this issue
Aug 23, 2024
Related to #7148 Does not create parent elements anymore to reduce memory consumption. Starts to use `createElementNS()` so created elements will keep proper cases for tag names and they won't be anymore of type `HTMLElement`, but `Element`, which should be more lightweight and suitable for our needs.
I'm working on a this too and I will share shortly my findings and possible pr. This look due also to a leaks I. Multi period manifest I'm still validating my findings |
avelad
pushed a commit
that referenced
this issue
Aug 26, 2024
Related to #7148 Does not create parent elements anymore to reduce memory consumption. Starts to use `createElementNS()` so created elements will keep proper cases for tag names and they won't be anymore of type `HTMLElement`, but `Element`, which should be more lightweight and suitable for our needs.
avelad
pushed a commit
that referenced
this issue
Aug 26, 2024
Related to #7148 Does not create parent elements anymore to reduce memory consumption. Starts to use `createElementNS()` so created elements will keep proper cases for tag names and they won't be anymore of type `HTMLElement`, but `Element`, which should be more lightweight and suitable for our needs.
avelad
pushed a commit
that referenced
this issue
Aug 27, 2024
JulianDomingo
pushed a commit
to JulianDomingo/shaka-player
that referenced
this issue
Aug 28, 2024
…haka-project#7202) Related to shaka-project#6239 and shaka-project#7148 Remove the reference to the stream when is no more needed. --------- Co-authored-by: Wojciech Tyczyński <tykus160@gmail.com>
avelad
pushed a commit
that referenced
this issue
Aug 29, 2024
avelad
pushed a commit
that referenced
this issue
Aug 29, 2024
avelad
pushed a commit
that referenced
this issue
Sep 11, 2024
avelad
pushed a commit
that referenced
this issue
Sep 11, 2024
avelad
pushed a commit
that referenced
this issue
Sep 11, 2024
joeyparrish
pushed a commit
that referenced
this issue
Sep 13, 2024
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Labels
component: DASH
The issue involves the MPEG DASH manifest format
priority: P1
Big impact or workaround impractical; resolve before feature release
status: archived
Archived and locked; will not be updated
type: bug
Something isn't working correctly
type: performance
A performance issue
Have you read the FAQ and checked for duplicate open issues?
Yes. These issues are related, but the fix added in v4.10.6 does not resolve this case.
#6070
#6610
If the problem is related to FairPlay, have you read the tutorial?
n/a
What version of Shaka Player are you using?
4.10.9
Can you reproduce the issue with our latest release version?
yes
Can you reproduce the issue with the latest code from
main
?yes
Are you using the demo app or your own custom app?
custom
If custom app, can you reproduce the issue using our demo app?
yes
What browser and OS are you using?
Chrome Version 127.0.6533.100 (Official Build) (arm64)
macOS Ventura v13.6
For embedded devices (smart TVs, etc.), what model and firmware version are you using?
n/a
What are the manifest and license server URIs?
Can provide private stream via email if needed.
Issue is not as pronounced but is reproducible with this public stream: https://refapp.hbbtv.org/videos/multiperiod_v8.php?drm=0&advert=1&emsg=0&video=v1,v2,v3&audiolang=eng,fin&sublang=eng,fin,swe&mup=2&spd=8.
What configuration are you using? What is the output of
player.getConfiguration()
?Only change from default is
manifest.dash.disableXlinkProcessing = true
.What did you do?
Load a Live DASH manifest with a 3hr DVR window (
timeShiftBufferDepth="PT3H0M0S"
) that includesEventStream
nodes in the manifest.What did you expect to happen?
I expect to see JS Memory usage and GC more in line with earlier versions of Shaka.
What actually happened?
JS Memory grows at a much faster pace in v4.10.9 than in previous versions tested (v4.3.6 and v4.7.15).
Are you planning send a PR to fix it?
No. We can currently work around this issue by removing
EvenStream
nodes from our manifests and useInbandEventStream
emsg
instead. Note the memory improvements whenEvenStream
nodes are filtered from the manifest.Here is more detail on what may be contributing.
Our 3 hr DVR manifest includes 50+
EventStream
nodes with combined thousands of childEvent
nodes.In v4.10.9, Memory heap snapshots are showing thousands of
Detached HTMLUnknownElements
, which do not appear in v4.3 or v4.7.These elements appear to come from
parseEventStream_
when elements are created withtxmlNodeToDomElement
.The text was updated successfully, but these errors were encountered: