Skip to content

Commit

Permalink
fix(HLS): Adding support for DTS Express in HLS fMP4 (#5112) (#5117)
Browse files Browse the repository at this point in the history
The SampleEntry box in the SampleDescription (stsd) box will have the
codingname 'dtse' for DTS Express audio tracks.
This is defined in Table E-1 of ETSI TS 102 114 V1.6.1 (2019-08) DTS
Coherent Acoustics; Core and Extensions with Additional Profiles.
The 'dtse' codingname has been added to the AUDIO_CODEC_REGEXPS_ list,
which enables support for playback of DTS Express in HLS fMP4 streams.

The 'ddts' and 'udts' entries have been removed from the
AUDIO_CODEC_REGEXPS_ list, as these are not audio codec identifiers, but
FourCC values for the DTSSpecificBox and DTSUHDSpecificBox, which can be
found within the SampleDescription box for DTS audio tracks.
The DTSSpecificBox (ddts) is defined in Section E.2.2.3.1 of ETSI TS 102
114 V1.6.1 (2019-08) DTS Coherent Acoustics; Core and Extensions with
Additional Profiles.
The DTSUHDSpecificBox (udts) is defined in Table B-2 of ETSI TS 103 491
V1.2.1 (2019-05) DTS-UHD Audio Format; Delivery of Channels, Objects and
Ambisonic Sound Fields.

The Mime Types for the DTS formats supported by Shaka Player have been
added to the probeSupport function.

Fixes #5112
  • Loading branch information
ashley-manners-xperi authored Mar 23, 2023
1 parent 8bffb99 commit 67b1e90
Show file tree
Hide file tree
Showing 4 changed files with 6 additions and 2 deletions.
1 change: 1 addition & 0 deletions AUTHORS
Original file line number Diff line number Diff line change
Expand Up @@ -97,3 +97,4 @@ Blue Billywig <*@bluebillywig.com>
João Nabais <[email protected]>
Koen Romers <[email protected]>
Zhenghang Chen <[email protected]>
Xperi <*@xperi.com>
1 change: 1 addition & 0 deletions CONTRIBUTORS
Original file line number Diff line number Diff line change
Expand Up @@ -137,3 +137,4 @@ Janroel Koppen <[email protected]>
João Nabais <[email protected]>
Koen Romers <[email protected]>
Zhenghang Chen <[email protected]>
Ashley Manners <[email protected]>
3 changes: 3 additions & 0 deletions lib/media/media_source_engine.js
Original file line number Diff line number Diff line change
Expand Up @@ -212,6 +212,9 @@ shaka.media.MediaSourceEngine = class {
'audio/mp4; codecs="ec-3"',
'audio/mp4; codecs="opus"',
'audio/mp4; codecs="flac"',
'audio/mp4; codecs="dtsc"', // DTS Digital Surround
'audio/mp4; codecs="dtse"', // DTS Express
'audio/mp4; codecs="dtsx"', // DTS:X
// WebM types
'video/webm; codecs="vp8"',
'video/webm; codecs="vp9"',
Expand Down
3 changes: 1 addition & 2 deletions lib/util/manifest_parser_utils.js
Original file line number Diff line number Diff line change
Expand Up @@ -185,8 +185,7 @@ shaka.util.ManifestParserUtils.AUDIO_CODEC_REGEXPS_ = [
/^mp4a/,
/^[ae]c-3$/,
/^ac-4$/,
/^dts[cx]$/, // DTS Surround Sound
/^[du]dts$/, // DTS Surround Sound
/^dts[cex]$/, // DTS Digital Surround (dtsc), DTS Express (dtse), DTS:X (dtsx)
];


Expand Down

0 comments on commit 67b1e90

Please sign in to comment.