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 use InbandEventStreamemsg instead. Note the memory improvements when EvenStream nodes are filtered from the manifest.
Our 3 hr DVR manifest includes 50+ EventStream nodes with combined thousands of child Event 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 with txmlNodeToDomElement.
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
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. https://github.com/shaka-project/shaka-player/issues/6070 https://github.com/shaka-project/shaka-player/issues/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
? yesAre 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 ofDetached HTMLUnknownElements
, which do not appear in v4.3 or v4.7.These elements appear to come from
parseEventStream_
when elements are created withtxmlNodeToDomElement
.