diff options
Diffstat (limited to 'lib/dvb/decoder.cpp')
| -rw-r--r-- | lib/dvb/decoder.cpp | 13 |
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) |
