Skip to content

Commit

Permalink
fix: AC-3 audio codec support on Tizen (#6166)
Browse files Browse the repository at this point in the history
Fixes #6160
  • Loading branch information
Boubalou committed Jan 26, 2024
1 parent 335eab0 commit 08cc34a
Show file tree
Hide file tree
Showing 4 changed files with 17 additions and 10 deletions.
1 change: 1 addition & 0 deletions AUTHORS
Expand Up @@ -60,6 +60,7 @@ Lucas Gabriel Sánchez <unkiwii@gmail.com>
Martin Stark <martin.stark@eyevinn.se>
Matthias Van Parijs <matvp91@gmail.com>
Mattias Wadman <mattias.wadman@gmail.com>
Mirego <*@mirego.com>
Mohamed Rashid <ge_rashid@hotmail.co.uk>
Morten Hansen <mimo@mimo-design.com>
Nick Desaulniers <nick@mozilla.com>
Expand Down
1 change: 1 addition & 0 deletions CONTRIBUTORS
Expand Up @@ -88,6 +88,7 @@ Loïc Raux <loicraux@gmail.com>
Lucas Gabriel Sánchez <unkiwii@gmail.com>
Martin Stark <martin.stark@eyevinn.se>
Matias Russitto <russitto@gmail.com>
Mathieu Côté <mcote@mirego.com>
Matthias Van Parijs <matvp91@gmail.com>
Mattias Wadman <mattias.wadman@gmail.com>
Michelle Zhuo <michellezhuo@google.com>
Expand Down
15 changes: 14 additions & 1 deletion lib/polyfill/media_capabilities.js
Expand Up @@ -191,10 +191,23 @@ shaka.polyfill.MediaCapabilities = class {
const videoCapabilities = [];

if (mediaCapkeySystemConfig.audio) {
const capability = {
let capability = {
robustness: mediaCapkeySystemConfig.audio.robustness || '',
contentType: mediaDecodingConfig.audio.contentType,
};

// Some Tizen devices seem to misreport AC-3 support, but correctly
// report EC-3 support. So query EC-3 as a fallback for AC-3.
// See https://github.com/shaka-project/shaka-player/issues/2989 for
// details.
if (shaka.util.Platform.isTizen() &&
mediaDecodingConfig.audio.contentType.includes('codecs="ac-3"')) {
capability = {
robustness: capability.robustness,
contentType: 'audio/mp4; codecs="ec-3"',
};
}

audioCapabilities.push(capability);
}

Expand Down
10 changes: 1 addition & 9 deletions lib/util/stream_utils.js
Expand Up @@ -917,15 +917,7 @@ shaka.util.StreamUtils = class {
return 'opus';
}

// Some Tizen devices seem to misreport AC-3 support, but correctly
// report EC-3 support. So query EC-3 as a fallback for AC-3.
// See https://github.com/shaka-project/shaka-player/issues/2989 for
// details.
if (shaka.util.Platform.isTizen()) {
return codecs.toLowerCase() == 'ac-3' ? 'ec-3' : codecs;
} else {
return codecs;
}
return codecs;
}


Expand Down

0 comments on commit 08cc34a

Please sign in to comment.