fix(DASH): Firefox multi-period/multi-codec bug #6691
Merged
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.
I believe a bug was introduced as part of the refactor in this PR #6348 that affects Firefox.
This line here https://github.com/shaka-project/shaka-player/blob/main/lib/util/stream_utils.js#L561 , would clone mediacapabilitiesInfo only if this was a plain
Object
. This seems to be the case in Chrome, however, it looks like the Firefox implementation ofMediaCapabilities.decodingInfo()
returns a "non-simple"MediaCapabilitiesInfo
object instead - that results in cloneObject retuning null, see screens:FF:
![Screenshot 2024-05-27 at 22 48 51](https://cdn.statically.io/img/private-user-images.githubusercontent.com/31139314/334584138-78a1edb2-fe06-4653-b7dc-6c1c18cb4576.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjE0NjI4OTksIm5iZiI6MTcyMTQ2MjU5OSwicGF0aCI6Ii8zMTEzOTMxNC8zMzQ1ODQxMzgtNzhhMWVkYjItZmUwNi00NjUzLWI3ZGMtNmMxYzE4Y2I0NTc2LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA3MjAlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNzIwVDA4MDMxOVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWE2MjMyMjA4ZmI3MTcwYzM2NTk2YjNjZWY2NjdiZTE4MTM2M2Q5NGM5ZjBiMTBlNWE2N2MzZGFkZTk1YWQ3NjUmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.M1_2Znu0AvcDG4JOJ9TDmcntAuPt3rLt_a0BC5CuxvA)
Chrome:
![Screenshot 2024-05-28 at 10 23 00](https://cdn.statically.io/img/private-user-images.githubusercontent.com/31139314/334584225-f81dd618-7eb3-401d-bd1c-63d911345b67.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjE0NjI4OTksIm5iZiI6MTcyMTQ2MjU5OSwicGF0aCI6Ii8zMTEzOTMxNC8zMzQ1ODQyMjUtZjgxZGQ2MTgtN2ViMy00MDFkLWJkMWMtNjNkOTExMzQ1YjY3LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA3MjAlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNzIwVDA4MDMxOVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTg3ZDA1OGExMDA0MGE2ZWJjZDhhNjViZTcxNTc2MjgzMTliZjk2ZTg4NGZlNGY5ZDk1MWE4OTdlZDBjODQ5MDYmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.LWf-pKtmodvF8C0Nr1lgQiJP8lMTsFJpged_gxmuWl8)
Switching to use shallow clone instead fixes the problem.
Fixes #6690