summaryrefslogtreecommitdiff
path: root/src/AS_DCP_MXF.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/AS_DCP_MXF.cpp')
-rwxr-xr-xsrc/AS_DCP_MXF.cpp11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/AS_DCP_MXF.cpp b/src/AS_DCP_MXF.cpp
index 9cb4c15..e63faa5 100755
--- a/src/AS_DCP_MXF.cpp
+++ b/src/AS_DCP_MXF.cpp
@@ -163,19 +163,19 @@ ASDCP::MD_to_CryptoInfo(CryptographicContext* InfoObj, WriterInfo& Info, const D
//
//
ASDCP::Result_t
-ASDCP::EssenceType(const std::string& filename, EssenceType_t& type)
+ASDCP::EssenceType(const std::string& filename, EssenceType_t& type, const Kumu::IFileReaderFactory& fileReaderFactory)
{
const Dictionary* m_Dict = &DefaultCompositeDict();
InterchangeObject* md_object = 0;
assert(m_Dict);
- Kumu::FileReader Reader;
+ Kumu::IFileReader* Reader = fileReaderFactory.CreateFileReader();
OP1aHeader TestHeader(m_Dict);
- Result_t result = Reader.OpenRead(filename);
+ Result_t result = Reader->OpenRead(filename);
if ( ASDCP_SUCCESS(result) )
- result = TestHeader.InitFromFile(Reader); // test UL and OP
+ result = TestHeader.InitFromFile(*Reader); // test UL and OP
if ( ASDCP_SUCCESS(result) )
{
@@ -285,10 +285,11 @@ ASDCP::EssenceType(const std::string& filename, EssenceType_t& type)
else
{
DefaultLogSink().Error("Unsupported MXF Operational Pattern.\n");
- return RESULT_FORMAT;
+ result = RESULT_FORMAT;
}
}
+ delete Reader;
return result;
}