From: Steinar H. Gunderson Date: Mon, 11 May 2020 18:14:47 +0000 (+0200) Subject: Fix an integer overflow with very long master frames. X-Git-Tag: 2.0.0~36 X-Git-Url: https://git.sesse.net/?p=nageru;a=commitdiff_plain;h=11d27b16a092efb99c045b21903da0eb7ee8c4d1 Fix an integer overflow with very long master frames. --- diff --git a/nageru/mixer.cpp b/nageru/mixer.cpp index 915ae0e..212041b 100644 --- a/nageru/mixer.cpp +++ b/nageru/mixer.cpp @@ -1366,7 +1366,7 @@ start: // This might get off by a fractional sample when changing master card // between ones with different frame rates, but that's fine. - int num_samples_times_timebase = OUTPUT_FREQUENCY * output_frame_info.frame_duration + fractional_samples; + int64_t num_samples_times_timebase = int64_t(OUTPUT_FREQUENCY) * output_frame_info.frame_duration + fractional_samples; output_frame_info.num_samples = num_samples_times_timebase / TIMEBASE; fractional_samples = num_samples_times_timebase % TIMEBASE; assert(output_frame_info.num_samples >= 0);