mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-03-30 12:49:40 +00:00
videoaggregator: Use floor() to calculate current position
... instead of round(). Depending on framerate, calculated position may not be clearly represented by using uint64, 30000/1001 for example. Then the result of round() can be sliglhtly larger (1ns) than buffer timestamp. And that will cause unnecessary frame delay. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1755>
This commit is contained in:
parent
21b2d9cea2
commit
cae01a384e
1 changed files with 1 additions and 1 deletions
|
@ -2263,7 +2263,7 @@ gst_video_aggregator_aggregate (GstAggregator * agg, gboolean timeout)
|
|||
if (GST_VIDEO_INFO_FPS_N (&vagg->info) == 0) {
|
||||
output_end_time = -1;
|
||||
} else {
|
||||
guint64 dur = gst_util_uint64_scale_round (vagg->priv->nframes + 1,
|
||||
guint64 dur = gst_util_uint64_scale (vagg->priv->nframes + 1,
|
||||
GST_SECOND * GST_VIDEO_INFO_FPS_D (&vagg->info),
|
||||
GST_VIDEO_INFO_FPS_N (&vagg->info));
|
||||
|
||||
|
|
Loading…
Reference in a new issue