diff --git a/app/render/audioparams.cpp b/app/render/audioparams.cpp index 5ea10389e..24c308a33 100644 --- a/app/render/audioparams.cpp +++ b/app/render/audioparams.cpp @@ -95,38 +95,38 @@ qint64 AudioParams::time_to_bytes(const rational &time) const return time_to_bytes(time.toDouble()); } -int AudioParams::time_to_samples(const double &time) const +qint64 AudioParams::time_to_samples(const double &time) const { Q_ASSERT(is_valid()); - return qFloor(time * sample_rate()); + return qRound64(time * sample_rate()); } -int AudioParams::time_to_samples(const rational &time) const +qint64 AudioParams::time_to_samples(const rational &time) const { return time_to_samples(time.toDouble()); } -int AudioParams::samples_to_bytes(const int &samples) const +qint64 AudioParams::samples_to_bytes(const qint64 &samples) const { Q_ASSERT(is_valid()); return samples * channel_count() * bytes_per_sample_per_channel(); } -rational AudioParams::samples_to_time(const int &samples) const +rational AudioParams::samples_to_time(const qint64 &samples) const { return rational(samples, sample_rate()); } -int AudioParams::bytes_to_samples(const int &bytes) const +qint64 AudioParams::bytes_to_samples(const qint64 &bytes) const { Q_ASSERT(is_valid()); return bytes / (channel_count() * bytes_per_sample_per_channel()); } -rational AudioParams::bytes_to_time(const int &bytes) const +rational AudioParams::bytes_to_time(const qint64 &bytes) const { Q_ASSERT(is_valid()); diff --git a/app/render/audioparams.h b/app/render/audioparams.h index db9c0aa86..4ce4ccfbf 100644 --- a/app/render/audioparams.h +++ b/app/render/audioparams.h @@ -94,12 +94,12 @@ public: qint64 time_to_bytes(const double& time) const; qint64 time_to_bytes(const rational& time) const; - int time_to_samples(const double& time) const; - int time_to_samples(const rational& time) const; - int samples_to_bytes(const int& samples) const; - rational samples_to_time(const int& samples) const; - int bytes_to_samples(const int &bytes) const; - rational bytes_to_time(const int &bytes) const; + qint64 time_to_samples(const double& time) const; + qint64 time_to_samples(const rational& time) const; + qint64 samples_to_bytes(const qint64& samples) const; + rational samples_to_time(const qint64& samples) const; + qint64 bytes_to_samples(const qint64 &bytes) const; + rational bytes_to_time(const qint64 &bytes) const; int channel_count() const; int bytes_per_sample_per_channel() const; int bits_per_sample() const;