PD#SWPL-27787
Problem:
section data is interrupted when BYPASS_PACKET exists
Solution:
Change the BYPASS_PACKET to VIDEO_PACKET & RECORDER_STREAM.
To support PLAY & REC on the same dmx, rules are introduces:
1. no A/V on dmx, rec-data should be set to VIDEO_PACKET,
then block it from being parser processed with stream id filter.
2. A or V is running, use RECORDER_STREAM,
do not use BYPASS_PACKET, which will break the normal play.
3. keep VIDEO_PACKET existed, to get the sec filter working.
Verify:
Patchbuild
Change-Id: I29e39093806159cbf77fa898bc610a983b3df371
Signed-off-by: Zhiqiang Han <zhiqiang.han@amlogic.com>
DMX_WRITE_REG(dmx->id, STB_OM_CTL,
(0x40 << MAX_OM_DMA_COUNT) |
(0x7f << LAST_OM_ADDR));
+
+ DMX_WRITE_REG(dmx->id, VIDEO_STREAM_ID,
+ ((record && !hi_bsf) ? 0xFFFF : 0));
+
DMX_WRITE_REG(dmx->id, DEMUX_CONTROL,
(0 << BYPASS_USE_RECODER_PATH) |
(0 << INSERT_AUDIO_PES_STRONG_SYNC) |
type = OTHER_PES_PACKET;
break;
default:
- type = BYPASS_PACKET;
+ type = (dmx->channel[0].used || dmx->channel[1].used) ?
+ RECORDER_STREAM : VIDEO_PACKET;
break;
}
}