diff options
| author | John Hurst <jhurst@cinecert.com> | 2021-08-27 07:44:04 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-08-27 07:44:04 -0700 |
| commit | b8dea7232f134cc54f516e1f0f914d626594eaa4 (patch) | |
| tree | ab1fcf6f04c89caecb086e2c8964e346425fe6ff /src/asdcp-unwrap.cpp | |
| parent | 9b1a901aef79dfe022c54dfdb1e0c1c1b4a451a8 (diff) | |
| parent | 404ae7e7645525b0ac846ab1c4f08a2867cfc680 (diff) | |
Merge pull request #2 from DolbyLaboratories/dolby/atmos_storage/asdcplib_integration/as02info_as02unwrap_iab
Merge dolby/atmos_storage/asdcplib_integration/as02info_as02unwrap_iab (contains also FileReader pluggable at runtime) to master
Diffstat (limited to 'src/asdcp-unwrap.cpp')
| -rwxr-xr-x | src/asdcp-unwrap.cpp | 50 |
1 files changed, 26 insertions, 24 deletions
diff --git a/src/asdcp-unwrap.cpp b/src/asdcp-unwrap.cpp index 2c7b811..bddc4ee 100755 --- a/src/asdcp-unwrap.cpp +++ b/src/asdcp-unwrap.cpp @@ -325,11 +325,11 @@ public: // Read a ciphertext MPEG2 Video Elementary Stream from a ciphertext ASDCP file // Result_t -read_MPEG2_file(CommandOptions& Options) +read_MPEG2_file(CommandOptions& Options, const Kumu::IFileReaderFactory& fileReaderFactory) { AESDecContext* Context = 0; HMACContext* HMAC = 0; - MPEG2::MXFReader Reader; + MPEG2::MXFReader Reader(fileReaderFactory); MPEG2::FrameBuffer FrameBuffer(Options.fb_size); Kumu::FileWriter OutFile; ui32_t frame_count = 0; @@ -407,11 +407,11 @@ read_MPEG2_file(CommandOptions& Options) // Result_t -gop_start_test(CommandOptions& Options) +gop_start_test(CommandOptions& Options, const Kumu::IFileReaderFactory& fileReaderFactory) { using namespace ASDCP::MPEG2; - MXFReader Reader; + MXFReader Reader(fileReaderFactory); MPEG2::FrameBuffer FrameBuffer(Options.fb_size); ui32_t frame_count = 0; @@ -461,11 +461,11 @@ gop_start_test(CommandOptions& Options) // Read one or more plaintext JPEG 2000 stereoscopic codestream pairs from a ciphertext ASDCP file // Read one or more ciphertext JPEG 2000 stereoscopic codestream pairs from a ciphertext ASDCP file Result_t -read_JP2K_S_file(CommandOptions& Options) +read_JP2K_S_file(CommandOptions& Options, const Kumu::IFileReaderFactory& fileReaderFactory) { AESDecContext* Context = 0; HMACContext* HMAC = 0; - JP2K::MXFSReader Reader; + JP2K::MXFSReader Reader(fileReaderFactory); JP2K::FrameBuffer FrameBuffer(Options.fb_size); ui32_t frame_count = 0; @@ -569,11 +569,11 @@ read_JP2K_S_file(CommandOptions& Options) // Read one or more ciphertext JPEG 2000 codestreams from a ciphertext ASDCP file // Result_t -read_JP2K_file(CommandOptions& Options) +read_JP2K_file(CommandOptions& Options, const Kumu::IFileReaderFactory& fileReaderFactory) { AESDecContext* Context = 0; HMACContext* HMAC = 0; - JP2K::MXFReader Reader; + JP2K::MXFReader Reader(fileReaderFactory); JP2K::FrameBuffer FrameBuffer(Options.fb_size); ui32_t frame_count = 0; @@ -658,11 +658,11 @@ read_JP2K_file(CommandOptions& Options) // Read one or more ciphertext PCM audio streams from a ciphertext ASDCP file // Result_t -read_PCM_file(CommandOptions& Options) +read_PCM_file(CommandOptions& Options, const Kumu::IFileReaderFactory& fileReaderFactory) { AESDecContext* Context = 0; HMACContext* HMAC = 0; - PCM::MXFReader Reader; + PCM::MXFReader Reader(fileReaderFactory); PCM::FrameBuffer FrameBuffer; WavFileWriter OutWave; PCM::AudioDescriptor ADesc; @@ -779,11 +779,11 @@ read_PCM_file(CommandOptions& Options) // Read one or more timed text streams from a ciphertext ASDCP file // Result_t -read_timed_text_file(CommandOptions& Options) +read_timed_text_file(CommandOptions& Options, const Kumu::IFileReaderFactory& fileReaderFactory) { AESDecContext* Context = 0; HMACContext* HMAC = 0; - TimedText::MXFReader Reader; + TimedText::MXFReader Reader(fileReaderFactory); TimedText::FrameBuffer FrameBuffer; TimedText::TimedTextDescriptor TDesc; @@ -867,11 +867,11 @@ read_timed_text_file(CommandOptions& Options) // Read one or more ciphertext DCData byestreams from a ciphertext ASDCP file // Result_t -read_DCData_file(CommandOptions& Options) +read_DCData_file(CommandOptions& Options, const Kumu::IFileReaderFactory& fileReaderFactory) { AESDecContext* Context = 0; HMACContext* HMAC = 0; - DCData::MXFReader Reader; + DCData::MXFReader Reader(fileReaderFactory); DCData::FrameBuffer FrameBuffer(Options.fb_size); ui32_t frame_count = 0; @@ -970,50 +970,52 @@ main(int argc, const char** argv) return 3; } + Kumu::FileReaderFactory defaultFactory; + if ( Options.mode == MMT_GOP_START ) { - result = gop_start_test(Options); + result = gop_start_test(Options, defaultFactory); } else if ( Options.mode == MMT_EXTRACT ) { EssenceType_t EssenceType; - result = ASDCP::EssenceType(Options.input_filename, EssenceType); + result = ASDCP::EssenceType(Options.input_filename, EssenceType, defaultFactory); if ( ASDCP_SUCCESS(result) ) { switch ( EssenceType ) { case ESS_MPEG2_VES: - result = read_MPEG2_file(Options); + result = read_MPEG2_file(Options, defaultFactory); break; case ESS_JPEG_2000: if ( Options.stereo_image_flag ) - result = read_JP2K_S_file(Options); + result = read_JP2K_S_file(Options, defaultFactory); else - result = read_JP2K_file(Options); + result = read_JP2K_file(Options, defaultFactory); break; case ESS_JPEG_2000_S: - result = read_JP2K_S_file(Options); + result = read_JP2K_S_file(Options, defaultFactory); break; case ESS_PCM_24b_48k: case ESS_PCM_24b_96k: - result = read_PCM_file(Options); + result = read_PCM_file(Options, defaultFactory); break; case ESS_TIMED_TEXT: - result = read_timed_text_file(Options); + result = read_timed_text_file(Options, defaultFactory); break; case ESS_DCDATA_UNKNOWN: - result = read_DCData_file(Options); + result = read_DCData_file(Options, defaultFactory); break; case ESS_DCDATA_DOLBY_ATMOS: Options.extension = "atmos"; - result = read_DCData_file(Options); + result = read_DCData_file(Options, defaultFactory); break; default: |
