From 97152044981a9991b8116aa137836a4081b630a1 Mon Sep 17 00:00:00 2001 From: Stefan Seyfried Date: Sun, 19 Feb 2017 17:53:30 +0100 Subject: [PATCH] generic/video: better A/V sync with clutterfb --- generic-pc/video.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/generic-pc/video.cpp b/generic-pc/video.cpp index b393f99..ed910f3 100644 --- a/generic-pc/video.cpp +++ b/generic-pc/video.cpp @@ -598,10 +598,17 @@ void VDec::run(void) f->height(c->height); int64_t vpts = av_frame_get_best_effort_timestamp(frame); /* a/v delay determined experimentally :-) */ +#if USE_OPENGL if (v_format == VIDEO_FORMAT_MPEG2) vpts += 90000*4/10; /* 400ms */ else vpts += 90000*3/10; /* 300ms */ +#endif +#if USE_CLUTTER + /* no idea why there's a difference between OpenGL and clutter rendering... */ + if (v_format == VIDEO_FORMAT_MPEG2) + vpts += 90000*3/10; /* 300ms */ +#endif f->pts(vpts); AVRational a = av_guess_sample_aspect_ratio(avfc, avfc->streams[0], frame); f->AR(a);