Allow fractional frames per second when computing Time from frames.
[libdcp.git] / asdcplib / src / AS_DCP_PCM.cpp
index 136a3edcbd5d2a7d026edd436d7bd6cf74a607b3..385d9035739ae658295d288d885a2c7a9ff00e29 100755 (executable)
@@ -77,6 +77,10 @@ PCM_ADesc_to_MD(PCM::AudioDescriptor& ADesc, MXF::WaveAudioDescriptor* ADescObj)
       case PCM::CF_CFG_5:
        ADescObj->ChannelAssignment = DefaultSMPTEDict().Type(MDD_DCAudioChannelCfg_5_7p1_DS).ul;
        break;
+
+      case PCM::CF_NONE:
+        /* Keep gcc quiet */
+        break;
     }
 
   return RESULT_OK;
@@ -228,6 +232,10 @@ ASDCP::PCM::MXFReader::h__Reader::OpenRead(const char* filename)
        }
     }
 
+  /* 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
@@ -256,6 +264,7 @@ ASDCP::PCM::MXFReader::h__Reader::OpenRead(const char* filename)
          return RESULT_FORMAT;
        }
     }
+#endif  
 
   if( ASDCP_SUCCESS(result) )
     result = InitMXFIndex();
@@ -479,6 +488,10 @@ ASDCP::PCM::MXFWriter::h__Writer::SetSourceStream(const AudioDescriptor& ADesc)
   if ( ! m_State.Test_INIT() )
     return RESULT_STATE;
 
+#if 0
+  /* This check has been removed so that DCP-o-matic can use anye dit rate
+     it wants.
+  */
   if ( ADesc.EditRate != EditRate_24
        && ADesc.EditRate != EditRate_25
        && ADesc.EditRate != EditRate_30
@@ -494,6 +507,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 )
     {