diff --git a/Components/AY38910/AY38910.cpp b/Components/AY38910/AY38910.cpp index bb6240174..e7b52a4cf 100644 --- a/Components/AY38910/AY38910.cpp +++ b/Components/AY38910/AY38910.cpp @@ -125,7 +125,7 @@ template void AY38910::get_samples(std::size_t number_of_sample if constexpr (is_stereo) { reinterpret_cast(target)[c] = output_volume_; } else { - target[c] = output_volume_; + target[c] = int16_t(output_volume_); } master_divider_++; c++; @@ -171,7 +171,7 @@ template void AY38910::get_samples(std::size_t number_of_sample if constexpr (is_stereo) { reinterpret_cast(target)[c] = output_volume_; } else { - target[c] = output_volume_; + target[c] = int16_t(output_volume_); } c++; master_divider_++; @@ -235,7 +235,7 @@ template void AY38910::evaluate_output_volume() { volumes_[volumes[2]] * channel_levels[2] * c_right_ ) >> 8); } else { - output_volume_ = int16_t( + output_volume_ = uint32_t( volumes_[volumes[0]] * channel_levels[0] + volumes_[volumes[1]] * channel_levels[1] + volumes_[volumes[2]] * channel_levels[2] diff --git a/SignalProcessing/FIRFilter.hpp b/SignalProcessing/FIRFilter.hpp index 8fa69f164..c2f91cd18 100644 --- a/SignalProcessing/FIRFilter.hpp +++ b/SignalProcessing/FIRFilter.hpp @@ -52,7 +52,7 @@ class FIRFilter { inline short apply(const short *src, size_t stride = 1) const { #ifdef __APPLE__ short result; - vDSP_dotpr_s1_15(filter_coefficients_.data(), 1, src, stride, &result, filter_coefficients_.size()); + vDSP_dotpr_s1_15(filter_coefficients_.data(), 1, src, vDSP_Stride(stride), &result, filter_coefficients_.size()); return result; #else int outputValue = 0;