diff options
| author | milla <marc.illa@dolby.com> | 2021-05-26 13:32:55 +0200 |
|---|---|---|
| committer | milla <marc.illa@dolby.com> | 2021-06-03 13:50:11 +0200 |
| commit | facf4f4c7a8ed65d59baed9020d5fa061b952874 (patch) | |
| tree | 8c718f4b7690db47315ebf70b6443f3fba540cf7 /src/AS_DCP_MXF.cpp | |
| parent | 7a085ad0d445ffc63ec42a2faa69a82138931575 (diff) | |
FileReader pluggable at runtime
Diffstat (limited to 'src/AS_DCP_MXF.cpp')
| -rwxr-xr-x | src/AS_DCP_MXF.cpp | 11 |
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; } |
