diff --git a/src/gui/movieplayer.cpp b/src/gui/movieplayer.cpp index 45b75e682..b1a8deb61 100644 --- a/src/gui/movieplayer.cpp +++ b/src/gui/movieplayer.cpp @@ -224,6 +224,9 @@ void CMoviePlayerGui::cutNeutrino() if (isUPNP) return; + //NI + CZapit::getInstance()->setMoviePlayer(true);// let CCamManager::SetMode know, the call is from MoviePlayer + g_Zapit->lockPlayBack(); //NI if (!isWebTV) //NI g_Sectionsd->setPauseScanning(true); diff --git a/src/zapit/include/zapit/capmt.h b/src/zapit/include/zapit/capmt.h index 8e5037316..fb029b99d 100644 --- a/src/zapit/include/zapit/capmt.h +++ b/src/zapit/include/zapit/capmt.h @@ -94,8 +94,10 @@ class CCamManager static CCamManager * manager; bool SetMode(t_channel_id id, enum runmode mode, bool enable, bool force_update = false); void StopCam(t_channel_id id, CCam *cam); - bool useCI; //NI - unsigned int rmode; //NI + //NI + bool mp; + bool useCI; + unsigned int rmode; enum ci_aktive { CI_OFF, CI_ON, @@ -111,8 +113,10 @@ class CCamManager void SetCITuner(int tuner); int GetCITuner(void) { return tunerno; }; void EnableChannelFilter(bool enable) { filter_channels = enable; }; - bool getUseCI() { return useCI; }; //NI - bool getChannelFilter() { return filter_channels; }; //NI + //NI + bool getUseCI() { return useCI; }; + bool getChannelFilter() { return filter_channels; }; + void enableMoviePlayer(bool enable) { mp = enable; }; }; #endif /* __capmt_h__ */ diff --git a/src/zapit/include/zapit/zapit.h b/src/zapit/include/zapit/zapit.h index d1f08fd70..907405ef7 100644 --- a/src/zapit/include/zapit/zapit.h +++ b/src/zapit/include/zapit/zapit.h @@ -275,5 +275,6 @@ class CZapit : public OpenThreads::Thread std::list *GetWebTVXML(void) { return webtv_xml; } //NI bool getUseChannelFilter(); + void setMoviePlayer(bool enable); }; #endif /* __zapit_h__ */ diff --git a/src/zapit/src/capmt.cpp b/src/zapit/src/capmt.cpp index 1b7c2138d..b604a8050 100644 --- a/src/zapit/src/capmt.cpp +++ b/src/zapit/src/capmt.cpp @@ -172,8 +172,10 @@ CCamManager::CCamManager() channel_map.clear(); tunerno = -1; filter_channels = false; - useCI = false; //NI - rmode = CI_OFF; //NI + //NI + useCI = false; + rmode = CI_OFF; + mp = false; } CCamManager::~CCamManager() @@ -283,11 +285,13 @@ bool CCamManager::SetMode(t_channel_id channel_id, enum runmode mode, bool start CZapitChannel * chan = CServiceManager::getInstance()->GetCurrentChannel(); INFO(" ##NI: GetCurrentChannel (%s)\n",chan->getName().c_str()); - //NI - this is a hack for rezaping to the recording channel - if((!mode || (mode && !chan->scrambled)) && (!start && rmode==CI_ON)){ + //NI - this is a hack for rezaping to the recording channe + //if commig from movieplayer, disable hack + if(!mp && ( (!mode || (mode && !chan->scrambled)) && (!start && rmode==CI_ON)) ){ INFO(" ##NI: HACK: disabling TS\n"); cCA::GetInstance()->SetTS(CA_DVBCI_TS_INPUT_DISABLED); } + mp = false; #endif } diff --git a/src/zapit/src/zapit.cpp b/src/zapit/src/zapit.cpp index a8286493c..dbe38c98e 100644 --- a/src/zapit/src/zapit.cpp +++ b/src/zapit/src/zapit.cpp @@ -2474,6 +2474,11 @@ bool CZapit::getUseChannelFilter() { return CCamManager::getInstance()->getChannelFilter(); } +//NI +void CZapit::setMoviePlayer(bool enable) +{ + CCamManager::getInstance()->enableMoviePlayer(enable); +} void CZapit::run() {