From ba6e57635ce6482fa9dcd6a824b579edb459b834 Mon Sep 17 00:00:00 2001 From: jhurst Date: Mon, 17 Jun 2013 17:55:54 +0000 Subject: tweezes --- src/h__Writer.cpp | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) (limited to 'src/h__Writer.cpp') diff --git a/src/h__Writer.cpp b/src/h__Writer.cpp index 952972e..5009ffa 100755 --- a/src/h__Writer.cpp +++ b/src/h__Writer.cpp @@ -35,6 +35,19 @@ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. using namespace ASDCP; using namespace ASDCP::MXF; +// +ui32_t +ASDCP::derive_timecode_rate_from_edit_rate(const ASDCP::Rational& edit_rate) +{ + double edit_rate_real = edit_rate.Quotient(); + if ( ceil(edit_rate_real) == floor(edit_rate_real) ) + { + return ceil(edit_rate_real); + } + + return ( edit_rate_real - floor(edit_rate_real) < 0.5 ) ? floor(edit_rate_real) : ceil(edit_rate_real); +} + // // add DMS CryptographicFramework entry to source package void @@ -146,7 +159,8 @@ ASDCP::h__ASDCPWriter::WriteASDCPHeader(const std::string& PackageLabel, const U m_RIP.PairArray.push_back(RIP::Pair(1, 0)); // 2-part, essence in header } - AddSourceClip(EditRate, TCFrameRate, TrackName, EssenceUL, DataDefinition, PackageLabel); + // timecode rate and essence rate are the same + AddSourceClip(EditRate, EditRate, TCFrameRate, TrackName, EssenceUL, DataDefinition, PackageLabel); AddEssenceDescriptor(WrappingUL); Result_t result = m_HeaderPart.WriteToFile(m_File, m_HeaderSize); -- cgit v1.2.3