aboutsummaryrefslogtreecommitdiff
path: root/lib/dvb/decoder.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lib/dvb/decoder.cpp')
-rw-r--r--lib/dvb/decoder.cpp13
1 files changed, 8 insertions, 5 deletions
diff --git a/lib/dvb/decoder.cpp b/lib/dvb/decoder.cpp
index 5f528b82..b9cfcded 100644
--- a/lib/dvb/decoder.cpp
+++ b/lib/dvb/decoder.cpp
@@ -293,11 +293,14 @@ int eTSMPEGDecoder::setState()
if (m_pcr)
m_pcr->stop();
m_pcr = 0;
- m_pcr = new eDVBPCR(m_demux);
- if (m_pcr->startPid(m_pcrpid))
+ if ((m_pcrpid >= 0) && (m_pcrpid < 0x1FFF))
{
- eWarning("video: startpid failed!");
- res = -1;
+ m_pcr = new eDVBPCR(m_demux);
+ if (m_pcr->startPid(m_pcrpid))
+ {
+ eWarning("video: startpid failed!");
+ res = -1;
+ }
}
m_changed &= ~changePCR;
}
@@ -370,7 +373,7 @@ RESULT eTSMPEGDecoder::setSyncPCR(int pcrpid)
m_changed |= changePCR;
m_pcrpid = pcrpid;
}
- return -1;
+ return 0;
}
RESULT eTSMPEGDecoder::setSyncMaster(int who)