Open
Conversation
It allows external implementation to reevalute the number of reevaluate the number of renderers allocated mid-stream through a new `RenderersFactory#reevaluateRenderers` method, that allow to provide new renderers based on the information from next tracks available in the stream. The implementation only allows to increase the number of renderers, as old renderers could potentially be in use. A new shared `RenderersCoordinator` class has been added to centralize the use of all renderers-related instances, so they can be growth safely mid-stream. Signed-off-by: Jorge Ruesga <jorge@ruesga.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR tries to create an implementation for #2911, by allowing the reevaluate the number of renderers allocated at mid-stream through a new
RenderersFactory#reevaluateRenderersmethod, that allow to provide new renderers based on the information from next tracks available in the stream.The implementation only allows to increase the number of renderers, as old renderers could potentially be in use. A new shared
RenderersCoordinatorclass has been added to centralize the use of all renderers-related instances, so they can be growth safely mid-stream.For example, it can be used to increment the number of metadata renderers, if a new period during mid-string contains more metadata that need to be parsed, exceeding the 2 metadata renderers provided by the default implementation. Or other use cases where dynamic allocation of renderers is required by analyzing what is in the manifest, rather than assuming a fixed number of renderers required.