mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-10-01 22:54:01 +00:00
media: amphion: Abort vpu parsing directly in seek
Driver abort vpu decoding when both output and capture queues are off, but if seek in parsing the sequence header, driver may miss aborting the parsing. so just abort the vpu parsing directly in seek. Meanwhile if capture is off unexpectedly, we still need to abort the decoding and return capture buffers. Signed-off-by: Ming Qian <ming.qian@nxp.com> Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
This commit is contained in:
parent
c8027d79e0
commit
8cda891db3
1 changed files with 3 additions and 1 deletions
|
@ -1595,9 +1595,11 @@ static int vdec_stop_session(struct vpu_inst *inst, u32 type)
|
|||
if (V4L2_TYPE_IS_OUTPUT(type)) {
|
||||
vdec_update_state(inst, VPU_CODEC_STATE_SEEK, 0);
|
||||
vdec->drain = 0;
|
||||
vdec_abort(inst);
|
||||
} else {
|
||||
if (inst->state != VPU_CODEC_STATE_DYAMIC_RESOLUTION_CHANGE) {
|
||||
vdec_abort(inst);
|
||||
if (vb2_is_streaming(v4l2_m2m_get_src_vq(inst->fh.m2m_ctx)))
|
||||
vdec_abort(inst);
|
||||
vdec->eos_received = 0;
|
||||
}
|
||||
vdec_clear_slots(inst);
|
||||
|
|
Loading…
Reference in a new issue