From b0b67cdf5d0979aaadda737d648826426f32e603 Mon Sep 17 00:00:00 2001 From: wm4 Date: Mon, 19 Oct 2015 23:43:13 +0200 Subject: [PATCH] player: do not use copysign() Apparently this function caused weird problems to me. I have no idea why. The usage of the function looks perfectly fine to me, and even rounding issues can be excluded. In any case, getting rid of this solved my problem, and makes the code actually more readable. --- player/video.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/player/video.c b/player/video.c index 595265dc74..5b3ef0a783 100644 --- a/player/video.c +++ b/player/video.c @@ -986,7 +986,7 @@ static void handle_display_sync_frame(struct MPContext *mpctx, if (av_diff * -mpctx->display_sync_drift_dir >= 0) new = 0; if (fabs(av_diff) > max_drift) - new = copysign(1, av_diff); + new = av_diff >= 0 ? 1 : -1; if (mpctx->display_sync_drift_dir != new) { MP_VERBOSE(mpctx, "Change display sync audio drift: %d\n", new); mpctx->display_sync_drift_dir = new;