feat: add missing DASH roles from ISO/IEC 23009-1 section 5.8.5.5 (#1390)

Fixes #1149

---------

Co-authored-by: Joey Parrish <joeyparrish@users.noreply.github.com>
This commit is contained in:
Cosmin Stejerean 2024-04-30 14:10:23 -07:00 committed by GitHub
parent 4b5e80d02c
commit fe885b3ade
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 30 additions and 8 deletions

View File

@ -10,7 +10,10 @@ DASH specific stream descriptor fields
:dash_roles (roles):
Optional semicolon separated list of values for DASH Role element. The
optional semicolon separated list of values for DASH Role element. The
value should be one of: **caption**, **subtitle**, **main**, **alternate**,
**supplementary**, **commentary**, **description**, **dub** and **forced-subtitle** .
**supplementary**, **commentary**, **dub**, **description**, **sign**,
**metadata**, **enhanced-audio- intelligibility**, **emergency**,
**forced-subtitle**, **easyreader**, and **karaoke**.
See DASH (ISO/IEC 23009-1) specification for details.

View File

@ -127,8 +127,9 @@ 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"
" forced-subtitle, main, alternate, supplementary, commentary, \n"
" description and dub. See DASH\n"
" main, alternate, supplementary, commentary, dub, description, sign, \n"
" metadata, enhanced-audio- intelligibility, emergency, \n"
" forced-subtitle, easyreader, and karaoke. See DASH\n"
" (ISO/IEC 23009-1) specification for details.\n"
" - forced_subtitle: Optional boolean value (0|1). If set to 1 \n"
" indicates that this stream is a Forced Narrative subtitle that \n"

View File

@ -59,10 +59,22 @@ std::string RoleToText(AdaptationSet::Role role) {
return "commentary";
case AdaptationSet::kRoleDub:
return "dub";
case AdaptationSet::kRoleForcedSubtitle:
return "forced-subtitle";
case AdaptationSet::kRoleDescription:
return "description";
case AdaptationSet::kRoleSign:
return "sign";
case AdaptationSet::kRoleMetadata:
return "metadata";
case AdaptationSet::kRoleEnhancedAudioIntelligibility:
return "enhanced-audio-intelligibility";
case AdaptationSet::kRoleEmergency:
return "emergency";
case AdaptationSet::kRoleForcedSubtitle:
return "forced-subtitle";
case AdaptationSet::kRoleEasyreader:
return "easyreader";
case AdaptationSet::kRoleKaraoke:
return "karaoke";
default:
return "unknown";
}

View File

@ -43,8 +43,14 @@ class AdaptationSet {
kRoleSupplementary,
kRoleCommentary,
kRoleDub,
kRoleDescription,
kRoleSign,
kRoleMetadata,
kRoleEnhancedAudioIntelligibility,
kRoleEmergency,
kRoleForcedSubtitle,
kRoleDescription
kRoleEasyreader,
kRoleKaraoke,
};
virtual ~AdaptationSet();