From 90a73b86c6095306521b72b5d23ffb3b0b4845fb Mon Sep 17 00:00:00 2001 From: BPanther Date: Sat, 2 Oct 2021 22:27:44 +0200 Subject: [PATCH] mips/arm: cDemux::pesFilter() changed Origin commit data ------------------ Branch: master Commit: https://github.com/neutrino-images/ni-libstb-hal/commit/1e0f885a7725f29635427aa2145e2f9132a2eb45 Author: BPanther Date: 2021-10-02 (Sat, 02 Oct 2021) ------------------ No further description and justification available within origin commit message! ------------------ This commit was generated by Migit --- libarmbox/dmx.cpp | 43 +++++++++++++++++++++++++++++++++---------- 1 file changed, 33 insertions(+), 10 deletions(-) diff --git a/libarmbox/dmx.cpp b/libarmbox/dmx.cpp index b1daf4a..4e759b0 100644 --- a/libarmbox/dmx.cpp +++ b/libarmbox/dmx.cpp @@ -505,32 +505,55 @@ bool cDemux::pesFilter(const unsigned short _pid) memset(&p_flt, 0, sizeof(p_flt)); p_flt.pid = pid; - p_flt.output = DMX_OUT_DECODER; p_flt.input = DMX_IN_FRONTEND; + p_flt.output = DMX_OUT_DECODER; p_flt.flags = 0; switch (dmx_type) { - case DMX_PCR_ONLY_CHANNEL: - p_flt.pes_type = DMX_PES_PCR; + case DMX_PIP_CHANNEL: + case DMX_VIDEO_CHANNEL: + switch (num) + { + case 0: p_flt.pes_type = DMX_PES_VIDEO0; break; + case 1: p_flt.pes_type = DMX_PES_VIDEO1; break; + case 2: p_flt.pes_type = DMX_PES_VIDEO2; break; + case 3: p_flt.pes_type = DMX_PES_VIDEO3; break; + } break; case DMX_AUDIO_CHANNEL: - p_flt.pes_type = DMX_PES_AUDIO; - break; - case DMX_VIDEO_CHANNEL: - p_flt.pes_type = DMX_PES_VIDEO; - break; - case DMX_PIP_CHANNEL: /* PIP is a special version of DMX_VIDEO_CHANNEL */ - p_flt.pes_type = DMX_PES_VIDEO1; + switch (num) + { + case 0: p_flt.pes_type = DMX_PES_AUDIO0; break; + case 1: p_flt.pes_type = DMX_PES_AUDIO1; break; + case 2: p_flt.pes_type = DMX_PES_AUDIO2; break; + case 3: p_flt.pes_type = DMX_PES_AUDIO3; break; + } break; case DMX_PES_CHANNEL: p_flt.pes_type = DMX_PES_OTHER; p_flt.output = DMX_OUT_TAP; break; +#if 0 + case DMX_PSI_CHANNEL: + break; + case DMX_PIP_CHANNEL: /* PIP is a special version of DMX_VIDEO_CHANNEL */ + p_flt.pes_type = DMX_PES_VIDEO1; + break; +#endif case DMX_TP_CHANNEL: p_flt.pes_type = DMX_PES_OTHER; p_flt.output = DMX_OUT_TSDEMUX_TAP; break; + case DMX_PCR_ONLY_CHANNEL: + switch (num) + { + case 0: p_flt.pes_type = DMX_PES_PCR0; break; + case 1: p_flt.pes_type = DMX_PES_PCR1; break; + case 2: p_flt.pes_type = DMX_PES_PCR2; break; + case 3: p_flt.pes_type = DMX_PES_PCR3; break; + } + break; default: hal_info("%s #%d invalid dmx_type %d!\n", __func__, num, dmx_type); return false;