From 8e8a5d94d47e70603e7b0e9dcd43d56cfcaea5af Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9lestin=20Marot?= Date: Fri, 18 Nov 2022 16:57:16 +0100 Subject: [PATCH] fakesrc: avoid time overflow with datarate Part-of: --- subprojects/gstreamer/plugins/elements/gstfakesrc.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/subprojects/gstreamer/plugins/elements/gstfakesrc.c b/subprojects/gstreamer/plugins/elements/gstfakesrc.c index 24c2766178..7142e2c43d 100644 --- a/subprojects/gstreamer/plugins/elements/gstfakesrc.c +++ b/subprojects/gstreamer/plugins/elements/gstfakesrc.c @@ -805,9 +805,11 @@ gst_fake_src_create (GstBaseSrc * basesrc, guint64 offset, guint length, GST_BUFFER_OFFSET (buf) = offset; if (src->datarate > 0) { - time = (src->bytes_sent * GST_SECOND) / src->datarate; + time = + gst_util_uint64_scale_int (src->bytes_sent, GST_SECOND, src->datarate); - GST_BUFFER_DURATION (buf) = size * GST_SECOND / src->datarate; + GST_BUFFER_DURATION (buf) = + gst_util_uint64_scale_int (size, GST_SECOND, src->datarate); } else if (gst_base_src_is_live (basesrc)) { GstClock *clock;