From c7c4183f1a837a14b3c653c2f968824d5453d4ac Mon Sep 17 00:00:00 2001 From: Yandong Lin Date: Fri, 13 Aug 2021 17:25:05 +0800 Subject: [PATCH] [mpp_service]: Adjust the timing of codec info set Change-Id: I6d21be4506f4c65bfb8717f07b2d55a65fb50cfe Signed-off-by: Yandong Lin --- osal/driver/mpp_service.c | 34 +++++++++++++++------------------- 1 file changed, 15 insertions(+), 19 deletions(-) diff --git a/osal/driver/mpp_service.c b/osal/driver/mpp_service.c index 13f6248a..b68c88a4 100644 --- a/osal/driver/mpp_service.c +++ b/osal/driver/mpp_service.c @@ -411,6 +411,21 @@ MPP_RET mpp_service_cmd_send(void *ctx) p->req_cnt++; } + if (p->info_count) { + if (p->support_set_info) { + MppReqV1 *mpp_req = &p->reqs[p->req_cnt];; + + mpp_req->cmd = MPP_CMD_SEND_CODEC_INFO; + mpp_req->flag = 0; + mpp_req->size = p->info_count * sizeof(p->info[0]); + mpp_req->offset = 0; + mpp_req->data_ptr = REQ_DATA_PTR(p->info); + + p->req_cnt++; + } + p->info_count = 0; + } + /* setup flag for multi message request */ if (p->req_cnt > 1) { RK_S32 i; @@ -433,25 +448,6 @@ MPP_RET mpp_service_cmd_send(void *ctx) } } - if (p->info_count) { - if (p->support_set_info) { - MppReqV1 req; - - req.cmd = MPP_CMD_SEND_CODEC_INFO; - req.flag = 0; - req.size = p->info_count * sizeof(p->info[0]); - req.offset = 0; - req.data_ptr = REQ_DATA_PTR(p->info); - - ret = mpp_service_ioctl_request(p->client, &req); - if (ret) { - p->support_set_info = 0; - ret = MPP_OK; - } - } - p->info_count = 0; - } - p->req_cnt = 0; p->reg_offset_count = 0; p->rcb_count = 0;