Skip to content

Commit c3fed9a

Browse files
+ I2218, TTML: detect IMSC Rosetta
1 parent 9c4d878 commit c3fed9a

File tree

1 file changed

+20
-1
lines changed

1 file changed

+20
-1
lines changed

Source/MediaInfo/Text/File_Ttml.cpp

+20-1
Original file line numberDiff line numberDiff line change
@@ -440,7 +440,7 @@ void File_Ttml::Read_Buffer_Continue()
440440
Fill(Stream_General, 0, General_Format_Profile, "IMSC1");
441441
Fill(Stream_Text, 0, Text_Format_Profile, "IMSC1");
442442
}
443-
443+
string Rosetta_Profile, Rosetta_Version;
444444

445445
tinyxml2::XMLElement* div=NULL;
446446
#if MEDIAINFO_EVENTS
@@ -660,12 +660,31 @@ void File_Ttml::Read_Buffer_Continue()
660660
Fill(Stream_Text, 0, "CaptionServiceName", Attribute);
661661
}
662662
}
663+
if (!strcmp(metadata_element->Value(), "rosetta:format"))
664+
{
665+
for (auto format_element = metadata_element->FirstChild(); format_element; format_element = format_element->NextSiblingElement())
666+
{
667+
Rosetta_Profile = format_element->Value();
668+
break;
669+
}
670+
}
671+
if (!strcmp(metadata_element->Value(), "rosetta:version"))
672+
{
673+
for (auto format_element = metadata_element->FirstChild(); format_element; format_element = format_element->NextSiblingElement())
674+
{
675+
Rosetta_Version = format_element->Value();
676+
break;
677+
}
678+
}
663679
}
664680
}
665681
}
666682
}
667683
}
668684

685+
if (!Rosetta_Profile.empty())
686+
Fill(Stream_Text, 0, Text_Format_Profile, Rosetta_Profile + (Rosetta_Version.empty()?string():(' '+Rosetta_Version)));
687+
669688
#if MEDIAINFO_DEMUX
670689
Demux(Buffer, Buffer_Size, ContentType_MainStream);
671690
#endif //MEDIAINFO_DEMUX

0 commit comments

Comments
 (0)