Skip to content
Snippets Groups Projects
Commit aed2ed96 authored by Tomasz Figa's avatar Tomasz Figa Committed by ChromeOS Commit Bot
Browse files

Rockchip: Zero the params struct after deferred setting

rk_vepu_update_parameter() expects all parameters that do not change to
be zero, so after we apply them in
qbuf_if_pending_buffer_exists_locked(), we need to memset the struct to
zero, just as ioctl_s_ext_ctrls_locked() already does if setting is not
deferred by pending buffer. Otherwise, a keyframe might be requested by
the way of other parameter change request.

BUG=chrome-os-partner:37203
TEST=video_encode_accelerator_unittest (after 4fc28962e2d);apprtc

Change-Id: I1f3a6551b2c5faedbb789506c4b84e021ef68792
Reviewed-on: https://chromium-review.googlesource.com/253251


Reviewed-by: default avatarWu-cheng Li <wuchengli@chromium.org>
Commit-Queue: Tomasz Figa <tfiga@chromium.org>
Tested-by: default avatarTomasz Figa <tfiga@chromium.org>
parent f37b1cb1
Branches
Tags
No related merge requests found
...@@ -536,6 +536,8 @@ static int qbuf_if_pending_buffer_exists_locked(struct encoder_context *ctx, ...@@ -536,6 +536,8 @@ static int qbuf_if_pending_buffer_exists_locked(struct encoder_context *ctx,
VLOG_FD(0, "rk_vepu_update_parameter failed."); VLOG_FD(0, "rk_vepu_update_parameter failed.");
return -EIO; return -EIO;
} }
memset(&element->next_runtime_param, 0,
sizeof(element->next_runtime_param));
ret = ioctl_qbuf_locked(ctx, fd, &element->buffer); ret = ioctl_qbuf_locked(ctx, fd, &element->buffer);
if (ret) if (ret)
return ret; return ret;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment