From 4332f5c83e491aa5c16064ec244b7171ed6687c6 Mon Sep 17 00:00:00 2001 From: Felix Domke Date: Sat, 15 Oct 2005 20:14:49 +0000 Subject: [PATCH] dont't start vpid/apid if not available --- lib/dvb/decoder.cpp | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/lib/dvb/decoder.cpp b/lib/dvb/decoder.cpp index b9cfcded..28d877df 100644 --- a/lib/dvb/decoder.cpp +++ b/lib/dvb/decoder.cpp @@ -309,11 +309,14 @@ int eTSMPEGDecoder::setState() if (m_video) m_video->stop(); m_video = 0; - m_video = new eDVBVideo(m_demux, 0); - if (m_video->startPid(m_vpid)) + if ((m_vpid >= 0) && (m_vpid < 0x1FFF)) { - eWarning("video: startpid failed!"); - res = -1; + m_video = new eDVBVideo(m_demux, 0); + if (m_video->startPid(m_vpid)) + { + eWarning("video: startpid failed!"); + res = -1; + } } m_changed &= ~changeVideo; } @@ -322,11 +325,14 @@ int eTSMPEGDecoder::setState() if (m_audio) m_audio->stop(); m_audio = 0; - m_audio = new eDVBAudio(m_demux, 0); - if (m_audio->startPid(m_apid)) + if ((m_apid >= 0) && (m_apid < 0x1FFF)) { - eWarning("audio: startpid failed!"); - res = -1; + m_audio = new eDVBAudio(m_demux, 0); + if (m_audio->startPid(m_apid)) + { + eWarning("audio: startpid failed!"); + res = -1; + } } m_changed &= ~changeAudio; } -- 2.30.2