1
0
mirror of https://github.com/mpv-player/mpv synced 2025-04-01 23:00:41 +00:00

vo: correctly account for dropped frames

If the framedrop count happens to be incremented with
vo_increment_drop_count() during rendering, these increments were
counted twice, because these events also set in->dropped_frame.
This commit is contained in:
wm4 2015-08-01 22:16:52 +02:00
parent 63ade8a49c
commit ee58e7cfe5

View File

@ -677,7 +677,9 @@ static bool render_frame(struct vo *vo)
// frame currently drawn, while in->current_frame is the potentially next.)
in->current_frame->repeat = true;
if (!in->dropped_frame) {
if (in->dropped_frame) {
in->drop_count += 1;
} else {
in->rendering = true;
in->hasframe_rendered = true;
int64_t prev_drop_count = vo->in->drop_count;
@ -714,9 +716,7 @@ static bool render_frame(struct vo *vo)
in->rendering = false;
}
if (in->dropped_frame) {
in->drop_count += 1;
} else {
if (!in->dropped_frame) {
vo->want_redraw = false;
in->want_redraw = false;
in->request_redraw = false;