summaryrefslogtreecommitdiff
path: root/src/AS_02.h
diff options
context:
space:
mode:
authormsheby <msheby@cinecert.com>2013-08-28 18:45:11 +0000
committermsheby <>2013-08-28 18:45:11 +0000
commit641e2138cd3566bfa7d81f33e4c8b5879f1ce9aa (patch)
tree307daa3a114d267fb95e4260644c3d8d1f54b66d /src/AS_02.h
parent0736102a4f1eaa29b6b0b4aaabc1e360922e9385 (diff)
fix AS-02 audio unwrapping behavior
Diffstat (limited to 'src/AS_02.h')
-rw-r--r--src/AS_02.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/AS_02.h b/src/AS_02.h
index ff6b692..e534dd4 100644
--- a/src/AS_02.h
+++ b/src/AS_02.h
@@ -118,6 +118,14 @@ namespace AS_02
return CalcSampleSize(d) * CalcSamplesPerFrame(d, edit_rate);
}
+ // Returns number of frames for data described by ADesc, given a duration in samples and an edit rate
+ inline ui32_t CalcFramesFromDurationInSamples(const ui32_t durationInSamples, const ASDCP::MXF::WaveAudioDescriptor& d, const ASDCP::Rational& edit_rate)
+ {
+ return static_cast<ui32_t>(static_cast<ui64_t>(durationInSamples) *
+ static_cast<ui64_t>(d.AudioSamplingRate.Denominator * edit_rate.Numerator) /
+ static_cast<ui64_t>(d.AudioSamplingRate.Numerator * edit_rate.Denominator));
+ }
+
} // namespace MXF
//---------------------------------------------------------------------------------