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 and joeyparrish committed Apr 26, 2023
1 parent 626ef1f commit 07e1737
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 @@ -85,3 +85,4 @@ Vincent Valot <valot.vince@gmail.com>
Wayne Morgan <wayne.morgan.dev@gmail.com>
Raymond Cheng <raycheng100@gmail.com>
Blue Billywig <*@bluebillywig.com>
Xperi <*@xperi.com>
1 change: 1 addition & 0 deletions CONTRIBUTORS
Original file line number Diff line number Diff line change
Expand Up @@ -123,3 +123,4 @@ Wayne Morgan <wayne.morgan.dev@gmail.com>
Yohann Connell <robinconnell@google.com>
Raymond Cheng <raycheng100@gmail.com>
Janroel Koppen <j.koppen@bluebillywig.com>
Ashley Manners <ashley.manners@xperi.com>
3 changes: 3 additions & 0 deletions lib/media/media_source_engine.js
Original file line number Diff line number Diff line change
Expand Up @@ -182,6 +182,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 07e1737

Please sign in to comment.