mirror of
https://github.com/VDR4Arch/vdr.git
synced 2023-10-10 13:36:52 +02:00
The "Update channels" parameter in the "Setup/DVB" menu has been extended to allow updating only the PIDs
This commit is contained in:
parent
50b77a6d4b
commit
94c729a6fa
4
HISTORY
4
HISTORY
@ -4537,3 +4537,7 @@ Video Disk Recorder Revision History
|
|||||||
- Implemented kNext and kPrev keys (based on a patch from Peter Juszack).
|
- Implemented kNext and kPrev keys (based on a patch from Peter Juszack).
|
||||||
See MANUAL for details.
|
See MANUAL for details.
|
||||||
- Implemented kChanPrev (from a patch from Darren Salt).
|
- 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.
|
||||||
|
8
MANUAL
8
MANUAL
@ -639,11 +639,11 @@ Version 1.3
|
|||||||
If turned off, Dolby Digital tracks also don't appear in the
|
If turned off, Dolby Digital tracks also don't appear in the
|
||||||
"Audio" menu.
|
"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
|
no update, '1' will only update channel names, '2' will
|
||||||
update channel names and PIDs, '3' will perform all
|
only update PIDs, '3' will update channel names and PIDs,
|
||||||
updates and also add newly found channels, and '4' will
|
'4' will perform all updates and also add newly found channels,
|
||||||
also add newly found transponders.
|
and '5' will also add newly found transponders.
|
||||||
|
|
||||||
Audio languages = 0 Some tv stations broadcast various audio tracks in different
|
Audio languages = 0 Some tv stations broadcast various audio tracks in different
|
||||||
languages. This option allows you to define which language(s)
|
languages. This option allows you to define which language(s)
|
||||||
|
4
config.c
4
config.c
@ -4,7 +4,7 @@
|
|||||||
* See the main source file 'vdr.c' for copyright information and
|
* See the main source file 'vdr.c' for copyright information and
|
||||||
* how to reach the author.
|
* 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"
|
#include "config.h"
|
||||||
@ -251,7 +251,7 @@ cSetup::cSetup(void)
|
|||||||
RecordingDirs = 1;
|
RecordingDirs = 1;
|
||||||
VideoDisplayFormat = 1;
|
VideoDisplayFormat = 1;
|
||||||
VideoFormat = 0;
|
VideoFormat = 0;
|
||||||
UpdateChannels = 4;
|
UpdateChannels = 5;
|
||||||
UseDolbyDigital = 1;
|
UseDolbyDigital = 1;
|
||||||
ChannelInfoPos = 0;
|
ChannelInfoPos = 0;
|
||||||
ChannelInfoTime = 5;
|
ChannelInfoTime = 5;
|
||||||
|
6
eit.c
6
eit.c
@ -8,7 +8,7 @@
|
|||||||
* Robert Schneider <Robert.Schneider@web.de> and Rolf Hakenes <hakenes@hippomi.de>.
|
* Robert Schneider <Robert.Schneider@web.de> and Rolf Hakenes <hakenes@hippomi.de>.
|
||||||
* Adapted to 'libsi' for VDR 1.3.0 by Marcel Wiesweg <marcel.wiesweg@gmx.de>.
|
* Adapted to 'libsi' for VDR 1.3.0 by Marcel Wiesweg <marcel.wiesweg@gmx.de>.
|
||||||
*
|
*
|
||||||
* $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"
|
#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
|
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
|
//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 (link) {
|
||||||
if (Setup.UpdateChannels >= 1)
|
if (Setup.UpdateChannels == 1 || Setup.UpdateChannels >= 3)
|
||||||
link->SetName(linkName, "", "");
|
link->SetName(linkName, "", "");
|
||||||
}
|
}
|
||||||
else if (Setup.UpdateChannels >= 3) {
|
else if (Setup.UpdateChannels >= 4) {
|
||||||
link = Channels.NewChannel(channel, linkName, "", "", ld->getOriginalNetworkId(), ld->getTransportStreamId(), ld->getServiceId());
|
link = Channels.NewChannel(channel, linkName, "", "", ld->getOriginalNetworkId(), ld->getTransportStreamId(), ld->getServiceId());
|
||||||
//XXX patFilter->Trigger();
|
//XXX patFilter->Trigger();
|
||||||
}
|
}
|
||||||
|
24
i18n.c
24
i18n.c
@ -4,7 +4,7 @@
|
|||||||
* See the main source file 'vdr.c' for copyright information and
|
* See the main source file 'vdr.c' for copyright information and
|
||||||
* how to reach the author.
|
* 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:
|
* Translations provided by:
|
||||||
*
|
*
|
||||||
@ -3722,6 +3722,28 @@ const tI18nPhrase Phrases[] = {
|
|||||||
"kun navne",
|
"kun navne",
|
||||||
"jen názvy",
|
"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",
|
{ "names and PIDs",
|
||||||
"Namen und PIDs",
|
"Namen und PIDs",
|
||||||
"imena in PIDe",
|
"imena in PIDe",
|
||||||
|
13
menu.c
13
menu.c
@ -4,7 +4,7 @@
|
|||||||
* See the main source file 'vdr.c' for copyright information and
|
* See the main source file 'vdr.c' for copyright information and
|
||||||
* how to reach the author.
|
* 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"
|
#include "menu.h"
|
||||||
@ -2299,7 +2299,7 @@ private:
|
|||||||
int numAudioLanguages;
|
int numAudioLanguages;
|
||||||
void Setup(void);
|
void Setup(void);
|
||||||
const char *videoDisplayFormatTexts[3];
|
const char *videoDisplayFormatTexts[3];
|
||||||
const char *updateChannelsTexts[5];
|
const char *updateChannelsTexts[6];
|
||||||
public:
|
public:
|
||||||
cMenuSetupDVB(void);
|
cMenuSetupDVB(void);
|
||||||
virtual eOSState ProcessKey(eKeys Key);
|
virtual eOSState ProcessKey(eKeys Key);
|
||||||
@ -2315,9 +2315,10 @@ cMenuSetupDVB::cMenuSetupDVB(void)
|
|||||||
videoDisplayFormatTexts[2] = tr("center cut out");
|
videoDisplayFormatTexts[2] = tr("center cut out");
|
||||||
updateChannelsTexts[0] = tr("no");
|
updateChannelsTexts[0] = tr("no");
|
||||||
updateChannelsTexts[1] = tr("names only");
|
updateChannelsTexts[1] = tr("names only");
|
||||||
updateChannelsTexts[2] = tr("names and PIDs");
|
updateChannelsTexts[2] = tr("PIDs only");
|
||||||
updateChannelsTexts[3] = tr("add new channels");
|
updateChannelsTexts[3] = tr("names and PIDs");
|
||||||
updateChannelsTexts[4] = tr("add new transponders");
|
updateChannelsTexts[4] = tr("add new channels");
|
||||||
|
updateChannelsTexts[5] = tr("add new transponders");
|
||||||
|
|
||||||
SetSection(tr("DVB"));
|
SetSection(tr("DVB"));
|
||||||
Setup();
|
Setup();
|
||||||
@ -2334,7 +2335,7 @@ void cMenuSetupDVB::Setup(void)
|
|||||||
if (data.VideoFormat == 0)
|
if (data.VideoFormat == 0)
|
||||||
Add(new cMenuEditStraItem(tr("Setup.DVB$Video display format"), &data.VideoDisplayFormat, 3, videoDisplayFormatTexts));
|
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 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));
|
Add(new cMenuEditIntItem( tr("Setup.DVB$Audio languages"), &numAudioLanguages, 0, I18nNumLanguages));
|
||||||
for (int i = 0; i < numAudioLanguages; i++)
|
for (int i = 0; i < numAudioLanguages; i++)
|
||||||
Add(new cMenuEditStraItem(tr("Setup.DVB$Audio language"), &data.AudioLanguages[i], I18nNumLanguages, I18nLanguages()));
|
Add(new cMenuEditStraItem(tr("Setup.DVB$Audio language"), &data.AudioLanguages[i], I18nNumLanguages, I18nLanguages()));
|
||||||
|
14
nit.c
14
nit.c
@ -4,7 +4,7 @@
|
|||||||
* See the main source file 'vdr.c' for copyright information and
|
* See the main source file 'vdr.c' for copyright information and
|
||||||
* how to reach the author.
|
* 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"
|
#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;
|
bool found = false;
|
||||||
for (cChannel *Channel = Channels.First(); Channel; Channel = Channels.Next(Channel)) {
|
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 (!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);
|
Channel->SetSatTransponderData(Source, Frequency, Polarization, SymbolRate, CodeRate);
|
||||||
found = true;
|
found = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (!found && Setup.UpdateChannels >= 4) {
|
if (!found && Setup.UpdateChannels >= 5) {
|
||||||
cChannel *Channel = new cChannel;
|
cChannel *Channel = new cChannel;
|
||||||
Channel->SetId(ts.getOriginalNetworkId(), ts.getTransportStreamId(), 0, 0);
|
Channel->SetId(ts.getOriginalNetworkId(), ts.getTransportStreamId(), 0, 0);
|
||||||
if (Channel->SetSatTransponderData(Source, Frequency, Polarization, SymbolRate, CodeRate))
|
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;
|
bool found = false;
|
||||||
for (cChannel *Channel = Channels.First(); Channel; Channel = Channels.Next(Channel)) {
|
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 (!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);
|
Channel->SetCableTransponderData(Source, Frequency, Modulation, SymbolRate, CodeRate);
|
||||||
found = true;
|
found = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (!found && Setup.UpdateChannels >= 4) {
|
if (!found && Setup.UpdateChannels >= 5) {
|
||||||
cChannel *Channel = new cChannel;
|
cChannel *Channel = new cChannel;
|
||||||
Channel->SetId(ts.getOriginalNetworkId(), ts.getTransportStreamId(), 0, 0);
|
Channel->SetId(ts.getOriginalNetworkId(), ts.getTransportStreamId(), 0, 0);
|
||||||
if (Channel->SetCableTransponderData(Source, Frequency, Modulation, SymbolRate, CodeRate))
|
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;
|
bool found = false;
|
||||||
for (cChannel *Channel = Channels.First(); Channel; Channel = Channels.Next(Channel)) {
|
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 (!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);
|
Channel->SetTerrTransponderData(Source, Frequency, Bandwidth, Constellation, Hierarchy, CodeRateHP, CodeRateLP, GuardInterval, TransmissionMode);
|
||||||
found = true;
|
found = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (!found && Setup.UpdateChannels >= 4) {
|
if (!found && Setup.UpdateChannels >= 5) {
|
||||||
cChannel *Channel = new cChannel;
|
cChannel *Channel = new cChannel;
|
||||||
Channel->SetId(ts.getOriginalNetworkId(), ts.getTransportStreamId(), 0, 0);
|
Channel->SetId(ts.getOriginalNetworkId(), ts.getTransportStreamId(), 0, 0);
|
||||||
if (Channel->SetTerrTransponderData(Source, Frequency, Bandwidth, Constellation, Hierarchy, CodeRateHP, CodeRateLP, GuardInterval, TransmissionMode))
|
if (Channel->SetTerrTransponderData(Source, Frequency, Bandwidth, Constellation, Hierarchy, CodeRateHP, CodeRateLP, GuardInterval, TransmissionMode))
|
||||||
|
8
sdt.c
8
sdt.c
@ -4,7 +4,7 @@
|
|||||||
* See the main source file 'vdr.c' for copyright information and
|
* See the main source file 'vdr.c' for copyright information and
|
||||||
* how to reach the author.
|
* 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"
|
#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);
|
char *pp = compactspace(ProviderNameBuf);
|
||||||
if (channel) {
|
if (channel) {
|
||||||
channel->SetId(sdt.getOriginalNetworkId(), sdt.getTransportStreamId(), SiSdtService.getServiceId());
|
channel->SetId(sdt.getOriginalNetworkId(), sdt.getTransportStreamId(), SiSdtService.getServiceId());
|
||||||
if (Setup.UpdateChannels >= 1)
|
if (Setup.UpdateChannels == 1 || Setup.UpdateChannels >= 3)
|
||||||
channel->SetName(pn, ps, pp);
|
channel->SetName(pn, ps, pp);
|
||||||
// Using SiSdtService.getFreeCaMode() is no good, because some
|
// Using SiSdtService.getFreeCaMode() is no good, because some
|
||||||
// tv stations set this flag even for non-encrypted channels :-(
|
// 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:
|
// and would have been overwritten with real CA values later:
|
||||||
// channel->SetCa(SiSdtService.getFreeCaMode() ? 0xFFFF : 0);
|
// 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());
|
channel = Channels.NewChannel(Channel(), pn, ps, pp, sdt.getOriginalNetworkId(), sdt.getTransportStreamId(), SiSdtService.getServiceId());
|
||||||
patFilter->Trigger();
|
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;
|
SI::NVODReferenceDescriptor::Service Service;
|
||||||
for (SI::Loop::Iterator it; nrd->serviceLoop.getNext(Service, it); ) {
|
for (SI::Loop::Iterator it; nrd->serviceLoop.getNext(Service, it); ) {
|
||||||
cChannel *link = Channels.GetByChannelID(tChannelID(Source(), Service.getOriginalNetworkId(), Service.getTransportStream(), Service.getServiceId()));
|
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());
|
link = Channels.NewChannel(Channel(), "NVOD", "", "", Service.getOriginalNetworkId(), Service.getTransportStream(), Service.getServiceId());
|
||||||
patFilter->Trigger();
|
patFilter->Trigger();
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user