From 821a945eafaf63963d56c9bdef773760bea9a41d Mon Sep 17 00:00:00 2001 From: "Suren A. Chilingaryan" Date: Tue, 26 Mar 2013 17:32:07 +0100 Subject: Fix lock-up under the frame-flood, when the frame rate is significantly faster than processing --- ipecamera/events.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'ipecamera') diff --git a/ipecamera/events.c b/ipecamera/events.c index 58c29a1..3253fc5 100644 --- a/ipecamera/events.c +++ b/ipecamera/events.c @@ -139,7 +139,7 @@ int ipecamera_next_event(pcilib_context_t *vctx, pcilib_timeout_t timeout, pcili } retry: - if ((ctx->event_id - ctx->reported_id) > (ctx->buffer_size - IPECAMERA_RESERVE_BUFFERS)) ctx->reported_id = ctx->event_id - (ctx->buffer_size - 1) - IPECAMERA_RESERVE_BUFFERS; + if ((ctx->event_id - ctx->reported_id) > (ctx->buffer_size - IPECAMERA_RESERVE_BUFFERS)) ctx->reported_id = ctx->event_id - (ctx->buffer_size - 1 - IPECAMERA_RESERVE_BUFFERS); else ++ctx->reported_id; if (evid) *evid = ctx->reported_id; @@ -152,9 +152,9 @@ retry: else return PCILIB_ERROR_INVALID_ARGUMENT; } - + if ((ctx->event_id - ctx->reported_id) >= ctx->buffer_size) goto retry; - + return 0; } -- cgit v1.2.3