diff options
author | Philippe Normand <philn@igalia.com> | 2018-08-30 19:44:07 +0300 |
---|---|---|
committer | Philippe Normand <philn@igalia.com> | 2018-08-31 17:51:47 +0300 |
commit | e35adf5b6a137a9abf540b7e652f95331617c0b0 (patch) | |
tree | 2b47b73fe0c96e5c7761e5632c564c8159120d6e | |
parent | f6739d8e1fea14539ce38204a06428abd197a078 (diff) |
baseparse: avg_bitrate calculation critical warning fix
The avg_bitrate is an unsigned int, so the gst_util_uin64_scale() function can't
be used for it, as it expects signed integers for the fraction parts arguments.
https://bugzilla.gnome.org/show_bug.cgi?id=797054
-rw-r--r-- | libs/gst/base/gstbaseparse.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/libs/gst/base/gstbaseparse.c b/libs/gst/base/gstbaseparse.c index 8ac6a3f59e..9a8f9869a4 100644 --- a/libs/gst/base/gstbaseparse.c +++ b/libs/gst/base/gstbaseparse.c @@ -1821,7 +1821,7 @@ gst_base_parse_update_bitrates (GstBaseParse * parse, GstBaseParseFrame * frame) if (avg_bitrate > G_MAXUINT) return; - parse->priv->avg_bitrate = avg_bitrate; + parse->priv->avg_bitrate = (guint) avg_bitrate; } else { /* No way to figure out frame duration (is this even possible?) */ return; @@ -1872,7 +1872,7 @@ gst_base_parse_update_bitrates (GstBaseParse * parse, GstBaseParseFrame * frame) /* Only update the tag on a 2% change */ if (parse->priv->post_avg_bitrate && parse->priv->avg_bitrate) { - guint64 diffprev = gst_util_uint64_scale_int (100, + guint64 diffprev = gst_util_uint64_scale (100, ABSDIFF (parse->priv->avg_bitrate, parse->priv->posted_avg_bitrate), parse->priv->avg_bitrate); if (diffprev >= UPDATE_THRESHOLD) |