[pulseaudio-commits] [Git][pulseaudio/pulseaudio][master] time-smoother-2: Fix integer type problem
PulseAudio Marge Bot (@pulseaudio-merge-bot)
gitlab at gitlab.freedesktop.org
Tue May 17 11:14:05 UTC 2022
PulseAudio Marge Bot pushed to branch master at PulseAudio / pulseaudio
Commits:
325108e5 by Georg Chini at 2022-05-17T11:09:29+00: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>
- - - - -
3 changed files:
- src/pulse/stream.c
- src/pulsecore/time-smoother_2.c
- src/pulsecore/time-smoother_2.h
Changes:
=====================================
src/pulse/stream.c
=====================================
@@ -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
=====================================
src/pulsecore/time-smoother_2.c
=====================================
@@ -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);
=====================================
src/pulsecore/time-smoother_2.h
=====================================
@@ -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 */
View it on GitLab: https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/commit/325108e532e770a7b5951b84acb55ff95a568535
--
View it on GitLab: https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/commit/325108e532e770a7b5951b84acb55ff95a568535
You're receiving this email because of your account on gitlab.freedesktop.org.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/pulseaudio-commits/attachments/20220517/2f6244bf/attachment-0001.htm>
More information about the pulseaudio-commits
mailing list