Skip to content

Commit

Permalink
fix(dash): Fix playback of Dolby Atmos (#4173)
Browse files Browse the repository at this point in the history
According to https://developerkb.dolby.com/support/solutions/articles/16000067758-what-is-dolby-digital-plus-joc-joint-object-coding- Dolby Atmos (JOC):

> Joint Object Coding describes the process by which Dolby Digital Plus with Atmos decoders, receiving a legacy 5.1 mix and sideband metadata, are able to reconstruct the original Atmos mix.

So there is no need to deal with a separate mimetype, it can be decoded with Dolby Digital+ (better for retrocompatibility).

Closes #4171
  • Loading branch information
Álvaro Velad Galván authored and joeyparrish committed May 17, 2022
1 parent 763e932 commit 1a6e93a
Show file tree
Hide file tree
Showing 2 changed files with 0 additions and 25 deletions.
1 change: 0 additions & 1 deletion lib/dash/dash_parser.js
Original file line number Diff line number Diff line change
Expand Up @@ -1218,7 +1218,6 @@ shaka.dash.DashParser = class {
});
let spatialAudio = false;
if (hasJoc) {
context.representation.mimeType = 'audio/eac3-joc';
spatialAudio = true;
}

Expand Down
24 changes: 0 additions & 24 deletions test/dash/dash_parser_manifest_unit.js
Original file line number Diff line number Diff line change
Expand Up @@ -445,30 +445,6 @@ describe('DashParser Manifest', () => {
expect(stream.closedCaptions).toEqual(expectedClosedCaptions);
});

it('Detects E-AC3 JOC content by SupplementalProperty', async () => {
const idUri = 'tag:dolby.com,2018:dash:EC3_ExtensionType:2018';
const source = [
'<MPD>',
' <Period duration="PT30M">',
' <AdaptationSet mimeType="audio/mp4" lang="\u2603">',
' <Representation bandwidth="500">',
' <SupplementalProperty schemeIdUri="' + idUri + '" value="JOC"/>',
' <BaseURL>http://example.com</BaseURL>',
' <SegmentTemplate media="2.mp4" duration="1" />',
' </Representation>',
' </AdaptationSet>',
' </Period>',
'</MPD>',
].join('\n');

fakeNetEngine.setResponseText('dummy://foo', source);

/** @type {shaka.extern.Manifest} */
const manifest = await parser.start('dummy://foo', playerInterface);
const stream = manifest.variants[0].audio;
expect(stream.mimeType).toBe('audio/eac3-joc');
});

it('Detects spatial audio', async () => {
const idUri = 'tag:dolby.com,2018:dash:EC3_ExtensionType:2018';
const source = [
Expand Down

0 comments on commit 1a6e93a

Please sign in to comment.