Remove expired playlists - #7954
Conversation
|
I wonder if a single event emitted like |
| } | ||
|
|
||
| protected get playlists(): MediaPlaylist[] { | ||
| return this.tracksInGroup; |
There was a problem hiding this comment.
This will limit it to only cleaning up the current group ever, so inactive groups won't have the details released. Is that the intended behaviour?
There was a problem hiding this comment.
Good point. In terms of behavior, either:
- All
tracks(as opposed totracksInGroup) should be considered for cleanup detailsfrom other groups should be removed when the active group changes (then the rest of these changes take care of the rest)
|
Thought about this a little bit more... I think we should move this out of After a successful playlist refresh, each controller should sweep its own private Thoughts? |
I think it's better to have a single function that handles the cleanup. It doesn't have to be a method, though -
After advancing (but also after everything else that currently follows advancing, which is of higher priority) would be ideal.
Not sure I agree here. Expired playlist details will not be used to load segments - that requires a refresh. The old details may still be useful in aligning the refreshed ones.
Intentional. Stale details are used in merge, but not to pick segments or (and this requires more scrutiny) regress estimates (like latency). |
|
Defer to @robwalch. I like it just being a simple function that knows the bits that can be dropped for GC to pickup! Totally understand on the expired playlist side. Forget the |
This PR will...
Why is this Pull Request needed?
Are there any points in the code the reviewer needs to double check?
Resolves issues:
Checklist