-
Notifications
You must be signed in to change notification settings - Fork 2.6k
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
bugfix: Check if codec is supported by browser in setCodecs
#4408
bugfix: Check if codec is supported by browser in setCodecs
#4408
Conversation
setCodecs
@oscnord Your manifest passes without errors in mediastreamvalidator? |
The manifest is generated by AWS MediaPackage and the source is transcoded with MediaConvert so the manifest should be valid. Mediastreamvalidator doesn't throw any errors related to that the |
@oscnord
It all depends on the configuration. As you add an additional group for EC-3 it should work properly. BTW: The group must have the same number of members. |
@mtoczko
|
@bwallberg Thank you Going back to the example above:
This configuration is incorrect:
Correctly
or (ec-3,mp4a.40.2)
|
I see your point, I don't necessarily read the specc the same way though but that's neither here nor there. Regardless this solution is required for the last example you showed regardless ( and would work with the "incorrect" configuration as well ). |
@bwallberg |
That's definitely reasonable :) ( I also agree that this variant of the stream is unusual, so a multi-language variant would make a better verification stream regardless ). |
@mtoczko Here are two test streams. The first contains two renditions where one have two audio-tracks (stereo and surround) and the other one only have one audio track (stereo). The second test stream have two renditions with stereo and surround. |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
setCodecs is intended to reflect what is in the manifest only. Filtering is not done there. It is done in the level-controller inonManifestLoaded
based on set codecs for each variant (or "level").
If this is still an issue in v1.2.4 or higher please file an issue with a sample stream that reproduces the issue.
Introduced in video-dev#4189, as a side-effect of restricting tracks when a network failure occurs. We should not trigger such restrictions when the browser is known to be offline. Closes video-dev#4408
This PR will...
Fix an issue where audio-tracks that includes an unsupported codec (EC-3) would be added if the
GROUP-ID
is shared between multiple#EXT-X-MEDIA:TYPE=AUDIO
tags.Example:
Why is this Pull Request needed?
This PR updates the filtering in
setCodecs()
so that it utilisesisCodecSupportedInMp4
to check if the codec in question is supported by the browser. If it is not supported the current quality level is ignored.Are there any points in the code the reviewer needs to double check?
Resolves issues:
Resolves an issue where it would be possible to play audio-tracks that includes multiple codecs where one or more could be unsupported by the browser.
Checklist