diff options
author | Ming Qian <ming.qian@nxp.com> | 2020-04-09 14:08:46 +0800 |
---|---|---|
committer | Ming Qian <ming.qian@nxp.com> | 2020-04-09 17:45:38 +0800 |
commit | 29eda88da89e34ad792fff0872be4f1ba67e173c (patch) | |
tree | 795d1308a80f8a62f8c81b5e2acb40b52b080335 /drivers/mxc | |
parent | 9f014e919be67febe6a878a154063d1155f0d30f (diff) |
LF-1212:[8QM_MEK/8QXP_MEK]mxc:vpu_malone:fix issue in timestamp manager not correctly handle buffers with same timestamp
The following patch of ts managet is not included,
the ts managet not correctly handle buffers with same timestamp.
Port the patch to vpu_malone.
the subentry is no longer useful, so remove it.
Author: Jian Li <jian.li@freescale.com>
Date: Wed Aug 7 11:09:34 2013 +0800
Support for rtsp streaming
1) Fix issue in timestamp manager not correctly
handle buffers with same timestamp.
2) Don't need to pause pipeline for rtsp/live streams.
pause/resume pipeline will cause pipeline freeze.
Signed-off-by: Ming Qian <ming.qian@nxp.com>
Reviewed-by: Shijie Qin <shijie.qin@nxp.com>
Diffstat (limited to 'drivers/mxc')
-rw-r--r-- | drivers/mxc/vpu_malone/vpu_ts.c | 7 | ||||
-rw-r--r-- | drivers/mxc/vpu_malone/vpu_ts.h | 1 |
2 files changed, 0 insertions, 8 deletions
diff --git a/drivers/mxc/vpu_malone/vpu_ts.c b/drivers/mxc/vpu_malone/vpu_ts.c index ac9eff844f4b..c45ab9cbae3c 100644 --- a/drivers/mxc/vpu_malone/vpu_ts.c +++ b/drivers/mxc/vpu_malone/vpu_ts.c @@ -66,7 +66,6 @@ void TSManagerReceive2(void *handle, TSM_TIMESTAMP timestamp, int size) #define CLEAR_TSM_RENTRY(entry)\ do { \ (entry)->used = 0; \ - (entry)->subentry = 0; \ (entry)->next = NULL; \ } while (0) TSManager *tsm = (TSManager *) handle; @@ -85,8 +84,6 @@ void TSManagerReceive2(void *handle, TSM_TIMESTAMP timestamp, int size) if (e) { CLEAR_TSM_RENTRY(e); - if ((rctl->tail) && (rctl->tail->ts == timestamp)) - e->subentry = 1; e->ts = timestamp; e->size = size; if (rctl->tail) { @@ -124,10 +121,6 @@ static TSM_TIMESTAMP TSManagerGetLastTimeStamp(TSMRecivedCtl *rctl, rctl->head = e->next; if (rctl->head == NULL) rctl->tail = NULL; - else { - if (rctl->head->subentry) - rctl->head->used = e->used; - } size -= e->size; rctl->cnt--; tsm_free_received_entry(rctl, e); diff --git a/drivers/mxc/vpu_malone/vpu_ts.h b/drivers/mxc/vpu_malone/vpu_ts.h index e51e4d62ecfd..7f52af7279ca 100644 --- a/drivers/mxc/vpu_malone/vpu_ts.h +++ b/drivers/mxc/vpu_malone/vpu_ts.h @@ -115,7 +115,6 @@ typedef struct _TSMReceivedEntry { TSM_TIMESTAMP ts; struct _TSMReceivedEntry *next; unsigned int used:1; - unsigned int subentry:1; int size; } TSMReceivedEntry; |