diff options
| author | jhurst <jhurst@cinecert.com> | 2013-08-20 21:21:06 +0000 |
|---|---|---|
| committer | jhurst <> | 2013-08-20 21:21:06 +0000 |
| commit | 0736102a4f1eaa29b6b0b4aaabc1e360922e9385 (patch) | |
| tree | 992477a801ee4e96bba1227932bbfb3cb42b5294 /src/TimedText_Parser.cpp | |
| parent | 9cfe7e058499f0de149f47516f983f3619f89527 (diff) | |
fixed duplicate entries in TT wrapping
Diffstat (limited to 'src/TimedText_Parser.cpp')
| -rw-r--r-- | src/TimedText_Parser.cpp | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/src/TimedText_Parser.cpp b/src/TimedText_Parser.cpp index 191a353..bc3023b 100644 --- a/src/TimedText_Parser.cpp +++ b/src/TimedText_Parser.cpp @@ -269,6 +269,7 @@ ASDCP::TimedText::DCSubtitleParser::h__SubtitleParser::OpenRead() // list of images ElementList ImageList; m_Root.GetChildrenWithName("Image", ImageList); + std::set<Kumu::UUID> visited_items; for ( Elem_i i = ImageList.begin(); i != ImageList.end(); i++ ) { @@ -279,11 +280,15 @@ ASDCP::TimedText::DCSubtitleParser::h__SubtitleParser::OpenRead() return RESULT_FORMAT; } - TimedTextResourceDescriptor TmpResource; - memcpy(TmpResource.ResourceID, AssetID.Value(), UUIDlen); - TmpResource.Type = MT_PNG; - m_TDesc.ResourceList.push_back(TmpResource); - m_ResourceTypes.insert(ResourceTypeMap_t::value_type(UUID(TmpResource.ResourceID), MT_PNG)); + if ( visited_items.find(AssetID) == visited_items.end() ) + { + TimedTextResourceDescriptor TmpResource; + memcpy(TmpResource.ResourceID, AssetID.Value(), UUIDlen); + TmpResource.Type = MT_PNG; + m_TDesc.ResourceList.push_back(TmpResource); + m_ResourceTypes.insert(ResourceTypeMap_t::value_type(UUID(TmpResource.ResourceID), MT_PNG)); + visited_items.insert(AssetID); + } } // Calculate the timeline duration. |
