summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2021-04-23 23:37:12 +0200
committerCarl Hetherington <cth@carlh.net>2021-05-07 09:29:58 +0200
commit9208efcd05052b12d4f0587809638c6a5654100f (patch)
tree2cd153576049effc3ed848f3fd56df29020f3ee7
parentc856ed24976679b6d69b2dcd3df9352c70cb68e0 (diff)
Add Piece::audio_gain().
-rw-r--r--src/lib/piece.cc7
-rw-r--r--src/lib/piece.h1
-rw-r--r--src/lib/player.cc7
3 files changed, 10 insertions, 5 deletions
diff --git a/src/lib/piece.cc b/src/lib/piece.cc
index 2a4f01268..5c4563c0e 100644
--- a/src/lib/piece.cc
+++ b/src/lib/piece.cc
@@ -156,3 +156,10 @@ Piece::resampled_audio_frame_rate (shared_ptr<const Film> film) const
return content->audio->resampled_frame_rate (film);
}
+
+double
+Piece::audio_gain () const
+{
+ DCPOMATIC_ASSERT (content->audio);
+ return content->audio->gain();
+}
diff --git a/src/lib/piece.h b/src/lib/piece.h
index 04159e58f..eea5021ca 100644
--- a/src/lib/piece.h
+++ b/src/lib/piece.h
@@ -61,6 +61,7 @@ public:
std::shared_ptr<PlayerVideo> player_video (ContentVideo video, std::shared_ptr<const Film> film, dcp::Size container_size) const;
int resampled_audio_frame_rate (std::shared_ptr<const Film> film) const;
+ double audio_gain () const;
std::shared_ptr<Content> content;
std::shared_ptr<Decoder> decoder;
diff --git a/src/lib/player.cc b/src/lib/player.cc
index 451a0018a..d95cf661e 100644
--- a/src/lib/player.cc
+++ b/src/lib/player.cc
@@ -869,9 +869,6 @@ Player::audio (weak_ptr<Piece> wp, AudioStreamPtr stream, ContentAudio content_a
return;
}
- auto content = piece->content->audio;
- DCPOMATIC_ASSERT (content);
-
int const rfr = piece->resampled_audio_frame_rate (_film);
/* Compute time in the DCP */
@@ -905,9 +902,9 @@ Player::audio (weak_ptr<Piece> wp, AudioStreamPtr stream, ContentAudio content_a
/* Gain */
- if (content->gain() != 0) {
+ if (piece->audio_gain() != 0) {
auto gain = make_shared<AudioBuffers>(content_audio.audio);
- gain->apply_gain (content->gain());
+ gain->apply_gain (piece->audio_gain());
content_audio.audio = gain;
}