X-Git-Url: https://git.cinelerra-gg.org/git/?p=goodguy%2Fcinelerra.git;a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Fplayback3d.C;h=24f8cf7032fc6dc93a8a5c9fc24b5e40b646d8b5;hp=2ca2a4c68e4d43f35f03595d76f23e8a6483d1d4;hb=aa9374b902768107ebda0cffe739325ffed372f6;hpb=39c01b7242f15858ebd8847e8895ac880e464ff2 diff --git a/cinelerra-5.1/cinelerra/playback3d.C b/cinelerra-5.1/cinelerra/playback3d.C index 2ca2a4c6..24f8cf70 100644 --- a/cinelerra-5.1/cinelerra/playback3d.C +++ b/cinelerra-5.1/cinelerra/playback3d.C @@ -402,6 +402,10 @@ void Playback3D::handle_command(BC_SynchronousCommand *command) write_buffer_sync((Playback3DCommand*)command); break; + case Playback3DCommand::FINISH_OUTPUT: + finish_output_sync((Playback3DCommand*)command); + break; + case Playback3DCommand::CLEAR_OUTPUT: clear_output_sync((Playback3DCommand*)command); break; @@ -765,6 +769,19 @@ void Playback3D::init_frame(Playback3DCommand *command, int is_yuv) } +void Playback3D::finish_output() +{ + Playback3DCommand command; + command.command = Playback3DCommand::FINISH_OUTPUT; + send_command(&command); +} + +void Playback3D::finish_output_sync(Playback3DCommand *command) +{ + glFinish(); +} + + void Playback3D::clear_output(Canvas *canvas, VFrame *output) { Playback3DCommand command;