diff --git a/data/locale/deutsch.locale b/data/locale/deutsch.locale index 6d86011d4..a053d4d48 100644 --- a/data/locale/deutsch.locale +++ b/data/locale/deutsch.locale @@ -492,6 +492,9 @@ extra.tp_mod_4_nr QAM/4-NR extra.tp_mod_64 QAM/64 extra.tp_mod_8 8PSK extra.tp_mod_auto QAM/AUTO +extra.tp_pilot Pilot +extra.tp_pilot_auto Auto (HW) +extra.tp_pilot_auto_sw Auto (SW) extra.tp_pol Polarisation extra.tp_pol_h H extra.tp_pol_l L @@ -956,6 +959,7 @@ menu.hint_epg_old_events Veraltete EPG-Daten werden nach dieser Zeit (in Stunden menu.hint_epg_read Liest nach einem Neustart die EPG-Daten von einem externen Datenträger wieder ein menu.hint_epg_save Speichert die EPG-Daten beim Herunterfahren auf einem externen Datenträger menu.hint_epg_save_frequently Speichert die EPG-Daten in regelmäßigen Abständen auf einem externen Datenträger +menu.hint_epg_save_mode Speichert die EPG-Daten nur für Sender, die in die Favoriten aufgenommen sind menu.hint_epg_save_standby Speichert die EPG-Daten auch, wenn in den Standby-Modus geschalten wird menu.hint_epg_scan Zu scannende Bouquets wählen. Aktuelles Bouquet beim Umschalten, markierte Bouquets oder alle Favoriten menu.hint_epg_scan_mode Aktivieren Sie den Hintergrundscan der EPG-Daten, wenn ein freier Tuner vorhanden ist @@ -1259,6 +1263,7 @@ menu.hint_scan_motorpos Wählen Sie eine gespeicherten Positions-Nummer für die menu.hint_scan_nid Geben Sie ihre Kabelnetzwerk-ID in dezimal ein menu.hint_scan_nit Lassen Sie Transponder über gesendete NIT-Daten (Network Information Table) hinzufügen menu.hint_scan_pids Duchsucht und speichert auch die Audio-, Video- und PMT-PIDs +menu.hint_scan_pilot Wählen Sie den Pilot-Parameter menu.hint_scan_pol Wählen Sie eine Transponder-Polarisation menu.hint_scan_rate Geben Sie eine Transponder-Symbolrate ein menu.hint_scan_reset_numbers Zurücksetzen der existierender Kanal-Nummern und Umnummerierung nach einen Suchlauf @@ -1352,6 +1357,7 @@ menu.hint_video_dbdr Verwendeter MPEG2 Filter menu.hint_video_format Wählen Sie das Bildschirmformat ihres Fernsehgerätes menu.hint_video_mode Wählen Sie den Modus des Ausgangssignals für den HDMI-Anschluss menu.hint_video_modes Definiert, welche Videosysteme mit der VF-Taste der Fernbedienung ausgewählt werden können +menu.hint_video_modes_auto Definiert, welche Videosysteme automatisch ausgewählt werden können menu.hint_video_pip Bild in Bild Größe und Position menu.hint_video_saturation Change picture saturation menu.hint_video_scart_mode Wählen Sie den Modus des Ausgangssignals für den SCART-Anschluss @@ -1398,6 +1404,7 @@ miscsettings.epg_old_events_hint2 Angabe in Stunden miscsettings.epg_read Gespeicherte EPG-Daten einlesen miscsettings.epg_save EPG zwischenspeichern miscsettings.epg_save_frequently EPG regelmäßig speichern +miscsettings.epg_save_mode Nur Favoriten miscsettings.epg_save_standby EPG speichern in Standby-Modus miscsettings.epg_scan Hintergrundscan EPG miscsettings.epg_scan_always Immer @@ -2275,6 +2282,7 @@ videomenu.dbdr_both deBlock & deRing videomenu.dbdr_deblock deBlock videomenu.dbdr_none aus videomenu.enabled_modes Videosysteme auf der VF-Taste +videomenu.enabled_modes_auto Videosysteme für autom. Wahl videomenu.fullscreen Vollbild videomenu.hdmi_cec CSTLink (HDMI-CEC) videomenu.hdmi_cec_mode Receiver verwenden diff --git a/lib/libcoolstream2/cs_api.h b/lib/libcoolstream2/cs_api.h index 64b8180bc..6cb6b01a5 100644 --- a/lib/libcoolstream2/cs_api.h +++ b/lib/libcoolstream2/cs_api.h @@ -33,7 +33,7 @@ enum CS_LOG_MODULE { CS_LOG_POWER_CLK, CS_LOG_MEM, CS_LOG_API, - CS_LOG_CA, + CS_LOG_CA }; // Initialization diff --git a/lib/libcoolstream2/cs_frontpanel.h b/lib/libcoolstream2/cs_frontpanel.h index 19360f04f..e6ca97137 100644 --- a/lib/libcoolstream2/cs_frontpanel.h +++ b/lib/libcoolstream2/cs_frontpanel.h @@ -62,7 +62,7 @@ typedef enum { FP_FLAG_ALIGN_LEFT = 0x10, /* align the text in display from the left (default) */ FP_FLAG_ALIGN_RIGHT = 0x20, /* align the text in display from the right (arabic) */ FP_FLAG_UPDATE_SCROLL_POS = 0x40, /* update the current position for scrolling (internal use only) */ - FP_FLAG_USER = 0x80, /* user flags set (internal use only) */ + FP_FLAG_USER = 0x80 /* user flags set (internal use only) */ } fp_flag; typedef struct { @@ -80,7 +80,7 @@ typedef enum { FP_LED_3_ON = 0x88, FP_LED_1_OFF = 0x01, FP_LED_2_OFF = 0x02, - FP_LED_3_OFF = 0x08, + FP_LED_3_OFF = 0x08 } fp_led_ctrl_t; typedef struct { @@ -105,7 +105,7 @@ typedef struct { typedef enum { FP_DISPLAY_TEXT_NONE = 0, FP_DISPLAY_TEXT_LIMITED, - FP_DISPLAY_TEXT_ALL, + FP_DISPLAY_TEXT_ALL } fp_display_text_type_t; typedef enum { diff --git a/lib/libcoolstream2/dmx_cs.h b/lib/libcoolstream2/dmx_cs.h index df105dcff..7dfe830d8 100644 --- a/lib/libcoolstream2/dmx_cs.h +++ b/lib/libcoolstream2/dmx_cs.h @@ -27,7 +27,7 @@ typedef enum { DMX_TS = 0, - DMX_DMA, + DMX_DMA } DMX_TYPE; typedef enum { diff --git a/lib/libcoolstream2/video_cs.h b/lib/libcoolstream2/video_cs.h index 9f15eb8fc..6c1da4931 100644 --- a/lib/libcoolstream2/video_cs.h +++ b/lib/libcoolstream2/video_cs.h @@ -32,7 +32,7 @@ typedef enum { // Output types ANALOG_xD_SCART = (1 << 8), // Output is SCART ANALOG_xD_CINCH = (1 << 9), // Output is Cinch - ANALOG_xD_BOTH = (3 << 8), // Output cannot individually control scart, cinch outputs + ANALOG_xD_BOTH = (3 << 8) // Output cannot individually control scart, cinch outputs // due to limited amount of DACs (ie TANK, Trinity) } analog_mode_t; diff --git a/src/driver/rcinput.cpp b/src/driver/rcinput.cpp index 0f12537e6..ae87b4e59 100644 --- a/src/driver/rcinput.cpp +++ b/src/driver/rcinput.cpp @@ -646,7 +646,7 @@ void CRCInput::getMsg_us(neutrino_msg_t * msg, neutrino_msg_data_t * data, uint6 #ifdef KEYBOARD_INSTEAD_OF_REMOTE_CONTROL if (FD_ISSET(fd_keyb, &rfds)) { - int trkey; + uint32_t trkey; char key = 0; read(fd_keyb, &key, sizeof(key)); diff --git a/src/driver/scanepg.cpp b/src/driver/scanepg.cpp index e9c5718d2..3cd7e0280 100644 --- a/src/driver/scanepg.cpp +++ b/src/driver/scanepg.cpp @@ -337,8 +337,10 @@ void CEpgScan::EnterStandby() void CEpgScan::Next() { - bool llocked = false, plocked = false; - + bool llocked = false; +#ifdef ENABLE_PIP + bool plocked = false; +#endif next_chid = 0; if (!standby && CNeutrinoApp::getInstance()->getMode() == NeutrinoMessages::mode_standby) diff --git a/src/eitd/sectionsd.cpp b/src/eitd/sectionsd.cpp index 7ee435513..4790dafdf 100644 --- a/src/eitd/sectionsd.cpp +++ b/src/eitd/sectionsd.cpp @@ -92,6 +92,7 @@ static int scanning = 1; extern bool epg_filter_is_whitelist; extern bool epg_filter_except_current_next; +static bool xml_epg_filter; static bool messaging_zap_detected = false; /*static*/ bool dvb_time_update = false; @@ -2169,7 +2170,7 @@ bool CEitManager::Start() config.epg_cache, config.epg_extendedcache, config.epg_max_events, config.epg_old_events); printf("[sectionsd] NTP: %s, server %s, command %s\n", ntpenable ? "enabled" : "disabled", ntpserver.c_str(), ntp_system_cmd_prefix.c_str()); - readEPGFilter(); + xml_epg_filter = readEPGFilter(); if (!sectionsd_server.prepare(SECTIONSD_UDS_NAME)) { fprintf(stderr, "[sectionsd] failed to prepare basic server\n"); @@ -2925,6 +2926,8 @@ unsigned CEitManager::getEventsCount() void CEitManager::addChannelFilter(t_original_network_id onid, t_transport_stream_id tsid, t_service_id sid) { OpenThreads::ScopedLock slock(filter_mutex); + if (xml_epg_filter) + return; epg_filter_except_current_next = true; epg_filter_is_whitelist = true; addEPGFilter(onid, tsid, sid); @@ -2933,6 +2936,8 @@ void CEitManager::addChannelFilter(t_original_network_id onid, t_transport_strea void CEitManager::clearChannelFilters() { OpenThreads::ScopedLock slock(filter_mutex); + if (xml_epg_filter) + return; clearEPGFilter(); epg_filter_is_whitelist = false; } diff --git a/src/eitd/xmlutil.cpp b/src/eitd/xmlutil.cpp index 5087cc0d8..056235116 100644 --- a/src/eitd/xmlutil.cpp +++ b/src/eitd/xmlutil.cpp @@ -190,7 +190,7 @@ static void addNoDVBTimelist(t_original_network_id onid, t_transport_stream_id t } } -void readEPGFilter(void) +bool readEPGFilter(void) { xmlDocPtr filter_parser = parseXmlFile(epg_filter_dir.c_str()); @@ -223,6 +223,7 @@ void readEPGFilter(void) } } xmlFreeDoc(filter_parser); + return (CurrentEPGFilter != NULL); } void readDVBTimeFilter(void) diff --git a/src/eitd/xmlutil.h b/src/eitd/xmlutil.h index 91380c996..298bb54c4 100644 --- a/src/eitd/xmlutil.h +++ b/src/eitd/xmlutil.h @@ -37,7 +37,7 @@ void *insertEventsfromFile(void * data); void writeEventsToFile(char *epgdir); -void readEPGFilter(void); +bool readEPGFilter(void); void readDVBTimeFilter(void); bool checkEPGFilter(t_original_network_id onid, t_transport_stream_id tsid, t_service_id sid); bool checkBlacklist(t_channel_id channel_id); diff --git a/src/gui/buildinfo.h b/src/gui/buildinfo.h index 14a341232..3ef9377dc 100644 --- a/src/gui/buildinfo.h +++ b/src/gui/buildinfo.h @@ -66,7 +66,7 @@ class CBuildInfo : public CMenuTarget, public CComponentsWindow BI_TYPE_ID_CREATOR, #endif - BI_TYPE_IDS, + BI_TYPE_IDS }; CBuildInfo(); diff --git a/src/gui/components/cc_frm.h b/src/gui/components/cc_frm.h index cd99a0bb3..4736598c8 100644 --- a/src/gui/components/cc_frm.h +++ b/src/gui/components/cc_frm.h @@ -123,7 +123,7 @@ class CComponentsForm : public CComponentsItem { PG_SCROLL_M_UP_DOWN_KEY = 1, PG_SCROLL_M_LEFT_RIGHT_KEY = 2, - PG_SCROLL_M_OFF = 4, + PG_SCROLL_M_OFF = 4 }; ///enable/disable page scroll, parameter1 default enabled for up/down keys virtual void enablePageScroll(const int& mode = PG_SCROLL_M_UP_DOWN_KEY){page_scroll_mode = mode;}; diff --git a/src/gui/components/cc_frm_chain.cpp b/src/gui/components/cc_frm_chain.cpp index 9d451041d..b3f8b9824 100644 --- a/src/gui/components/cc_frm_chain.cpp +++ b/src/gui/components/cc_frm_chain.cpp @@ -77,7 +77,7 @@ void CComponentsFrmChain::setDirection(int direction) { chn_direction = direction; initChainItems(); -}; +} void CComponentsFrmChain::initChainItems() { diff --git a/src/gui/components/cc_item_progressbar.h b/src/gui/components/cc_item_progressbar.h index 03a1996e1..842bcbc63 100644 --- a/src/gui/components/cc_item_progressbar.h +++ b/src/gui/components/cc_item_progressbar.h @@ -137,13 +137,13 @@ class CProgressBar : public CComponentsItem PB_MATRIX, /* 0 */ PB_LINES_V, /* 1 */ PB_LINES_H, /* 2 */ - PB_COLOR, /* 3 */ + PB_COLOR /* 3 */ }; enum pb_type_t { PB_REDLEFT = 0, PB_REDRIGHT, - PB_TIMESCALE, + PB_TIMESCALE }; void setType(pb_type_t type); diff --git a/src/gui/luainstance.cpp b/src/gui/luainstance.cpp index 1744c3312..49a8f207c 100644 --- a/src/gui/luainstance.cpp +++ b/src/gui/luainstance.cpp @@ -1806,25 +1806,33 @@ int CLuaInstance::CWindowNew(lua_State *L) else { CComponentsFooter* footer = (*udata)->w->getFooterObject(); if (footer) { - int btnCount = 0; - if (!btnRed.empty()) btnCount++; - if (!btnGreen.empty()) btnCount++; - if (!btnYellow.empty()) btnCount++; - if (!btnBlue.empty()) btnCount++; - if (btnCount) { - fb_pixel_t col = footer->getColorBody(); - int btnw = (dx-20) / btnCount; - int btnh = footer->getHeight(); - int start = 10; - if (!btnRed.empty()) - footer->addCCItem(new CComponentsButtonRed(start, CC_CENTERED, btnw, btnh, btnRed, 0, false , true, false, col, col)); - if (!btnGreen.empty()) - footer->addCCItem(new CComponentsButtonGreen(start+=btnw, CC_CENTERED, btnw, btnh, btnGreen, 0, false , true, false, col, col)); - if (!btnYellow.empty()) - footer->addCCItem(new CComponentsButtonYellow(start+=btnw, CC_CENTERED, btnw, btnh, btnYellow, 0, false , true, false, col, col)); - if (!btnBlue.empty()) - footer->addCCItem(new CComponentsButtonBlue(start+=btnw, CC_CENTERED, btnw, btnh, btnBlue, 0, false , true, false, col, col)); + vector buttons; + if (!btnRed.empty()){ + button_label_s btnSred; + btnSred.button = NEUTRINO_ICON_BUTTON_RED; + btnSred.text = btnRed; + buttons.push_back(btnSred); } + if (!btnGreen.empty()){ + button_label_s btnSgreen; + btnSgreen.button = NEUTRINO_ICON_BUTTON_GREEN; + btnSgreen.text = btnGreen; + buttons.push_back(btnSgreen); + } + if (!btnYellow.empty()){ + button_label_s btnSyellow; + btnSyellow.button = NEUTRINO_ICON_BUTTON_YELLOW; + btnSyellow.text = btnYellow; + buttons.push_back(btnSyellow); + } + if (!btnBlue.empty()){ + button_label_s btnSblue; + btnSblue.button = NEUTRINO_ICON_BUTTON_YELLOW; + btnSblue.text = btnBlue; + buttons.push_back(btnSblue); + } + if(!buttons.empty()) + footer->setButtonLabels(buttons, dx-20, (dx-20) / (buttons.size()+1)); } } diff --git a/src/gui/moviebrowser.cpp b/src/gui/moviebrowser.cpp index 4db686191..c5964fba6 100644 --- a/src/gui/moviebrowser.cpp +++ b/src/gui/moviebrowser.cpp @@ -1262,6 +1262,7 @@ void CMovieBrowser::refreshMovieInfo(void) else CChannelLogo->hide(); delete CChannelLogo; + CChannelLogo = NULL; } if (old_EpgId != m_movieSelectionHandler->epgEpgId >>16) { CChannelLogo = new CComponentsChannelLogo(0, 0, logo_w_max, m_cBoxFrameTitleRel.iHeight, diff --git a/src/gui/osdlang_setup.cpp b/src/gui/osdlang_setup.cpp index 6b21fba00..39f0eeb66 100644 --- a/src/gui/osdlang_setup.cpp +++ b/src/gui/osdlang_setup.cpp @@ -178,7 +178,7 @@ void COsdLangSetup::showLanguageSetup(CMenuWidget *osdl_setup) { struct dirent **namelist; int n; - const char *pfad[] = {DATADIR "/neutrino/locale", CONFIGDIR "/locale"}; + const char *pfad[] = {DATADIR "/neutrino/locale", "/var/tuxbox/locale"}; osdl_setup->addIntroItems(); diff --git a/src/gui/widget/menue.cpp b/src/gui/widget/menue.cpp index 6c4d24bdb..e7c06181d 100644 --- a/src/gui/widget/menue.cpp +++ b/src/gui/widget/menue.cpp @@ -2069,6 +2069,7 @@ CMenuForwarder::CMenuForwarder(const std::string& Text, const bool Active, const void CMenuForwarder::setOption(const std::string &Option) { option_string = Option; + option_string_ptr = &option_string; } int CMenuForwarder::getWidth(void) diff --git a/src/system/locals.h b/src/system/locals.h index fa91e789c..9b768e095 100644 --- a/src/system/locals.h +++ b/src/system/locals.h @@ -2163,7 +2163,6 @@ typedef enum LOCALE_STRINGINPUT_CAPS, LOCALE_STRINGINPUT_CLEAR, LOCALE_STRINGINPUT_INSERT, - LOCALE_STRINGINPUT_LAYOUT, LOCALE_STRINGINPUT_SAVE, LOCALE_SUBTITLES_CHARSET, LOCALE_SUBTITLES_HEAD, diff --git a/src/system/locals_intern.h b/src/system/locals_intern.h index f27ac324a..0423c1586 100644 --- a/src/system/locals_intern.h +++ b/src/system/locals_intern.h @@ -2163,7 +2163,6 @@ const char * locale_real_names[] = "stringinput.caps", "stringinput.clear", "stringinput.insert", - "stringinput.layout", "stringinput.save", "subtitles.charset", "subtitles.head", diff --git a/src/zapit/include/private/linux/dvb/frontend.h b/src/zapit/include/private/linux/dvb/frontend.h index c56d77c49..838c05ede 100644 --- a/src/zapit/include/private/linux/dvb/frontend.h +++ b/src/zapit/include/private/linux/dvb/frontend.h @@ -141,7 +141,7 @@ typedef enum fe_status { FE_HAS_SYNC = 0x08, FE_HAS_LOCK = 0x10, FE_TIMEDOUT = 0x20, - FE_REINIT = 0x40, + FE_REINIT = 0x40 } fe_status_t; typedef enum fe_spectral_inversion { @@ -164,7 +164,7 @@ typedef enum fe_code_rate { FEC_AUTO, FEC_3_5, FEC_9_10, - FEC_2_5, + FEC_2_5 } fe_code_rate_t; @@ -182,7 +182,7 @@ typedef enum fe_modulation { APSK_16, APSK_32, DQPSK, - QAM_4_NR, + QAM_4_NR } fe_modulation_t; typedef enum fe_transmit_mode { @@ -194,7 +194,7 @@ typedef enum fe_transmit_mode { TRANSMISSION_MODE_16K, TRANSMISSION_MODE_32K, TRANSMISSION_MODE_C1, - TRANSMISSION_MODE_C3780, + TRANSMISSION_MODE_C3780 } fe_transmit_mode_t; #if defined(__DVB_CORE__) || !defined (__KERNEL__) @@ -205,7 +205,7 @@ typedef enum fe_bandwidth { BANDWIDTH_AUTO, BANDWIDTH_5_MHZ, BANDWIDTH_10_MHZ, - BANDWIDTH_1_712_MHZ, + BANDWIDTH_1_712_MHZ } fe_bandwidth_t; #endif @@ -220,7 +220,7 @@ typedef enum fe_guard_interval { GUARD_INTERVAL_19_256, GUARD_INTERVAL_PN420, GUARD_INTERVAL_PN595, - GUARD_INTERVAL_PN945, + GUARD_INTERVAL_PN945 } fe_guard_interval_t; @@ -236,7 +236,7 @@ enum fe_interleaving { INTERLEAVING_NONE, INTERLEAVING_AUTO, INTERLEAVING_240, - INTERLEAVING_720, + INTERLEAVING_720 }; #if defined(__DVB_CORE__) || !defined (__KERNEL__) @@ -380,14 +380,14 @@ struct dvb_frontend_event { typedef enum fe_pilot { PILOT_ON, PILOT_OFF, - PILOT_AUTO, + PILOT_AUTO } fe_pilot_t; typedef enum fe_rolloff { ROLLOFF_35, /* Implied value in DVB-S, default for DVB-S2 */ ROLLOFF_20, ROLLOFF_25, - ROLLOFF_AUTO, + ROLLOFF_AUTO } fe_rolloff_t; typedef enum fe_delivery_system { @@ -409,7 +409,7 @@ typedef enum fe_delivery_system { SYS_DAB, SYS_DVBT2, SYS_TURBO, - SYS_DVBC_ANNEX_C, + SYS_DVBC_ANNEX_C } fe_delivery_system_t; /* backward compatibility */ @@ -421,31 +421,31 @@ typedef enum fe_delivery_system { enum atscmh_sccc_block_mode { ATSCMH_SCCC_BLK_SEP = 0, ATSCMH_SCCC_BLK_COMB = 1, - ATSCMH_SCCC_BLK_RES = 2, + ATSCMH_SCCC_BLK_RES = 2 }; enum atscmh_sccc_code_mode { ATSCMH_SCCC_CODE_HLF = 0, ATSCMH_SCCC_CODE_QTR = 1, - ATSCMH_SCCC_CODE_RES = 2, + ATSCMH_SCCC_CODE_RES = 2 }; enum atscmh_rs_frame_ensemble { ATSCMH_RSFRAME_ENS_PRI = 0, - ATSCMH_RSFRAME_ENS_SEC = 1, + ATSCMH_RSFRAME_ENS_SEC = 1 }; enum atscmh_rs_frame_mode { ATSCMH_RSFRAME_PRI_ONLY = 0, ATSCMH_RSFRAME_PRI_SEC = 1, - ATSCMH_RSFRAME_RES = 2, + ATSCMH_RSFRAME_RES = 2 }; enum atscmh_rs_code_mode { ATSCMH_RSCODE_211_187 = 0, ATSCMH_RSCODE_223_187 = 1, ATSCMH_RSCODE_235_187 = 2, - ATSCMH_RSCODE_RES = 3, + ATSCMH_RSCODE_RES = 3 }; #define NO_STREAM_ID_FILTER (~0U) diff --git a/src/zapit/include/zapit/frontend_types.h b/src/zapit/include/zapit/frontend_types.h index 4883339e4..51d164f5d 100644 --- a/src/zapit/include/zapit/frontend_types.h +++ b/src/zapit/include/zapit/frontend_types.h @@ -96,7 +96,7 @@ typedef enum { // ALL_SAT = ZAPIT_DM_SAT, ALL_CABLE = ZAPIT_DM_CABLE, - ALL_TERR = ZAPIT_DM_TERR, + ALL_TERR = ZAPIT_DM_TERR } delivery_system_t; typedef enum { diff --git a/src/zapit/src/bouquets.cpp b/src/zapit/src/bouquets.cpp index 27172429d..499a57111 100644 --- a/src/zapit/src/bouquets.cpp +++ b/src/zapit/src/bouquets.cpp @@ -447,8 +447,14 @@ void CBouquetManager::parseBouquetsXml(const char *fname, bool bUser) newBouquet->addService(chan); } else if (bUser) { - chan = new CZapitChannel(name2, CREATE_CHANNEL_ID64, 1 /*service_type*/, - satellitePosition, freq); + if (url) { + chid = create_channel_id64(0, 0, 0, 0, 0, url); + chan = new CZapitChannel(name2.c_str(), chid, url, NULL); + } + else + chan = new CZapitChannel(name2, CREATE_CHANNEL_ID64, 1 /*service_type*/, + satellitePosition, freq); + CServiceManager::getInstance()->AddChannel(chan); chan->flags = CZapitChannel::NOT_FOUND; chan->bLocked = clock;