summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/AS_DCP_TimedText.cpp12
-rw-r--r--src/TimedText_Parser.cpp12
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;
}