screencopy: Don't delay if time_left == 0
parent
ce86f51699
commit
0c86f9cf53
|
@ -172,6 +172,10 @@ static void screencopy_failed(void* data,
|
||||||
DTRACE_PROBE1(wayvnc, screencopy_failed, self);
|
DTRACE_PROBE1(wayvnc, screencopy_failed, self);
|
||||||
|
|
||||||
screencopy_stop(self);
|
screencopy_stop(self);
|
||||||
|
|
||||||
|
wv_buffer_pool_release(self->pool, self->front);
|
||||||
|
self->front = NULL;
|
||||||
|
|
||||||
self->status = SCREENCOPY_FAILED;
|
self->status = SCREENCOPY_FAILED;
|
||||||
self->on_done(self);
|
self->on_done(self);
|
||||||
}
|
}
|
||||||
|
@ -224,7 +228,6 @@ static void screencopy__poll(void* obj)
|
||||||
|
|
||||||
static int screencopy__start(struct screencopy* self, bool is_immediate_copy)
|
static int screencopy__start(struct screencopy* self, bool is_immediate_copy)
|
||||||
{
|
{
|
||||||
|
|
||||||
if (self->status == SCREENCOPY_IN_PROGRESS)
|
if (self->status == SCREENCOPY_IN_PROGRESS)
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
|
@ -232,7 +235,7 @@ static int screencopy__start(struct screencopy* self, bool is_immediate_copy)
|
||||||
|
|
||||||
uint64_t now = gettime_us();
|
uint64_t now = gettime_us();
|
||||||
double dt = (now - self->last_time) * 1.0e-6;
|
double dt = (now - self->last_time) * 1.0e-6;
|
||||||
double time_left = (1.0 / self->rate_limit - dt - self->delay) * 1.0e3;
|
int32_t time_left = (1.0 / self->rate_limit - dt - self->delay) * 1.0e3;
|
||||||
|
|
||||||
self->status = SCREENCOPY_IN_PROGRESS;
|
self->status = SCREENCOPY_IN_PROGRESS;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue