author | hualing 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) |
commit | c14d53fac66dcd2df4647f9afb5662612479fa1e (patch) | |
tree | 42ec5f9030fd5c0508d30e93756d867cc3ecf009 | |
parent | 277c582f25d2de85d6f6e2800944654af39f2aea (diff) | |
download | media_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>
-rw-r--r-- | drivers/stream_input/parser/hw_demux/aml_dmx.c | 20 |
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; } |