From 8373579009c2033eccf062d9ec36a26ebbce3415 Mon Sep 17 00:00:00 2001 From: Thomas Wilshaw Date: Sat, 24 Apr 2021 13:23:34 +0100 Subject: [PATCH] audioparams: cache channel_count --- app/render/audioparams.cpp | 2 +- app/render/audioparams.h | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/app/render/audioparams.cpp b/app/render/audioparams.cpp index 304f4cba3..062cf5be5 100644 --- a/app/render/audioparams.cpp +++ b/app/render/audioparams.cpp @@ -141,7 +141,7 @@ rational AudioParams::bytes_to_time(const qint64 &bytes) const int AudioParams::channel_count() const { - return av_get_channel_layout_nb_channels(channel_layout()); + return channel_count_; } int AudioParams::bytes_per_sample_per_channel() const diff --git a/app/render/audioparams.h b/app/render/audioparams.h index a2d4ea3c5..7cfda60f3 100644 --- a/app/render/audioparams.h +++ b/app/render/audioparams.h @@ -66,6 +66,9 @@ public: format_(kFormatInvalid) { set_default_footage_parameters(); + + // Cache channel count + channel_count_ = av_get_channel_layout_nb_channels(channel_layout()); } AudioParams(const int& sample_rate, const uint64_t& channel_layout, const Format& format) : @@ -75,6 +78,9 @@ public: { set_default_footage_parameters(); timebase_ = sample_rate_as_time_base(); + + // Cache channel count + channel_count_ = av_get_channel_layout_nb_channels(this->channel_layout()); } int sample_rate() const @@ -201,6 +207,8 @@ private: uint64_t channel_layout_; + int channel_count_; + Format format_; // Footage-specific