[vp9d]: fix case when split error

tips: when split error, and consumed lager than
input length, it will be wrong.

Change-Id: I43ca99f55cb379b93ff08028ed368ce21e6b3611
Signed-off-by: Ding Wei <leo.ding@rock-chips.com>
This commit is contained in:
Ding Wei
2018-07-26 17:01:41 +08:00
committed by Herman Chen
parent f2385c1134
commit 6f91a59d0b

View File

@@ -172,11 +172,12 @@ MPP_RET vp9d_prepare(void *ctx, MppPacket pkt, HalDecTask *task)
length = (RK_S32)mpp_packet_get_length(pkt);
consumed = vp9d_split_frame(ps, &out_data, &out_size, buf, length);
pos += consumed;
pos += (consumed >= 0) ? consumed : length;
mpp_packet_set_pos(pkt, pos);
vp9d_dbg(VP9D_DBG_STRMIN, "pkt_len=%d, pts=%lld\n", length, pts);
vp9d_get_frame_stream(vp9_ctx, out_data, out_size);
if (out_size > 0) {
vp9d_get_frame_stream(vp9_ctx, out_data, out_size);
task->input_packet = vp9_ctx->pkt;
task->valid = 1;
mpp_packet_set_pts(vp9_ctx->pkt, pts);