}
void
-GLVideoView::draw ()
+GLVideoView::draw (Position<int> inter_position)
{
glClear (GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
check_gl_error ("glClear");
if (_viewer->outline_content()) {
glColor3ub (255, 0, 0);
glBegin (GL_LINE_LOOP);
- Position<int> inter_position = _viewer->inter_position ();
dcp::Size inter_size = _viewer->inter_size ();
glVertex2f (inter_position.x, inter_position.y + (canvas_size.GetHeight() - out_size.height) / 2);
glVertex2f (inter_position.x + inter_size.width, inter_position.y + (canvas_size.GetHeight() - out_size.height) / 2);
_one_shot = false;
lm.unlock ();
+ Position<int> inter_position;
if (length() != dcpomatic::DCPTime()) {
dcpomatic::DCPTime const next = position() + one_video_frame();
get_next_frame (false);
set_image (player_video().first->image(bind(&PlayerVideo::force, _1, AV_PIX_FMT_RGB24), false, true));
+ inter_position = player_video().first->inter_position();
}
- draw ();
+ draw (inter_position);
while (time_until_next_frame() < 5) {
get_next_frame (true);