mirror of
https://gitlab.freedesktop.org/pulseaudio/pulseaudio.git
synced 2025-11-04 13:29:59 -05:00
time-smoother-2: Fix integer type problem
The byte_count argument of pa_smoother_2_get_delay() was defined as size_t which lead to overflow problems on 32-bit architectures. Changed type to uint_64. Part-of: <https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/700>
This commit is contained in:
parent
9811c84a54
commit
325108e532
3 changed files with 4 additions and 4 deletions
|
|
@ -1816,8 +1816,8 @@ static pa_usec_t calc_time(const pa_stream *s, bool ignore_transport) {
|
|||
}
|
||||
|
||||
#ifdef USE_SMOOTHER_2
|
||||
static inline size_t calc_bytes(pa_stream *s, bool ignore_transport) {
|
||||
return pa_usec_to_bytes(calc_time(s, ignore_transport), &s->sample_spec);
|
||||
static inline uint64_t calc_bytes(pa_stream *s, bool ignore_transport) {
|
||||
return (uint64_t)(calc_time(s, ignore_transport) * s->sample_spec.rate / PA_USEC_PER_SEC * pa_frame_size(&s->sample_spec));
|
||||
}
|
||||
#endif
|
||||
|
||||
|
|
|
|||
|
|
@ -258,7 +258,7 @@ void pa_smoother_2_put(pa_smoother_2 *s, pa_usec_t time_stamp, int64_t byte_coun
|
|||
}
|
||||
|
||||
/* Calculate the current latency. For a source, the sign must be inverted */
|
||||
int64_t pa_smoother_2_get_delay(pa_smoother_2 *s, pa_usec_t time_stamp, size_t byte_count) {
|
||||
int64_t pa_smoother_2_get_delay(pa_smoother_2 *s, pa_usec_t time_stamp, uint64_t byte_count) {
|
||||
int64_t now, delay;
|
||||
|
||||
pa_assert(s);
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@ void pa_smoother_2_resume(pa_smoother_2 *s, pa_usec_t time_stamp);
|
|||
void pa_smoother_2_put(pa_smoother_2 *s, pa_usec_t time_stamp, int64_t byte_count);
|
||||
|
||||
/* Calculate the current latency. For a source, the sign of the result must be inverted */
|
||||
int64_t pa_smoother_2_get_delay(pa_smoother_2 *s, pa_usec_t time_stamp, size_t byte_count);
|
||||
int64_t pa_smoother_2_get_delay(pa_smoother_2 *s, pa_usec_t time_stamp, uint64_t byte_count);
|
||||
/* Convert system time since start to sound card time */
|
||||
pa_usec_t pa_smoother_2_get(pa_smoother_2 *s, pa_usec_t time_stamp);
|
||||
/* Convert a time interval from sound card time to system time */
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue