summaryrefslogtreecommitdiff
authorhualing chen <hualing.chen@amlogic.com>2020-04-07 08:04:44 (GMT)
committer Zhi Zhou <zhi.zhou@amlogic.com>2020-04-14 06:08:19 (GMT)
commitc14d53fac66dcd2df4647f9afb5662612479fa1e (patch)
tree42ec5f9030fd5c0508d30e93756d867cc3ecf009
parent277c582f25d2de85d6f6e2800944654af39f2aea (diff)
downloadmedia_modules-c14d53fac66dcd2df4647f9afb5662612479fa1e.zip
media_modules-c14d53fac66dcd2df4647f9afb5662612479fa1e.tar.gz
media_modules-c14d53fac66dcd2df4647f9afb5662612479fa1e.tar.bz2
dmx: Do timeshift than FF,the progress bar time display error. [1/2]
PD#SWPL-23655 Problem: get delay time error. Solution: 1.init vpts first vpts. 2.reset vpts first vpts when reset channel. Verify: verified on 214. Change-Id: I6db97e2a0be6aa4270892a173b5e33f5deb36400 Signed-off-by: hualing chen <hualing.chen@amlogic.com>
Diffstat
-rw-r--r--drivers/stream_input/parser/hw_demux/aml_dmx.c20
1 files changed, 12 insertions, 8 deletions
diff --git a/drivers/stream_input/parser/hw_demux/aml_dmx.c b/drivers/stream_input/parser/hw_demux/aml_dmx.c
index 4d08af1..974fcc6 100644
--- a/drivers/stream_input/parser/hw_demux/aml_dmx.c
+++ b/drivers/stream_input/parser/hw_demux/aml_dmx.c
@@ -448,12 +448,12 @@ static int dmx_timeout_set(struct aml_dmxtimeout *dto, int enable,
int force);
/*Audio & Video PTS value*/
-static u32 video_pts;
-static u32 audio_pts;
-static u32 video_pts_bit32;
-static u32 audio_pts_bit32;
-static u32 first_video_pts;
-static u32 first_audio_pts;
+static u32 video_pts = 0;
+static u32 audio_pts = 0;
+static u32 video_pts_bit32 = 0;
+static u32 audio_pts_bit32 = 0;
+static u32 first_video_pts = 0;
+static u32 first_audio_pts = 0;
static int demux_skipbyte;
static int tsfile_clkdiv = 5;
static int asyncfifo_buf_len = ASYNCFIFO_BUFFER_SIZE_DEFAULT;
@@ -3484,10 +3484,14 @@ static int dmx_set_chan_regs(struct aml_dmx *dmx, int cid)
DMX_READ_REG(dmx->id, OM_CMD_STATUS));
}
- if (cid == 0)
+ if (cid == 0) {
+ video_pts = 0;
first_video_pts = 0;
- else if (cid == 1)
+ }
+ else if (cid == 1) {
+ audio_pts = 0;
first_audio_pts = 0;
+ }
return 0;
}