diff options
| author | jhurst <jhurst@cinecert.com> | 2014-01-02 23:29:22 +0000 |
|---|---|---|
| committer | jhurst <> | 2014-01-02 23:29:22 +0000 |
| commit | 7ff636405a6bff37432e1c70123f0e6936186166 (patch) | |
| tree | 87d858c6afd73fd21ca6cab5607cffcd1f7d01c3 /src/AS_DCP_PCM.cpp | |
| parent | 7f373b689817ee70fbe5d6a14cb0512b5260f77c (diff) | |
o Fixed missing-index-partion bugs for AS-02 files.
o Improved integration of ST 377-4 MCA concepts with ST 429-2 static
labels.
o Added new EssenceType_t values for IMF/AS-02 track files.
o Added detection for AS-02 track files to ASDCP::EssenceType()
o Changed lots of "const char*" to "const std::string&" in the
APIs defined by KM_fileio.h and AS_DCP.h.
o Fixed VBR Delta Segment entries to correctly flag progressive
material.
o Fixed PCM unwrapping bugs in as-02-unwrap.
Diffstat (limited to 'src/AS_DCP_PCM.cpp')
| -rwxr-xr-x | src/AS_DCP_PCM.cpp | 23 |
1 files changed, 17 insertions, 6 deletions
diff --git a/src/AS_DCP_PCM.cpp b/src/AS_DCP_PCM.cpp index 8011a55..88ccd1f 100755 --- a/src/AS_DCP_PCM.cpp +++ b/src/AS_DCP_PCM.cpp @@ -77,6 +77,10 @@ ASDCP::PCM_ADesc_to_MD(PCM::AudioDescriptor& ADesc, MXF::WaveAudioDescriptor* AD case PCM::CF_CFG_5: ADescObj->ChannelAssignment = DefaultSMPTEDict().Type(MDD_DCAudioChannelCfg_5_7p1_DS).ul; break; + + case PCM::CF_CFG_6: + ADescObj->ChannelAssignment = DefaultSMPTEDict().Type(MDD_DCAudioChannelCfg_MCA).ul; + break; } return RESULT_OK; @@ -116,6 +120,9 @@ ASDCP::MD_to_PCM_ADesc(MXF::WaveAudioDescriptor* ADescObj, PCM::AudioDescriptor& else if ( ADescObj->ChannelAssignment == DefaultSMPTEDict().Type(MDD_DCAudioChannelCfg_5_7p1_DS).ul ) ADesc.ChannelFormat = PCM::CF_CFG_5; + + else if ( ADescObj->ChannelAssignment == DefaultSMPTEDict().Type(MDD_DCAudioChannelCfg_MCA).ul ) + ADesc.ChannelFormat = PCM::CF_CFG_6; } return RESULT_OK; @@ -161,6 +168,10 @@ ASDCP::PCM::operator << (std::ostream& strm, const AudioDescriptor& ADesc) case CF_CFG_5: strm << "Config 5 (7.1 DS with optional HI/VI)"; break; + + case CF_CFG_6: + strm << "Config 6 (ST 377-1 MCA)"; + break; } strm << std::endl; @@ -237,7 +248,7 @@ public: h__Reader(const Dictionary& d) : ASDCP::h__ASDCPReader(d) {} virtual ~h__Reader() {} - Result_t OpenRead(const char*); + Result_t OpenRead(const std::string&); Result_t ReadFrame(ui32_t, FrameBuffer&, AESDecContext*, HMACContext*); }; @@ -245,7 +256,7 @@ public: // // ASDCP::Result_t -ASDCP::PCM::MXFReader::h__Reader::OpenRead(const char* filename) +ASDCP::PCM::MXFReader::h__Reader::OpenRead(const std::string& filename) { Result_t result = OpenMXFRead(filename); @@ -397,7 +408,7 @@ ASDCP::PCM::MXFReader::RIP() // Open the file for reading. The file must exist. Returns error if the // operation cannot be completed. ASDCP::Result_t -ASDCP::PCM::MXFReader::OpenRead(const char* filename) const +ASDCP::PCM::MXFReader::OpenRead(const std::string& filename) const { return m_Reader->OpenRead(filename); } @@ -500,7 +511,7 @@ public: virtual ~h__Writer(){} - Result_t OpenWrite(const char*, ui32_t HeaderSize); + Result_t OpenWrite(const std::string&, ui32_t HeaderSize); Result_t SetSourceStream(const AudioDescriptor&); Result_t WriteFrame(const FrameBuffer&, AESEncContext* = 0, HMACContext* = 0); Result_t Finalize(); @@ -511,7 +522,7 @@ public: // Open the file for writing. The file must not exist. Returns error if // the operation cannot be completed. ASDCP::Result_t -ASDCP::PCM::MXFWriter::h__Writer::OpenWrite(const char* filename, ui32_t HeaderSize) +ASDCP::PCM::MXFWriter::h__Writer::OpenWrite(const std::string& filename, ui32_t HeaderSize) { if ( ! m_State.Test_BEGIN() ) return RESULT_STATE; @@ -682,7 +693,7 @@ ASDCP::PCM::MXFWriter::RIP() // Open the file for writing. The file must not exist. Returns error if // the operation cannot be completed. ASDCP::Result_t -ASDCP::PCM::MXFWriter::OpenWrite(const char* filename, const WriterInfo& Info, +ASDCP::PCM::MXFWriter::OpenWrite(const std::string& filename, const WriterInfo& Info, const AudioDescriptor& ADesc, ui32_t HeaderSize) { if ( Info.LabelSetType == LS_MXF_SMPTE ) |
