From 15f69ee50792f100f79ccc70748441e98a02abc4 Mon Sep 17 00:00:00 2001 From: Rui Wang Date: Fri, 11 Jan 2019 11:15:27 +0800 Subject: [PATCH] dvb: modify parser source setting algorithms [1/1] PD#TV-2151 Problem: the ts stream cannot be played after switch channel Solution: setting parser source according to stb_source and demux id Verify: Verify android p at x301 Change-Id: I63438acdcbee37eb5825b0b5c7eb506894fe0526 Signed-off-by: Rui Wang --- .../stream_input/parser/hw_demux/aml_dmx.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/drivers/amlogic/media_modules/stream_input/parser/hw_demux/aml_dmx.c b/drivers/amlogic/media_modules/stream_input/parser/hw_demux/aml_dmx.c index 378d9965b082..ac6747a9b838 100644 --- a/drivers/amlogic/media_modules/stream_input/parser/hw_demux/aml_dmx.c +++ b/drivers/amlogic/media_modules/stream_input/parser/hw_demux/aml_dmx.c @@ -2774,10 +2774,16 @@ static int dmx_enable(struct aml_dmx *dmx) break; } - if (dmx->channel[0].used || dmx->channel[1].used) + + hi_bsf = 0; + if (dmx->id == 0 && dvb->stb_source == AM_TS_SRC_DMX0) + hi_bsf = 1; + + if (dmx->id == 1 && dvb->stb_source == AM_TS_SRC_DMX1) + hi_bsf = 1; + + if (dmx->id == 2 && dvb->stb_source == AM_TS_SRC_DMX2) hi_bsf = 1; - else - hi_bsf = 0; if ((dvb->dsc[0].dst != -1) && ((dvb->dsc[0].dst - AM_TS_SRC_DMX0) == dmx->id))