summaryrefslogtreecommitdiff
path: root/src/h__Writer.cpp
diff options
context:
space:
mode:
authorjhurst <jhurst@cinecert.com>2013-06-17 17:55:54 +0000
committerjhurst <>2013-06-17 17:55:54 +0000
commitba6e57635ce6482fa9dcd6a824b579edb459b834 (patch)
treef354c0297a4233f9cb89396b2fa9fac893ba8140 /src/h__Writer.cpp
parente54f387729bacc2d3e8c93aeb59ee45181d6f714 (diff)
tweezes
Diffstat (limited to 'src/h__Writer.cpp')
-rwxr-xr-xsrc/h__Writer.cpp16
1 files changed, 15 insertions, 1 deletions
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
@@ -36,6 +36,19 @@ 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
ASDCP::AddDMScrypt(Partition& HeaderPart, SourcePackage& Package,
@@ -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);