}
static tdm_error
-_tdm_dummy_display_wait_vblank(tdm_dummy_output_data *output_data, tdm_dummy_event_data *event_data)
+_tdm_dummy_display_wait_vblank(tdm_dummy_output_data *output_data, int interval, tdm_dummy_event_data *event_data)
{
tdm_error ret;
unsigned int ms;
return TDM_ERROR_NONE;
}
- ms = 1000 / output_data->output_mode->vrefresh;
+ ms = ((double)1000.0 / output_data->output_mode->vrefresh) * interval;
ret = tdm_event_loop_source_timer_update(output_data->timer, ms);
if (ret != TDM_ERROR_NONE)
event_data->output_data = output_data;
event_data->user_data = user_data;
- ret = _tdm_dummy_display_wait_vblank(output_data, event_data);
+ ret = _tdm_dummy_display_wait_vblank(output_data, interval, event_data);
if (ret != TDM_ERROR_NONE) {
free(event_data);
return ret;
event_data->output_data = output_data;
event_data->user_data = user_data;
- ret = _tdm_dummy_display_wait_vblank(output_data, event_data);
+ ret = _tdm_dummy_display_wait_vblank(output_data, 1, event_data);
if (ret != TDM_ERROR_NONE) {
free(event_data);
return ret;