diff --git a/src/zapit/src/zapit.cpp b/src/zapit/src/zapit.cpp index 4879f7d86..7e602b90d 100644 --- a/src/zapit/src/zapit.cpp +++ b/src/zapit/src/zapit.cpp @@ -735,7 +735,7 @@ bool CZapit::StartPip(const t_channel_id channel_id, int pip) ERROR("Cannot get frontend\n"); return false; } - StopPip(); + StopPip(pip); if (!need_lock && !SAME_TRANSPONDER(newchannel->getChannelID(), live_channel_id)) live_channel_id = newchannel->getChannelID(); @@ -1856,7 +1856,10 @@ bool CZapit::ParseCommand(CBasicMessage::Header &rmsg, int connfd) #ifdef ENABLE_PIP case CZapitMessages::CMD_STOP_PIP: - StopPip(); + for (unsigned i=0; i < (unsigned int) g_info.hw_caps->pip_devs; i++) + { + StopPip(i); + } SendCmdReady(connfd); break; #endif @@ -2464,7 +2467,10 @@ void CZapit::enterStandby(void) SaveVolumeMap(); StopPlayBack(true); #ifdef ENABLE_PIP - StopPip(); + for (unsigned i=0; i < (unsigned int) g_info.hw_caps->pip_devs; i++) + { + StopPip(i); + } #endif if(!(currentMode & RECORD_MODE)) { @@ -2872,9 +2878,9 @@ void CZapit::run() delete audioDecoder; delete audioDemux; #ifdef ENABLE_PIP - StopPip(); for (unsigned i=0; i < (unsigned int) g_info.hw_caps->pip_devs; i++) { + StopPip(i); if (pipVideoDecoder[i]) pipVideoDecoder[i] = NULL; if (pipVideoDemux[i])