diff options
| author | Carl Hetherington <cth@carlh.net> | 2024-05-20 15:21:51 +0200 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2024-05-21 09:38:03 +0200 |
| commit | eeef6e5e41163257145e5e6d4418c28b6970bae2 (patch) | |
| tree | addb408bae65f4bb6a69d2437fd664f9ec891630 /src/lib | |
| parent | 27a0e4ef75533fb0fab182f998498a70bde06c9f (diff) | |
Fix stream length for DCP content (#2688).
Diffstat (limited to 'src/lib')
| -rw-r--r-- | src/lib/dcp_examiner.cc | 3 |
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); } } |
