[264d_parser] fixed eos not set to task at prepare status

git-svn-id: https://10.10.10.66:8443/svn/MediaProcessPlatform/trunk/mpp@1008 6e48237b-75ef-9749-8fc9-41990f28c85a
This commit is contained in:
ChenSiyong
2016-07-12 02:57:25 +00:00
parent 4e1b1e1523
commit 0b259c5837

View File

@@ -549,6 +549,7 @@ MPP_RET h264d_flush(void *decoder)
if (p_Dec->mvc_valid) {
dpb_used_size += p_Dec->p_Vid->p_Dpb_layer[1]->used_size;
}
#if 0
if (!dpb_used_size && p_Dec->p_Inp->has_get_eos) {
IOInterruptCB *cb = &p_Dec->p_Inp->init.notify_cb;
if (cb->callBack) {
@@ -556,7 +557,7 @@ MPP_RET h264d_flush(void *decoder)
}
goto __RETURN;
}
#endif
FUN_CHECK(ret = output_dpb(p_Dec, p_Dec->p_Vid->p_Dpb_layer[0]));
if (p_Dec->mvc_valid) {
FUN_CHECK(ret = output_dpb(p_Dec, p_Dec->p_Vid->p_Dpb_layer[1]));
@@ -626,6 +627,7 @@ MPP_RET h264d_prepare(void *decoder, MppPacket pkt, HalDecTask *task)
p_Inp->has_get_eos = 1;
if (p_Inp->in_length < 4) {
h264d_flush(decoder);
task->flags.eos = p_Inp->pkt_eos;
goto __RETURN;
}
p_Inp->in_buf = NULL;