diff options
author | Suren A. Chilingaryan <csa@dside.dyndns.org> | 2011-12-12 10:01:53 +0100 |
---|---|---|
committer | Suren A. Chilingaryan <csa@dside.dyndns.org> | 2011-12-12 10:01:53 +0100 |
commit | 3ee180e93e32c46f3949d1177266a47849b3af70 (patch) | |
tree | da8911fd1e662e45abe019f9570ac947d2b2b10f /ipecamera/data.c | |
parent | 5539f1abc90c28b9ea5e559edc87aa84abb377c3 (diff) | |
download | ipecamera-3ee180e93e32c46f3949d1177266a47849b3af70.tar.gz ipecamera-3ee180e93e32c46f3949d1177266a47849b3af70.tar.bz2 ipecamera-3ee180e93e32c46f3949d1177266a47849b3af70.tar.xz ipecamera-3ee180e93e32c46f3949d1177266a47849b3af70.zip |
Fix handling of return values from frame decoder and event callback
Diffstat (limited to 'ipecamera/data.c')
-rw-r--r-- | ipecamera/data.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/ipecamera/data.c b/ipecamera/data.c index 5de6617..efde7a1 100644 --- a/ipecamera/data.c +++ b/ipecamera/data.c @@ -37,6 +37,7 @@ static int ipecamera_resolve_event_id(ipecamera_t *ctx, pcilib_event_id_t evid) inline static int ipecamera_decode_frame(ipecamera_t *ctx, pcilib_event_id_t event_id) { int err = 0; + size_t res; uint32_t tmp; uint16_t *pixels; @@ -54,8 +55,8 @@ inline static int ipecamera_decode_frame(ipecamera_t *ctx, pcilib_event_id_t eve pixels = ctx->image + buf_ptr * ctx->image_size; memset(ctx->cmask + ctx->buffer_pos * ctx->dim.height, 0, ctx->dim.height * sizeof(ipecamera_change_mask_t)); - err = ufo_decoder_decode_frame(ctx->ipedec, ctx->buffer + buf_ptr * ctx->padded_size, ctx->raw_size, pixels, &tmp, &tmp, ctx->cmask + ctx->buffer_pos * ctx->dim.height); - if (err) { + res = ufo_decoder_decode_frame(ctx->ipedec, ctx->buffer + buf_ptr * ctx->padded_size, ctx->raw_size, pixels, &tmp, &tmp, ctx->cmask + ctx->buffer_pos * ctx->dim.height); + if (!res) { ctx->frame[buf_ptr].event.image_broken = 1; err = PCILIB_ERROR_FAILED; goto ready; |