+#else
+ if (m_changed & changePCR)
+ {
+ if (m_pcr)
+ m_pcr->stop();
+ m_pcr = 0;
+ if ((m_pcrpid >= 0) && (m_pcrpid < 0x1FFF))
+ {
+ m_pcr = new eDVBPCR(m_demux);
+ if (m_pcr->startPid(m_pcrpid))
+ {
+ eWarning("pcr: startpid failed!");
+ res = -1;
+ }
+ }
+ m_changed &= ~changePCR;
+ }
+ if (m_changed & changeVideo)
+ {
+ eDebug("VIDEO CHANGED (to %04x)", m_vpid);
+ if (m_video)
+ {
+ eDebug("STOP");
+ m_video->stop();
+ }
+ m_video = 0;
+ if ((m_vpid >= 0) && (m_vpid < 0x1FFF))
+ {
+ eDebug("new video");
+ m_video = new eDVBVideo(m_demux, 0);
+ if (m_video->startPid(m_vpid))
+ {
+ eWarning("video: startpid failed!");
+ res = -1;
+ }
+ }
+ m_changed &= ~changeVideo;
+ }
+ if (m_changed & changeAudio)
+ {
+ if (m_audio)
+ m_audio->stop();
+ m_audio = 0;
+ if ((m_apid >= 0) && (m_apid < 0x1FFF) && !noaudio)
+ {
+ m_audio = new eDVBAudio(m_demux, 0);
+ if (m_audio->startPid(m_apid, m_atype))
+ {
+ eWarning("audio: startpid failed!");
+ res = -1;
+ }
+ }
+ m_changed &= ~changeAudio;
+ }
+ if (m_changed & changeText)
+ {
+ if (m_text)
+ m_text->stop();
+ m_text = 0;
+ if ((m_textpid >= 0) && (m_textpid < 0x1FFF) && !nott)
+ {
+ m_text = new eDVBTText(m_demux);
+ if (m_text->startPid(m_textpid))
+ {
+ eWarning("text: startpid failed!");
+ res = -1;
+ }
+ }
+ m_changed &= ~changeText;
+ }
+#endif