Skip to content
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

Handle mixed-codec and mixed-mimeType variants. #5961

Closed
theodab opened this issue Nov 30, 2023 · 0 comments · Fixed by #5950 or #5903
Closed

Handle mixed-codec and mixed-mimeType variants. #5961

theodab opened this issue Nov 30, 2023 · 0 comments · Fixed by #5950 or #5903
Labels
component: DASH The issue involves the MPEG DASH manifest format priority: P3 Useful but not urgent status: archived Archived and locked; will not be updated type: enhancement New feature or request
Milestone

Comments

@theodab
Copy link
Collaborator

theodab commented Nov 30, 2023

Now that the changeType API has been added to MediaSource, it is theoretically possible to make variants with content that changes mimeType or codec partway through. However, at the moment, we only use changeType to handle switching between previously-incompatible variants. We should add support for making variants that use changeType to change mimeType or codec between periods... as a last resort, at least, for when we otherwise cannot stitch a valid path through the content.

This feature could be useful in a number of cases; for example, it would allow for server-side ad content where the audio of the ads are encoded differently from that of the main content, without having to treat the manifest as video-only.

@theodab theodab added type: enhancement New feature or request priority: P3 Useful but not urgent component: DASH The issue involves the MPEG DASH manifest format labels Nov 30, 2023
@avelad avelad added this to the v4.7 milestone Nov 30, 2023
theodab added a commit that referenced this issue Dec 1, 2023
With the addition of the changeType API for MediaSource, it is theoretically possible for a variant to change between multiple codecs for a given buffer, over the course of playback.
This adds support for the DASH player to stitch together periods which have such multi-codec variants, but only as a last resort. For example, if one period only has audio in aac, and another period only has opus audio, the player will now stitch those periods together as one, but if there is a throughline that does not involve changing codecs it will go for that instead.

Closes #5961
@shaka-bot shaka-bot added the status: archived Archived and locked; will not be updated label Jan 30, 2024
@shaka-project shaka-project locked as resolved and limited conversation to collaborators Jan 30, 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: P3 Useful but not urgent status: archived Archived and locked; will not be updated type: enhancement New feature or request
Projects
None yet
3 participants