From b0ba25669086ba0a50b2c1a17a8e21d759077144 Mon Sep 17 00:00:00 2001 From: Petri Hintukainen Date: Mon, 23 Sep 2013 11:34:07 +0300 Subject: input_bluray: support overlay timings --- src/input/input_bluray.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/input/input_bluray.c b/src/input/input_bluray.c index 7b2d57647..a1cdee5d8 100644 --- a/src/input/input_bluray.c +++ b/src/input/input_bluray.c @@ -254,6 +254,7 @@ static void overlay_proc(void *this_gen, const BD_OVERLAY * const ov) { bluray_input_plugin_t *this = (bluray_input_plugin_t *) this_gen; xine_osd_t *osd; + int64_t vpts = 0; if (!this) { return; @@ -284,6 +285,10 @@ static void overlay_proc(void *this_gen, const BD_OVERLAY * const ov) return; } + if (ov->pts > 0) { + vpts = ov->pts + this->stream->metronom->get_option(this->stream->metronom, METRONOM_VPTS_OFFSET); + } + switch (ov->cmd) { case BD_OVERLAY_DRAW: draw_bitmap(osd, ov); @@ -305,9 +310,9 @@ static void overlay_proc(void *this_gen, const BD_OVERLAY * const ov) case BD_OVERLAY_FLUSH: if (!osd->osd.area_touched) { - xine_osd_hide(osd, 0); + xine_osd_hide(osd, vpts); } else { - xine_osd_show(osd, 0); + xine_osd_show(osd, vpts); } #if BLURAY_VERSION < BLURAY_VERSION_CODE(0, 2, 2) if (ov->plane == 1) { -- cgit v1.2.3