diff --git a/HISTORY b/HISTORY index a664af0d..4e672a8e 100644 --- a/HISTORY +++ b/HISTORY @@ -4537,3 +4537,7 @@ Video Disk Recorder Revision History - Implemented kNext and kPrev keys (based on a patch from Peter Juszack). See MANUAL for details. - Implemented kChanPrev (from a patch from Darren Salt). +- The "Update channels" parameter in the "Setup/DVB" menu has been extended to + allow updating only the PIDs (see MANUAL for details). When updating to this + version of VDR, please verify that the setting is as you want it to be, because + the values have been shifted. diff --git a/MANUAL b/MANUAL index 609cafdc..88f8d920 100644 --- a/MANUAL +++ b/MANUAL @@ -639,11 +639,11 @@ Version 1.3 If turned off, Dolby Digital tracks also don't appear in the "Audio" menu. - Update channels = 4 Controls the automatic channel update function. '0' means + Update channels = 5 Controls the automatic channel update function. '0' means no update, '1' will only update channel names, '2' will - update channel names and PIDs, '3' will perform all - updates and also add newly found channels, and '4' will - also add newly found transponders. + only update PIDs, '3' will update channel names and PIDs, + '4' will perform all updates and also add newly found channels, + and '5' will also add newly found transponders. Audio languages = 0 Some tv stations broadcast various audio tracks in different languages. This option allows you to define which language(s) diff --git a/config.c b/config.c index 9dadfdca..4c0158ec 100644 --- a/config.c +++ b/config.c @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: config.c 1.143 2006/04/09 12:12:01 kls Exp $ + * $Id: config.c 1.144 2006/04/15 14:05:41 kls Exp $ */ #include "config.h" @@ -251,7 +251,7 @@ cSetup::cSetup(void) RecordingDirs = 1; VideoDisplayFormat = 1; VideoFormat = 0; - UpdateChannels = 4; + UpdateChannels = 5; UseDolbyDigital = 1; ChannelInfoPos = 0; ChannelInfoTime = 5; diff --git a/eit.c b/eit.c index ccce4956..c33dbefc 100644 --- a/eit.c +++ b/eit.c @@ -8,7 +8,7 @@ * Robert Schneider and Rolf Hakenes . * Adapted to 'libsi' for VDR 1.3.0 by Marcel Wiesweg . * - * $Id: eit.c 1.115 2006/02/19 09:51:02 kls Exp $ + * $Id: eit.c 1.116 2006/04/15 14:11:52 kls Exp $ */ #include "eit.h" @@ -180,10 +180,10 @@ cEIT::cEIT(cSchedules *Schedules, int Source, u_char Tid, const u_char *Data) if (link != channel) { // only link to other channels, not the same one //fprintf(stderr, "Linkage %s %4d %4d %5d %5d %5d %5d %02X '%s'\n", hit ? "*" : "", channel->Number(), link ? link->Number() : -1, SiEitEvent.getEventId(), ld->getOriginalNetworkId(), ld->getTransportStreamId(), ld->getServiceId(), ld->getLinkageType(), linkName);//XXX if (link) { - if (Setup.UpdateChannels >= 1) + if (Setup.UpdateChannels == 1 || Setup.UpdateChannels >= 3) link->SetName(linkName, "", ""); } - else if (Setup.UpdateChannels >= 3) { + else if (Setup.UpdateChannels >= 4) { link = Channels.NewChannel(channel, linkName, "", "", ld->getOriginalNetworkId(), ld->getTransportStreamId(), ld->getServiceId()); //XXX patFilter->Trigger(); } diff --git a/i18n.c b/i18n.c index b9770e18..5912a53e 100644 --- a/i18n.c +++ b/i18n.c @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: i18n.c 1.260 2006/04/15 13:53:23 kls Exp $ + * $Id: i18n.c 1.261 2006/04/15 14:13:45 kls Exp $ * * Translations provided by: * @@ -3722,6 +3722,28 @@ const tI18nPhrase Phrases[] = { "kun navne", "jen názvy", }, + { "PIDs only", + "nur PIDs", + "",// TODO + "",// TODO + "",// TODO + "",// TODO + "",// TODO + "",// TODO + "",// TODO + "",// TODO + "",// TODO + "",// TODO + "",// TODO + "",// TODO + "",// TODO + "",// TODO + "",// TODO + "",// TODO + "",// TODO + "",// TODO + "",// TODO + }, { "names and PIDs", "Namen und PIDs", "imena in PIDe", diff --git a/menu.c b/menu.c index 5681c35d..d0430af6 100644 --- a/menu.c +++ b/menu.c @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: menu.c 1.431 2006/04/15 13:37:09 kls Exp $ + * $Id: menu.c 1.432 2006/04/15 14:09:40 kls Exp $ */ #include "menu.h" @@ -2299,7 +2299,7 @@ private: int numAudioLanguages; void Setup(void); const char *videoDisplayFormatTexts[3]; - const char *updateChannelsTexts[5]; + const char *updateChannelsTexts[6]; public: cMenuSetupDVB(void); virtual eOSState ProcessKey(eKeys Key); @@ -2315,9 +2315,10 @@ cMenuSetupDVB::cMenuSetupDVB(void) videoDisplayFormatTexts[2] = tr("center cut out"); updateChannelsTexts[0] = tr("no"); updateChannelsTexts[1] = tr("names only"); - updateChannelsTexts[2] = tr("names and PIDs"); - updateChannelsTexts[3] = tr("add new channels"); - updateChannelsTexts[4] = tr("add new transponders"); + updateChannelsTexts[2] = tr("PIDs only"); + updateChannelsTexts[3] = tr("names and PIDs"); + updateChannelsTexts[4] = tr("add new channels"); + updateChannelsTexts[5] = tr("add new transponders"); SetSection(tr("DVB")); Setup(); @@ -2334,7 +2335,7 @@ void cMenuSetupDVB::Setup(void) if (data.VideoFormat == 0) Add(new cMenuEditStraItem(tr("Setup.DVB$Video display format"), &data.VideoDisplayFormat, 3, videoDisplayFormatTexts)); Add(new cMenuEditBoolItem(tr("Setup.DVB$Use Dolby Digital"), &data.UseDolbyDigital)); - Add(new cMenuEditStraItem(tr("Setup.DVB$Update channels"), &data.UpdateChannels, 5, updateChannelsTexts)); + Add(new cMenuEditStraItem(tr("Setup.DVB$Update channels"), &data.UpdateChannels, 6, updateChannelsTexts)); Add(new cMenuEditIntItem( tr("Setup.DVB$Audio languages"), &numAudioLanguages, 0, I18nNumLanguages)); for (int i = 0; i < numAudioLanguages; i++) Add(new cMenuEditStraItem(tr("Setup.DVB$Audio language"), &data.AudioLanguages[i], I18nNumLanguages, I18nLanguages())); diff --git a/nit.c b/nit.c index 73b1df24..27b90fd1 100644 --- a/nit.c +++ b/nit.c @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: nit.c 1.10 2004/10/17 12:00:54 kls Exp $ + * $Id: nit.c 1.11 2006/04/15 14:10:42 kls Exp $ */ #include "nit.h" @@ -116,12 +116,12 @@ void cNitFilter::Process(u_short Pid, u_char Tid, const u_char *Data, int Length bool found = false; for (cChannel *Channel = Channels.First(); Channel; Channel = Channels.Next(Channel)) { if (!Channel->GroupSep() && Channel->Source() == Source && Channel->Nid() == ts.getOriginalNetworkId() && Channel->Tid() == ts.getTransportStreamId()) { - if (Setup.UpdateChannels >= 4) + if (Setup.UpdateChannels >= 5) Channel->SetSatTransponderData(Source, Frequency, Polarization, SymbolRate, CodeRate); found = true; } } - if (!found && Setup.UpdateChannels >= 4) { + if (!found && Setup.UpdateChannels >= 5) { cChannel *Channel = new cChannel; Channel->SetId(ts.getOriginalNetworkId(), ts.getTransportStreamId(), 0, 0); if (Channel->SetSatTransponderData(Source, Frequency, Polarization, SymbolRate, CodeRate)) @@ -151,12 +151,12 @@ void cNitFilter::Process(u_short Pid, u_char Tid, const u_char *Data, int Length bool found = false; for (cChannel *Channel = Channels.First(); Channel; Channel = Channels.Next(Channel)) { if (!Channel->GroupSep() && Channel->Source() == Source && Channel->Nid() == ts.getOriginalNetworkId() && Channel->Tid() == ts.getTransportStreamId()) { - if (Setup.UpdateChannels >= 4) + if (Setup.UpdateChannels >= 5) Channel->SetCableTransponderData(Source, Frequency, Modulation, SymbolRate, CodeRate); found = true; } } - if (!found && Setup.UpdateChannels >= 4) { + if (!found && Setup.UpdateChannels >= 5) { cChannel *Channel = new cChannel; Channel->SetId(ts.getOriginalNetworkId(), ts.getTransportStreamId(), 0, 0); if (Channel->SetCableTransponderData(Source, Frequency, Modulation, SymbolRate, CodeRate)) @@ -193,12 +193,12 @@ void cNitFilter::Process(u_short Pid, u_char Tid, const u_char *Data, int Length bool found = false; for (cChannel *Channel = Channels.First(); Channel; Channel = Channels.Next(Channel)) { if (!Channel->GroupSep() && Channel->Source() == Source && Channel->Nid() == ts.getOriginalNetworkId() && Channel->Tid() == ts.getTransportStreamId()) { - if (Setup.UpdateChannels >= 4) + if (Setup.UpdateChannels >= 5) Channel->SetTerrTransponderData(Source, Frequency, Bandwidth, Constellation, Hierarchy, CodeRateHP, CodeRateLP, GuardInterval, TransmissionMode); found = true; } } - if (!found && Setup.UpdateChannels >= 4) { + if (!found && Setup.UpdateChannels >= 5) { cChannel *Channel = new cChannel; Channel->SetId(ts.getOriginalNetworkId(), ts.getTransportStreamId(), 0, 0); if (Channel->SetTerrTransponderData(Source, Frequency, Bandwidth, Constellation, Hierarchy, CodeRateHP, CodeRateLP, GuardInterval, TransmissionMode)) diff --git a/sdt.c b/sdt.c index 74c55032..f42b0855 100644 --- a/sdt.c +++ b/sdt.c @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: sdt.c 1.15 2005/08/27 09:27:47 kls Exp $ + * $Id: sdt.c 1.16 2006/04/15 14:12:21 kls Exp $ */ #include "sdt.h" @@ -78,7 +78,7 @@ void cSdtFilter::Process(u_short Pid, u_char Tid, const u_char *Data, int Length char *pp = compactspace(ProviderNameBuf); if (channel) { channel->SetId(sdt.getOriginalNetworkId(), sdt.getTransportStreamId(), SiSdtService.getServiceId()); - if (Setup.UpdateChannels >= 1) + if (Setup.UpdateChannels == 1 || Setup.UpdateChannels >= 3) channel->SetName(pn, ps, pp); // Using SiSdtService.getFreeCaMode() is no good, because some // tv stations set this flag even for non-encrypted channels :-( @@ -86,7 +86,7 @@ void cSdtFilter::Process(u_short Pid, u_char Tid, const u_char *Data, int Length // and would have been overwritten with real CA values later: // channel->SetCa(SiSdtService.getFreeCaMode() ? 0xFFFF : 0); } - else if (*pn && Setup.UpdateChannels >= 3) { + else if (*pn && Setup.UpdateChannels >= 4) { channel = Channels.NewChannel(Channel(), pn, ps, pp, sdt.getOriginalNetworkId(), sdt.getTransportStreamId(), SiSdtService.getServiceId()); patFilter->Trigger(); } @@ -111,7 +111,7 @@ void cSdtFilter::Process(u_short Pid, u_char Tid, const u_char *Data, int Length SI::NVODReferenceDescriptor::Service Service; for (SI::Loop::Iterator it; nrd->serviceLoop.getNext(Service, it); ) { cChannel *link = Channels.GetByChannelID(tChannelID(Source(), Service.getOriginalNetworkId(), Service.getTransportStream(), Service.getServiceId())); - if (!link && Setup.UpdateChannels >= 3) { + if (!link && Setup.UpdateChannels >= 4) { link = Channels.NewChannel(Channel(), "NVOD", "", "", Service.getOriginalNetworkId(), Service.getTransportStream(), Service.getServiceId()); patFilter->Trigger(); }