diff options
| author | jhurst <jhurst@cinecert.com> | 2008-08-15 22:47:07 +0000 |
|---|---|---|
| committer | jhurst <> | 2008-08-15 22:47:07 +0000 |
| commit | a6d7c84d3734a21dbe7112a3a83b791ec211a315 (patch) | |
| tree | 2e10284ae3b386cf0cbf3df7f8924d7e9a78a4b5 /src/TimedText_Parser.cpp | |
| parent | 4e404673b69a7e2772579788a0b55c7037cee314 (diff) | |
removed extraneous assert(), added multi-/ test to path-test.cpp
Diffstat (limited to 'src/TimedText_Parser.cpp')
| -rw-r--r-- | src/TimedText_Parser.cpp | 12 |
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; |
