summaryrefslogtreecommitdiff
path: root/lib/dvb/decoder.cpp
diff options
context:
space:
mode:
authorhschang <chang@dev3>2017-08-21 07:18:36 (GMT)
committerhschang <chang@dev3>2017-08-21 07:18:36 (GMT)
commit7963a66b2debe9cf6ae566cb88511fdfdc9dc216 (patch)
tree8ac4bb2338a409e8e62f71e5a4ceb5d94fba3b5a /lib/dvb/decoder.cpp
parentdd4c8249ef0b08234b6239da9bef26ed7e33ac78 (diff)
Add QuadPiP plugin.
Diffstat (limited to 'lib/dvb/decoder.cpp')
-rw-r--r--lib/dvb/decoder.cpp48
1 files changed, 45 insertions, 3 deletions
diff --git a/lib/dvb/decoder.cpp b/lib/dvb/decoder.cpp
index 2c8044b..2091114 100644
--- a/lib/dvb/decoder.cpp
+++ b/lib/dvb/decoder.cpp
@@ -186,7 +186,21 @@ int eDVBAudio::startPid(int pid, int type)
pes.pid = pid;
pes.input = DMX_IN_FRONTEND;
pes.output = DMX_OUT_DECODER;
- pes.pes_type = m_dev ? DMX_PES_AUDIO1 : DMX_PES_AUDIO0; /* FIXME */
+ switch (m_dev)
+ {
+ case 0:
+ pes.pes_type = DMX_PES_AUDIO0;
+ break;
+ case 1:
+ pes.pes_type = DMX_PES_AUDIO1;
+ break;
+ case 2:
+ pes.pes_type = DMX_PES_AUDIO2;
+ break;
+ case 3:
+ pes.pes_type = DMX_PES_AUDIO3;
+ break;
+ }
pes.flags = 0;
eDebugNoNewLine("DMX_SET_PES_FILTER(0x%02x) - audio - ", pid);
if (::ioctl(m_fd_demux, DMX_SET_PES_FILTER, &pes) < 0)
@@ -500,7 +514,21 @@ int eDVBVideo::startPid(int pid, int type)
pes.pid = pid;
pes.input = DMX_IN_FRONTEND;
pes.output = DMX_OUT_DECODER;
- pes.pes_type = m_dev ? DMX_PES_VIDEO1 : DMX_PES_VIDEO0; /* FIXME */
+ switch (m_dev)
+ {
+ case 0:
+ pes.pes_type = DMX_PES_VIDEO0;
+ break;
+ case 1:
+ pes.pes_type = DMX_PES_VIDEO1;
+ break;
+ case 2:
+ pes.pes_type = DMX_PES_VIDEO2;
+ break;
+ case 3:
+ pes.pes_type = DMX_PES_VIDEO3;
+ break;
+ }
pes.flags = 0;
eDebugNoNewLine("DMX_SET_PES_FILTER(0x%02x) - video - ", pid);
if (::ioctl(m_fd_demux, DMX_SET_PES_FILTER, &pes) < 0)
@@ -829,7 +857,21 @@ int eDVBPCR::startPid(int pid)
pes.pid = pid;
pes.input = DMX_IN_FRONTEND;
pes.output = DMX_OUT_DECODER;
- pes.pes_type = m_dev ? DMX_PES_PCR1 : DMX_PES_PCR0; /* FIXME */
+ switch (m_dev)
+ {
+ case 0:
+ pes.pes_type = DMX_PES_PCR0;
+ break;
+ case 1:
+ pes.pes_type = DMX_PES_PCR1;
+ break;
+ case 2:
+ pes.pes_type = DMX_PES_PCR2;
+ break;
+ case 3:
+ pes.pes_type = DMX_PES_PCR3;
+ break;
+ }
pes.flags = 0;
eDebugNoNewLine("DMX_SET_PES_FILTER(0x%02x) - pcr - ", pid);
if (::ioctl(m_fd_demux, DMX_SET_PES_FILTER, &pes) < 0)