diff -ruN vdr-1/config.c vdr-2/config.c --- vdr-1/config.c 2012-09-10 22:31:51.000000000 +0200 +++ vdr-2/config.c 2012-09-10 22:33:34.000000000 +0200 @@ -393,6 +393,7 @@ DiSEqC = 0; SetSystemTime = 0; TimeSource = 0; + ChannelBlocker = 0; TimeTransponder = 0; StandardCompliance = STANDARD_DVB; MarginStart = 2; @@ -652,6 +653,7 @@ else if (!strcasecmp(Name, "SetSystemTime")) SetSystemTime = atoi(Value); else if (!strcasecmp(Name, "TimeSource")) TimeSource = cSource::FromString(Value); else if (!strcasecmp(Name, "TimeTransponder")) TimeTransponder = atoi(Value); + else if (!strcasecmp(Name, "ChannelBlocker")) ChannelBlocker = atoi(Value); else if (!strcasecmp(Name, "StandardCompliance")) StandardCompliance = atoi(Value); else if (!strcasecmp(Name, "MarginStart")) MarginStart = atoi(Value); else if (!strcasecmp(Name, "MarginStop")) MarginStop = atoi(Value); @@ -831,6 +833,7 @@ Store("SetSystemTime", SetSystemTime); Store("TimeSource", cSource::ToString(TimeSource)); Store("TimeTransponder", TimeTransponder); + Store("ChannelBlocker", ChannelBlocker); Store("StandardCompliance", StandardCompliance); Store("MarginStart", MarginStart); Store("MarginStop", MarginStop); diff -ruN vdr-1/config.h vdr-2/config.h --- vdr-1/config.h 2012-09-10 22:31:51.000000000 +0200 +++ vdr-2/config.h 2012-09-10 22:33:34.000000000 +0200 @@ -296,6 +296,7 @@ int SetSystemTime; int TimeSource; int TimeTransponder; + int ChannelBlocker; int StandardCompliance; int MarginStart, MarginStop; int AudioLanguages[I18N_MAX_LANGUAGES + 1]; diff -ruN vdr-1/dvbdevice.c vdr-2/dvbdevice.c --- vdr-1/dvbdevice.c 2012-09-10 22:31:50.000000000 +0200 +++ vdr-2/dvbdevice.c 2012-09-10 22:33:34.000000000 +0200 @@ -1435,6 +1435,10 @@ bool cDvbDevice::ProvidesSource(int Source) const { + if (Setup.ChannelBlocker == 1) { + if (IsPrimaryDevice()) return false; + //isyslog("ChannelBlocker aktive on primary Interface"); + } int type = Source & cSource::st_Mask; return type == cSource::stNone || type == cSource::stAtsc && ProvidesDeliverySystem(SYS_ATSC) diff -ruN vdr-1/menu.c vdr-2/menu.c --- vdr-1/menu.c 2012-09-10 22:31:51.000000000 +0200 +++ vdr-2/menu.c 2012-09-10 22:33:34.000000000 +0200 @@ -3345,6 +3345,7 @@ #ifdef USE_TTXTSUBS Add(new cMenuEditBoolItem(tr("Setup.DVB$Enable teletext support"), &data.SupportTeletext)); #endif // USE_TTXTSUBS + Add(new cMenuEditBoolItem(tr("Setup.DVB$Channel Blocker"), &data.ChannelBlocker)); SetCurrent(Get(current)); Display(); diff -ruN vdr-1/po/de_DE.po vdr-2/po/de_DE.po --- vdr-1/po/de_DE.po 2012-09-10 22:31:51.000000000 +0200 +++ vdr-2/po/de_DE.po 2012-09-10 22:33:34.000000000 +0200 @@ -997,6 +997,9 @@ msgid "Setup.DVB$Update channels" msgstr "Kanäle aktualisieren" +msgid "Setup.DVB$Channel Blocker" +msgstr "Tuner des primären DVB blocken" + msgid "Setup.DVB$channel binding by Rid" msgstr "Kanal per Rid zuordnen"