Skip to content

Commit

Permalink
Merge pull request #4086 from Holzhaus/samplerate-division
Browse files Browse the repository at this point in the history
SampleRate: Add operator for dividing by another sample rate
  • Loading branch information
uklotzde authored Jul 8, 2021
2 parents 7cc4e0f + 309c04e commit a63b836
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 1 deletion.
9 changes: 9 additions & 0 deletions src/audio/types.h
Original file line number Diff line number Diff line change
Expand Up @@ -165,12 +165,21 @@ class SampleRate {
return SampleRate(static_cast<value_t>(value));
}

constexpr double toDouble() {
return static_cast<double>(value());
}

private:
value_t m_value;
};

QDebug operator<<(QDebug dbg, SampleRate arg);

/// Division of a SampleRate by another SampleRate returns a ratio as double.
inline double operator/(SampleRate sampleRate1, SampleRate sampleRate2) {
return sampleRate1.toDouble() / sampleRate2.toDouble();
}

// The bitrate is measured in kbit/s (kbps) and provides information
// about the level of compression for lossily encoded audio streams.
//
Expand Down
2 changes: 1 addition & 1 deletion src/engine/enginebuffer.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -809,7 +809,7 @@ void EngineBuffer::processTrackLocked(

double baserate = 0.0;
if (sampleRate.isValid()) {
baserate = static_cast<double>(m_trackSampleRateOld) / sampleRate;
baserate = m_trackSampleRateOld / sampleRate;
}

// Sync requests can affect rate, so process those first.
Expand Down

0 comments on commit a63b836

Please sign in to comment.