Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DTS Express audio format is unsupported for HLS fMP4 #5112

Closed
ashley-manners-xperi opened this issue Mar 22, 2023 · 3 comments · Fixed by #5117
Closed

DTS Express audio format is unsupported for HLS fMP4 #5112

ashley-manners-xperi opened this issue Mar 22, 2023 · 3 comments · Fixed by #5117
Assignees
Labels
component: HLS The issue involves Apple's HLS manifest format priority: P2 Smaller impact or easy workaround status: archived Archived and locked; will not be updated type: bug Something isn't working correctly
Milestone

Comments

@ashley-manners-xperi
Copy link
Contributor

Have you read the FAQ and checked for duplicate open issues?
Yes

What version of Shaka Player are you using?
v4.3.4

Can you reproduce the issue with our latest release version?
Yes

Can you reproduce the issue with the latest code from main?
Yes

Are you using the demo app or your own custom app?
Custom

If custom app, can you reproduce the issue using our demo app?
Yes

What browser and OS are you using?
The built-in browser on a Vizio TV.

For embedded devices (smart TVs, etc.), what model and firmware version are you using?
Vizio TV
Model: V435-H11
Firmware: 1.520.24.2-2

What are the manifest and license server URIs?

Will send via e-mail.

What configuration are you using? What is the output of player.getConfiguration()?

Unable to retrieve getConfiguration() from the Vizio TV.

What did you do?

Attempted to play back a HLS fMP4 stream containing a DTS Express audio track on the Vizio TV.
Note that the Vizio TV supports the DTS Express format and plays DASH streams containing DTS Express without issue.

What did you expect to happen?
Expected the stream to play back successfully.

What actually happened?

Got the following error:
Shaka Error MEDIA.VIDEO_ERROR (4,,CHUNK_DEMUXER_ERROR_APPEND_FAILED: Unsupported audio format 0x64747365 in stsd box.)

@ashley-manners-xperi ashley-manners-xperi added the type: bug Something isn't working correctly label Mar 22, 2023
@ashley-manners-xperi
Copy link
Contributor Author

I am working on a PR for this issue.

@avelad avelad added component: HLS The issue involves Apple's HLS manifest format priority: P2 Smaller impact or easy workaround labels Mar 22, 2023
@avelad
Copy link
Collaborator

avelad commented Mar 22, 2023

@ashley-manners-xperi can you check if there are any other incompatibilities with DTS? Thanks!

@github-actions github-actions bot added this to the v4.4 milestone Mar 22, 2023
@ashley-manners-xperi
Copy link
Contributor Author

@ashley-manners-xperi can you check if there are any other incompatibilities with DTS? Thanks!

Hi @avelad,

The DTS formats we would expect to be supported are those used by Streaming Services, which are:

  • DTS Digital Surround (dtsc)
  • DTS Express (dtse)
  • DTS:X Profile 2 (dtsx)

For DASH streams, we have confirmed that all of these formats are supported.
For HLS fMP4 streams, we have confirmed that all but DTS Express are supported (with support soon to be added by my upcoming Pull Request).

HLS TS support for DTS formats has not yet been investigated.

ashley-manners-xperi added a commit to ashley-manners-xperi/shaka-player that referenced this issue Mar 23, 2023
avelad pushed a commit that referenced this issue Mar 23, 2023
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
joeyparrish pushed a commit that referenced this issue Apr 26, 2023
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
joeyparrish pushed a commit that referenced this issue Apr 26, 2023
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
joeyparrish pushed a commit that referenced this issue Apr 26, 2023
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
joeyparrish pushed a commit that referenced this issue Apr 26, 2023
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
@github-actions github-actions bot added the status: archived Archived and locked; will not be updated label May 22, 2023
@github-actions github-actions bot locked as resolved and limited conversation to collaborators May 22, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
component: HLS The issue involves Apple's HLS manifest format priority: P2 Smaller impact or easy workaround status: archived Archived and locked; will not be updated type: bug Something isn't working correctly
2 participants