int use_vconsole = 1;
int use_brender = 0;
int result = 0;
- int use_cache = renderengine->command->single_frame();
+ int use_cache = renderengine->command->single_frame() ? 1 :
+ renderengine->command->get_direction() == PLAY_REVERSE ? -1 : 0;
// int use_asynchronous =
// renderengine->command->realtime &&
// renderengine->get_edl()->session->video_every_frame &&
void VRender::run()
{
- int reconfigure;
+ int reconfigure = 1;
const int debug = 0;
// Want to know how many samples rendering each frame takes.
// Want the condition before, since only 1 frame is rendered
// and the number of frames skipped after this frame varies.
current_input_length = 1;
-
- reconfigure = vconsole->test_reconfigure(current_position,
- current_input_length);
-
-
+ if( !reconfigure ) reconfigure =
+ vconsole->test_reconfigure(current_position, current_input_length);
if(debug) printf("VRender::run %d\n", __LINE__);
- if(reconfigure) restart_playback();
+ if( reconfigure ) {
+ restart_playback();
+ reconfigure = 0;
+ }
if(debug) printf("VRender::run %d\n", __LINE__);
process_buffer(current_position, use_opengl);