summaryrefslogtreecommitdiff
path: root/src/TimedText_Parser.cpp
diff options
context:
space:
mode:
authorjhurst <jhurst@cinecert.com>2008-08-15 22:47:07 +0000
committerjhurst <>2008-08-15 22:47:07 +0000
commita6d7c84d3734a21dbe7112a3a83b791ec211a315 (patch)
tree2e10284ae3b386cf0cbf3df7f8924d7e9a78a4b5 /src/TimedText_Parser.cpp
parent4e404673b69a7e2772579788a0b55c7037cee314 (diff)
removed extraneous assert(), added multi-/ test to path-test.cpp
Diffstat (limited to 'src/TimedText_Parser.cpp')
-rw-r--r--src/TimedText_Parser.cpp12
1 files changed, 9 insertions, 3 deletions
diff --git a/src/TimedText_Parser.cpp b/src/TimedText_Parser.cpp
index 099e907..8fc09fc 100644
--- a/src/TimedText_Parser.cpp
+++ b/src/TimedText_Parser.cpp
@@ -263,12 +263,13 @@ ASDCP::TimedText::DCSubtitleParser::h__SubtitleParser::OpenRead(const char* file
if ( InstanceList.empty() )
{
- DefaultLogSink(). Error("XML document contains no Subtitle elements!\n");
+ DefaultLogSink(). Error("XML document contains no Subtitle elements.\n");
return RESULT_FORMAT;
}
// assumes 24/1 or 48/1 as constrained above
- S12MTimecode beginTC(InstanceList.front()->GetAttrWithName("TimeIn"), m_TDesc.EditRate.Numerator);
+
+ S12MTimecode beginTC(m_Root.GetChildWithName("StartTime")->GetBody(), m_TDesc.EditRate.Numerator);
for ( ei = InstanceList.begin(); ei != InstanceList.end(); ei++ )
{
@@ -277,7 +278,12 @@ ASDCP::TimedText::DCSubtitleParser::h__SubtitleParser::OpenRead(const char* file
end_count = tmpTC.GetFrames();
}
- assert( end_count > beginTC.GetFrames() );
+ if ( end_count <= beginTC.GetFrames() )
+ {
+ DefaultLogSink(). Error("Timed Text file has zero-length timeline.\n");
+ return RESULT_FORMAT;
+ }
+
m_TDesc.ContainerDuration = end_count - beginTC.GetFrames();
return RESULT_OK;