diff --git a/src/neutrino.cpp b/src/neutrino.cpp index b44a2370e..7ff9586fa 100644 --- a/src/neutrino.cpp +++ b/src/neutrino.cpp @@ -2729,6 +2729,15 @@ TIMER_STOP("################################## after all ####################### xmltv_xml_readepg(); xmltv_xml_auto_readepg(); +#if ENABLE_PIP && BOXMODEL_E4HDULTRA + if (g_info.hw_caps->can_pip) + { + CZapit::getInstance()->OpenPip(0); + usleep(100); + CZapit::getInstance()->StopPip(0); + } +#endif + RealRun(); ExitRun(CNeutrinoApp::EXIT_REBOOT); diff --git a/src/zapit/include/zapit/zapit.h b/src/zapit/include/zapit/zapit.h index b292efbce..e588884b6 100644 --- a/src/zapit/include/zapit/zapit.h +++ b/src/zapit/include/zapit/zapit.h @@ -272,6 +272,7 @@ class CZapit : public OpenThreads::Thread int SetVolumePercent(int percent); void SetVolumePercent(int default_ac3, int default_pcm); #ifdef ENABLE_PIP + bool OpenPip(int pip = 0); bool StartPip(const t_channel_id channel_id, int pip = 0); bool StopPip(int pip = 0); #endif diff --git a/src/zapit/src/zapit.cpp b/src/zapit/src/zapit.cpp index 90d3cc596..22f0117a0 100644 --- a/src/zapit/src/zapit.cpp +++ b/src/zapit/src/zapit.cpp @@ -651,6 +651,20 @@ bool CZapit::ZapIt(const t_channel_id channel_id, bool forupdate, bool startplay } #ifdef ENABLE_PIP +bool CZapit::OpenPip(int pip) +{ + if (!g_info.hw_caps->can_pip) + return false; + + pipVideoDecoder[pip] = new cVideo(0, NULL, NULL, pip+1); + pipVideoDecoder[pip]->ShowPig(0); + pipVideoDemux[pip] = new cDemux(pip+1); + pipVideoDemux[pip]->Open(DMX_VIDEO_CHANNEL); + pipAudioDecoder[pip] = new cAudio(0, NULL, NULL, pip+1); + pipAudioDemux[pip] = new cDemux(pip+1); + pipAudioDemux[pip]->Open(DMX_AUDIO_CHANNEL); +} + bool CZapit::StopPip(int pip) { if (!g_info.hw_caps->can_pip)