summaryrefslogtreecommitdiff
path: root/src/lib
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2024-05-20 15:21:51 +0200
committerCarl Hetherington <cth@carlh.net>2024-05-21 09:38:03 +0200
commiteeef6e5e41163257145e5e6d4418c28b6970bae2 (patch)
treeaddb408bae65f4bb6a69d2437fd664f9ec891630 /src/lib
parent27a0e4ef75533fb0fab182f998498a70bde06c9f (diff)
Fix stream length for DCP content (#2688).
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/dcp_examiner.cc3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/lib/dcp_examiner.cc b/src/lib/dcp_examiner.cc
index 88c9a5b70..ae5f9e9c0 100644
--- a/src/lib/dcp_examiner.cc
+++ b/src/lib/dcp_examiner.cc
@@ -167,7 +167,7 @@ DCPExaminer::DCPExaminer (shared_ptr<const DCPContent> content, bool tolerant)
if (reel->main_sound()) {
_has_audio = true;
- _audio_length += reel->main_sound()->actual_duration();
+ auto const edit_rate = reel->main_sound()->edit_rate();
if (!reel->main_sound()->asset_ref().resolved()) {
LOG_GENERAL("Main sound %1 of reel %2 is missing", reel->main_sound()->id(), reel->id());
@@ -192,6 +192,7 @@ DCPExaminer::DCPExaminer (shared_ptr<const DCPContent> content, bool tolerant)
}
_audio_language = try_to_parse_language (asset->language());
+ _audio_length += reel->main_sound()->actual_duration() * (asset->sampling_rate() * edit_rate.denominator / edit_rate.numerator);
}
}