summaryrefslogtreecommitdiff
path: root/asdcplib/src/AS_DCP_PCM.cpp
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2016-01-04 16:19:04 +0000
committerCarl Hetherington <cth@carlh.net>2016-01-04 16:19:04 +0000
commitf4802823b481b47a240002d086a5caefee3e4b61 (patch)
tree06f7eedc862fd9cc1b083da91b753bded5fd8914 /asdcplib/src/AS_DCP_PCM.cpp
parentfba3fceee2203833b74631a951ec1364521630be (diff)
Fix new asdcplib to build.
Diffstat (limited to 'asdcplib/src/AS_DCP_PCM.cpp')
-rwxr-xr-xasdcplib/src/AS_DCP_PCM.cpp24
1 files changed, 19 insertions, 5 deletions
diff --git a/asdcplib/src/AS_DCP_PCM.cpp b/asdcplib/src/AS_DCP_PCM.cpp
index 73ef4efd..9493f096 100755
--- a/asdcplib/src/AS_DCP_PCM.cpp
+++ b/asdcplib/src/AS_DCP_PCM.cpp
@@ -25,7 +25,7 @@ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
/*! \file AS_DCP_PCM.cpp
- \version $Id: AS_DCP_PCM.cpp,v 1.47 2014/10/02 21:02:24 jhurst Exp $
+ \version $Id: AS_DCP_PCM.cpp,v 1.47 2014/10/02 21:02:24 jhurst Exp $
\brief AS-DCP library, PCM essence reader and writer implementation
*/
@@ -81,6 +81,10 @@ ASDCP::PCM_ADesc_to_MD(PCM::AudioDescriptor& ADesc, MXF::WaveAudioDescriptor* AD
case PCM::CF_CFG_6:
ADescObj->ChannelAssignment = DefaultSMPTEDict().Type(MDD_DCAudioChannelCfg_MCA).ul;
break;
+
+ default:
+ /* Keep GCC quiet */
+ break;
}
return RESULT_OK;
@@ -282,6 +286,10 @@ ASDCP::PCM::MXFReader::h__Reader::OpenRead(const std::string& filename)
return RESULT_FORMAT;
}
+ /* This check has been removed so that DCP-o-matic can use any edit rate
+ it wants.
+ */
+#if 0
// check for sample/frame rate sanity
if ( ASDCP_SUCCESS(result)
&& m_ADesc.EditRate != EditRate_24
@@ -305,7 +313,7 @@ ASDCP::PCM::MXFReader::h__Reader::OpenRead(const std::string& filename)
// oh, they gave us the audio sampling rate instead, assume 24/1
if ( m_ADesc.EditRate == SampleRate_48k || m_ADesc.EditRate == SampleRate_96k )
{
- DefaultLogSink().Warn("adjusting EditRate to 24/1\n");
+ DefaultLogSink().Warn("adjusting EditRate to 24/1\n");
m_ADesc.EditRate = EditRate_24;
}
else
@@ -315,6 +323,7 @@ ASDCP::PCM::MXFReader::h__Reader::OpenRead(const std::string& filename)
return RESULT_FORMAT;
}
}
+#endif
// TODO: test file for sane CBR index BytesPerEditUnit
@@ -515,7 +524,7 @@ class ASDCP::PCM::MXFWriter::h__Writer : public ASDCP::h__ASDCPWriter
public:
AudioDescriptor m_ADesc;
byte_t m_EssenceUL[SMPTE_UL_LENGTH];
-
+
h__Writer(const Dictionary& d) : ASDCP::h__ASDCPWriter(d) {
memset(m_EssenceUL, 0, SMPTE_UL_LENGTH);
}
@@ -558,6 +567,10 @@ ASDCP::PCM::MXFWriter::h__Writer::SetSourceStream(const AudioDescriptor& ADesc)
if ( ! m_State.Test_INIT() )
return RESULT_STATE;
+ /* This check has been removed so that DCP-o-matic can use any edit rate
+ it wants.
+ */
+ #if 0
if ( ADesc.EditRate != EditRate_24
&& ADesc.EditRate != EditRate_25
&& ADesc.EditRate != EditRate_30
@@ -577,6 +590,7 @@ ASDCP::PCM::MXFWriter::h__Writer::SetSourceStream(const AudioDescriptor& ADesc)
ADesc.EditRate.Numerator, ADesc.EditRate.Denominator);
return RESULT_RAW_FORMAT;
}
+#endif
if ( ADesc.AudioSamplingRate != SampleRate_48k && ADesc.AudioSamplingRate != SampleRate_96k )
{
@@ -589,7 +603,7 @@ ASDCP::PCM::MXFWriter::h__Writer::SetSourceStream(const AudioDescriptor& ADesc)
m_ADesc = ADesc;
Result_t result = PCM_ADesc_to_MD(m_ADesc, (WaveAudioDescriptor*)m_EssenceDescriptor);
-
+
if ( ASDCP_SUCCESS(result) )
{
memcpy(m_EssenceUL, m_Dict->ul(MDD_WAVEssence), SMPTE_UL_LENGTH);
@@ -713,7 +727,7 @@ ASDCP::PCM::MXFWriter::OpenWrite(const std::string& filename, const WriterInfo&
m_Writer = new h__Writer(DefaultInteropDict());
m_Writer->m_Info = Info;
-
+
Result_t result = m_Writer->OpenWrite(filename, HeaderSize);
if ( ASDCP_SUCCESS(result) )