-
Notifications
You must be signed in to change notification settings - Fork 1.7k
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
Memory leak when InbandEventStream is set in the AdaptationSet of the live stream manifest. #4561
Comments
After further investigation, I managed to find out that the issue occurs due to the event_duration being set to 40 hours in IsoBox - emsg. How should this situation be approached, and how should the player react in such a case? We also managed to remove the emsg IsoBox using AWS MediaLive, but I believe the player should also have logic in place to prevent behavior like overloading the memory when events are too long. |
I believe inband events should not have any duration that is longer than the containing segment. We should restrict it in MPEG to this. Also in case the event duration is longer than a segment, the event payload should be deleted on the client. |
Events can legitimately be longer (e.g., duration of an ad break). They can appear before their presentation time. |
@grand719 Do you still have a stream running with the ID3 events? I don't see any events in the example you linked above. |
@dsilhavy Unfortunately, we no longer provide this stream with ID3 events and won't be able to set it up again. Regarding the configuration in AWS, we used the default settings in MediaPackage and MediaLive to create the stream. |
Sure, I'll try to check it this week and let you know. Thank you! |
Environment
https://6180c994cb835402.mediapackage.eu-west-1.amazonaws.com/out/v1/3f772c2a59824b9c9901ca513f605da9/index.mpd
If the stream is not available, please let me know so we can run it again.
Also I have added example of manifest that was crated with usage AWS Elemental MediaPackage
Steps to reproduce
<InbandEventStream schemeIdUri="https://aomedia.org/emsg/ID3" value="0"/>
field in theAdaptationSet
, in the referenced player."Observed behavior
In the taken snapshot, we can observe that the JsArrayBuffer is consistently increasing, and the memory usage is not dropping. During the debug session, I noticed that unusual memory management behavior is caused by the
<InbandEventStream schemeIdUri="https://aomedia.org/emsg/ID3" value="0"/>
element, which is added to the video AdaptationSet. Additionally, after deleting theInbandEventStream
andInbandEventStream_asArray
properties from the adaptation set object inDashManifestModel.js
within thegetRealAdaptations
function, everything works as intended.Memory usage when Adaptation Set contains InbandEventStream:
Manifest
Expected behavior
There should be no memory leaks when playing a live stream, even with
InbandEventStream
set in the AdaptationSet. Memory should be released correctly, and the size of theJsArrayBuffer
should remain stable or decrease as unneeded resources are freed.The text was updated successfully, but these errors were encountered: