diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/AS_DCP_TimedText.cpp | 12 | ||||
| -rw-r--r-- | src/TimedText_Parser.cpp | 12 |
2 files changed, 18 insertions, 6 deletions
diff --git a/src/AS_DCP_TimedText.cpp b/src/AS_DCP_TimedText.cpp index e77207f..ac95e24 100644 --- a/src/AS_DCP_TimedText.cpp +++ b/src/AS_DCP_TimedText.cpp @@ -577,6 +577,18 @@ ASDCP::TimedText::MXFWriter::h__Writer::SetSourceStream(ASDCP::TimedText::TimedT if ( ASDCP_SUCCESS(result) ) { InitHeader(); + + // First RIP Entry + if ( m_Info.LabelSetType == LS_MXF_SMPTE ) // ERK + { + m_RIP.PairArray.push_back(RIP::Pair(0, 0)); // 3-part, no essence in header + } + else + { + DefaultLogSink().Error("Unable to write Interop timed-text MXF file. Use SMOTE DCP options instead.\n"); + return RESULT_FORMAT; + } + // timecode rate and essence rate are the same AddDMSegment(m_TDesc.EditRate, m_TDesc.EditRate, derive_timecode_rate_from_edit_rate(m_TDesc.EditRate), TIMED_TEXT_DEF_LABEL, UL(m_Dict->ul(MDD_DataDataDef)), TIMED_TEXT_PACKAGE_LABEL); diff --git a/src/TimedText_Parser.cpp b/src/TimedText_Parser.cpp index bc3023b..a1f3de4 100644 --- a/src/TimedText_Parser.cpp +++ b/src/TimedText_Parser.cpp @@ -45,15 +45,15 @@ const char* c_dcst_namespace_name = "http://www.smpte-ra.org/schemas/428-7/2007/ -class FilenameResolver : public ASDCP::TimedText::IResourceResolver +class LocalFilenameResolver : public ASDCP::TimedText::IResourceResolver { std::string m_Dirname; - FilenameResolver(); - bool operator==(const FilenameResolver&); + LocalFilenameResolver(); + bool operator==(const LocalFilenameResolver&); public: - FilenameResolver(const std::string& dirname) + LocalFilenameResolver(const std::string& dirname) { if ( PathIsDirectory(dirname) ) { @@ -109,7 +109,7 @@ public: std::string m_Filename; std::string m_XMLDoc; TimedTextDescriptor m_TDesc; - mem_ptr<FilenameResolver> m_DefaultResolver; + mem_ptr<LocalFilenameResolver> m_DefaultResolver; h__SubtitleParser() : m_Root("**ParserRoot**") { @@ -121,7 +121,7 @@ public: TimedText::IResourceResolver* GetDefaultResolver() { if ( m_DefaultResolver.empty() ) - m_DefaultResolver = new FilenameResolver(PathDirname(m_Filename)); + m_DefaultResolver = new LocalFilenameResolver(PathDirname(m_Filename)); return m_DefaultResolver; } |
