fix: dash_roles add role=description for DVS audio per DASH-IF-IOP-v4.3 (#1054)

Fixes support for description role for audio DVS tracks as per spec.
This commit is contained in:
Vishal Shah 2022-06-02 10:40:34 -06:00 committed by GitHub
parent b9d477b969
commit dc0395291a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 13 additions and 8 deletions

View File

@ -12,5 +12,5 @@ DASH specific stream descriptor fields
Optional semicolon separated list of values for DASH Role element. The
value should be one of: **caption**, **subtitle**, **main**, **alternate**,
**supplementary**, **commentary** and **dub**. See DASH (ISO/IEC 23009-1)
specification for details.
**supplementary**, **commentary**, **description** and **dub**. See
DASH (ISO/IEC 23009-1) specification for details.

View File

@ -114,8 +114,8 @@ const char kUsage[] =
" in the format: scheme_id_uri=value.\n"
" - dash_roles (roles): Optional semicolon separated list of values for\n"
" DASH Role elements. The value should be one of: caption, subtitle,\n"
" main, alternate, supplementary, commentary and dub. See DASH\n"
" (ISO/IEC 23009-1) specification for details.\n";
" main, alternate, supplementary, commentary, description and dub. See\n"
" DASH (ISO/IEC 23009-1) specification for details.\n";
// Labels for parameters in RawKey key info.
const char kDrmLabelLabel[] = "label";

View File

@ -709,7 +709,7 @@ class PackagerFunctionalTest(PackagerAppTest):
self._GetStream(
'audio',
dash_accessibilities='urn:tva:metadata:cs:AudioPurposeCS:2007=1',
dash_roles='alternate'),
dash_roles='description'),
self._GetStream('video'),
]

View File

@ -12,7 +12,7 @@
</AdaptationSet>
<AdaptationSet id="1" contentType="audio" subsegmentAlignment="true">
<Accessibility schemeIdUri="urn:tva:metadata:cs:AudioPurposeCS:2007" value="1"/>
<Role schemeIdUri="urn:mpeg:dash:role:2011" value="alternate"/>
<Role schemeIdUri="urn:mpeg:dash:role:2011" value="description"/>
<Representation id="1" bandwidth="133334" codecs="mp4a.40.2" mimeType="audio/mp4" audioSamplingRate="44100">
<AudioChannelConfiguration schemeIdUri="urn:mpeg:dash:23003:3:audio_channel_configuration:2011" value="2"/>
<BaseURL>bear-640x360-audio.mp4</BaseURL>

View File

@ -54,6 +54,8 @@ std::string RoleToText(AdaptationSet::Role role) {
return "commentary";
case AdaptationSet::kRoleDub:
return "dub";
case AdaptationSet::kRoleDescription:
return "description";
default:
return "unknown";
}

View File

@ -43,7 +43,8 @@ class AdaptationSet {
kRoleAlternate,
kRoleSupplementary,
kRoleCommentary,
kRoleDub
kRoleDub,
kRoleDescription
};
virtual ~AdaptationSet();

View File

@ -57,6 +57,8 @@ AdaptationSet::Role RoleFromString(const std::string& role_str) {
return AdaptationSet::Role::kRoleCommentary;
if (role_str == "dub")
return AdaptationSet::Role::kRoleDub;
if (role_str == "description")
return AdaptationSet::Role::kRoleDescription;
return AdaptationSet::Role::kRoleUnknown;
}