queue2 would crash when using small buffer sizes because
it would overflow when calculating the percentage, resulting
in the buffering GstMessage not being created and trying to be
used. This patch uses a gint64 instead of a gint to do the
percentage math, making it harder to overflow.
static void
update_buffering (GstQueue2 * queue)
{
- gint percent;
+ gint64 percent;
gboolean post = FALSE;
if (!queue->use_buffering || queue->high_percent <= 0)
}
GST_DEBUG_OBJECT (queue, "buffering %d percent", percent);
- message = gst_message_new_buffering (GST_OBJECT_CAST (queue), percent);
+ message = gst_message_new_buffering (GST_OBJECT_CAST (queue),
+ (gint) percent);
gst_message_set_buffering_stats (message, mode,
queue->byte_in_rate, queue->byte_out_rate, buffering_left);