mirror of
https://github.com/VDR4Arch/vdr.git
synced 2023-10-10 13:36:52 +02:00
Added the 'portal name' to cChannels
This commit is contained in:
parent
fd9c2d298c
commit
bd62ca6abc
@ -1068,6 +1068,7 @@ Marco Schl
|
|||||||
errors don't occur any more
|
errors don't occur any more
|
||||||
for reporting a problem with initialization of the main program loop variables
|
for reporting a problem with initialization of the main program loop variables
|
||||||
with older compiler versions
|
with older compiler versions
|
||||||
|
for adding the 'portal name' to cChannels
|
||||||
|
|
||||||
Jürgen Schmitz <j.schmitz@web.de>
|
Jürgen Schmitz <j.schmitz@web.de>
|
||||||
for reporting a bug in displaying the current channel when switching via the SVDRP
|
for reporting a bug in displaying the current channel when switching via the SVDRP
|
||||||
|
1
HISTORY
1
HISTORY
@ -3103,3 +3103,4 @@ Video Disk Recorder Revision History
|
|||||||
true to make it return the name, if no short name is available.
|
true to make it return the name, if no short name is available.
|
||||||
The sequence of 'name' and 'short name' in the channels.conf file has been
|
The sequence of 'name' and 'short name' in the channels.conf file has been
|
||||||
swapped (see man vdr(5)).
|
swapped (see man vdr(5)).
|
||||||
|
- Added the 'portal name' to cChannels (thanks to Marco Schlüßler).
|
||||||
|
18
channels.c
18
channels.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: channels.c 1.29 2004/10/31 12:52:50 kls Exp $
|
* $Id: channels.c 1.30 2004/10/31 12:54:06 kls Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "channels.h"
|
#include "channels.h"
|
||||||
@ -169,6 +169,7 @@ cChannel::cChannel(void)
|
|||||||
name = strdup("");
|
name = strdup("");
|
||||||
shortName = strdup("");
|
shortName = strdup("");
|
||||||
provider = strdup("");
|
provider = strdup("");
|
||||||
|
portalName = strdup("");
|
||||||
memset(&__BeginData__, 0, (char *)&__EndData__ - (char *)&__BeginData__);
|
memset(&__BeginData__, 0, (char *)&__EndData__ - (char *)&__BeginData__);
|
||||||
inversion = INVERSION_AUTO;
|
inversion = INVERSION_AUTO;
|
||||||
bandwidth = BANDWIDTH_AUTO;
|
bandwidth = BANDWIDTH_AUTO;
|
||||||
@ -188,6 +189,7 @@ cChannel::cChannel(const cChannel &Channel)
|
|||||||
name = strdup("");
|
name = strdup("");
|
||||||
shortName = strdup("");
|
shortName = strdup("");
|
||||||
provider = strdup("");
|
provider = strdup("");
|
||||||
|
portalName = strdup("");
|
||||||
*this = Channel;
|
*this = Channel;
|
||||||
vpid = 0;
|
vpid = 0;
|
||||||
ppid = 0;
|
ppid = 0;
|
||||||
@ -227,6 +229,7 @@ cChannel::~cChannel()
|
|||||||
free(name);
|
free(name);
|
||||||
free(shortName);
|
free(shortName);
|
||||||
free(provider);
|
free(provider);
|
||||||
|
free(portalName);
|
||||||
}
|
}
|
||||||
|
|
||||||
cChannel& cChannel::operator= (const cChannel &Channel)
|
cChannel& cChannel::operator= (const cChannel &Channel)
|
||||||
@ -234,6 +237,7 @@ cChannel& cChannel::operator= (const cChannel &Channel)
|
|||||||
name = strcpyrealloc(name, Channel.name);
|
name = strcpyrealloc(name, Channel.name);
|
||||||
shortName = strcpyrealloc(shortName, Channel.shortName);
|
shortName = strcpyrealloc(shortName, Channel.shortName);
|
||||||
provider = strcpyrealloc(provider, Channel.provider);
|
provider = strcpyrealloc(provider, Channel.provider);
|
||||||
|
portalName = strcpyrealloc(portalName, Channel.portalName);
|
||||||
memcpy(&__BeginData__, &Channel.__BeginData__, (char *)&Channel.__EndData__ - (char *)&Channel.__BeginData__);
|
memcpy(&__BeginData__, &Channel.__BeginData__, (char *)&Channel.__EndData__ - (char *)&Channel.__BeginData__);
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
@ -366,6 +370,18 @@ void cChannel::SetName(const char *Name, const char *ShortName, const char *Prov
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void cChannel::SetPortalName(const char *PortalName)
|
||||||
|
{
|
||||||
|
if (!isempty(PortalName) && strcmp(portalName, PortalName) != 0) {
|
||||||
|
if (Number()) {
|
||||||
|
dsyslog("changing portal name of channel %d from '%s' to '%s'", Number(), portalName, PortalName);
|
||||||
|
modification |= CHANNELMOD_NAME;
|
||||||
|
Channels.SetModified();
|
||||||
|
}
|
||||||
|
portalName = strcpyrealloc(portalName, PortalName);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
static bool IntArraysDiffer(const int *a, const int *b, const char na[][4] = NULL, const char nb[][4] = NULL)
|
static bool IntArraysDiffer(const int *a, const int *b, const char na[][4] = NULL, const char nb[][4] = NULL)
|
||||||
{
|
{
|
||||||
int i = 0;
|
int i = 0;
|
||||||
|
@ -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: channels.h 1.21 2004/10/31 12:41:38 kls Exp $
|
* $Id: channels.h 1.22 2004/10/31 12:54:26 kls Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef __CHANNELS_H
|
#ifndef __CHANNELS_H
|
||||||
@ -92,6 +92,7 @@ private:
|
|||||||
char *name;
|
char *name;
|
||||||
char *shortName;
|
char *shortName;
|
||||||
char *provider;
|
char *provider;
|
||||||
|
char *portalName;
|
||||||
int __BeginData__;
|
int __BeginData__;
|
||||||
int frequency; // MHz
|
int frequency; // MHz
|
||||||
int source;
|
int source;
|
||||||
@ -136,6 +137,7 @@ public:
|
|||||||
const char *Name(void) const { return name; }
|
const char *Name(void) const { return name; }
|
||||||
const char *ShortName(bool OrName = false) const { return (OrName && isempty(shortName)) ? name : shortName; }
|
const char *ShortName(bool OrName = false) const { return (OrName && isempty(shortName)) ? name : shortName; }
|
||||||
const char *Provider(void) const { return provider; }
|
const char *Provider(void) const { return provider; }
|
||||||
|
const char *PortalName(void) const { return portalName; }
|
||||||
int Frequency(void) const { return frequency; } ///< Returns the actual frequency, as given in 'channels.conf'
|
int Frequency(void) const { return frequency; } ///< Returns the actual frequency, as given in 'channels.conf'
|
||||||
int Transponder(void) const; ///< Returns the transponder frequency in MHz, plus the polarization in case of sat
|
int Transponder(void) const; ///< Returns the transponder frequency in MHz, plus the polarization in case of sat
|
||||||
static int Transponder(int Frequency, char Polarization); ///< builds the transponder from the given Frequency and Polarization
|
static int Transponder(int Frequency, char Polarization); ///< builds the transponder from the given Frequency and Polarization
|
||||||
@ -175,6 +177,7 @@ public:
|
|||||||
bool SetTerrTransponderData(int Source, int Frequency, int Bandwidth, int Modulation, int Hierarchy, int CodeRateH, int CodeRateL, int Guard, int Transmission);
|
bool SetTerrTransponderData(int Source, int Frequency, int Bandwidth, int Modulation, int Hierarchy, int CodeRateH, int CodeRateL, int Guard, int Transmission);
|
||||||
void SetId(int Nid, int Tid, int Sid, int Rid = 0);
|
void SetId(int Nid, int Tid, int Sid, int Rid = 0);
|
||||||
void SetName(const char *Name, const char *ShortName, const char *Provider);
|
void SetName(const char *Name, const char *ShortName, const char *Provider);
|
||||||
|
void SetPortalName(const char *PortalName);
|
||||||
void SetPids(int Vpid, int Ppid, int *Apids, char ALangs[][4], int *Dpids, char DLangs[][4], int Tpid);
|
void SetPids(int Vpid, int Ppid, int *Apids, char ALangs[][4], int *Dpids, char DLangs[][4], int Tpid);
|
||||||
void SetCaIds(const int *CaIds); // list must be zero-terminated
|
void SetCaIds(const int *CaIds); // list must be zero-terminated
|
||||||
void SetCaDescriptors(int Level);
|
void SetCaDescriptors(int Level);
|
||||||
|
8
eit.c
8
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.99 2004/10/31 12:41:04 kls Exp $
|
* $Id: eit.c 1.100 2004/10/31 12:56:24 kls Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "eit.h"
|
#include "eit.h"
|
||||||
@ -161,10 +161,10 @@ cEIT::cEIT(cSchedules *Schedules, int Source, u_char Tid, const u_char *Data)
|
|||||||
time_t now = time(NULL);
|
time_t now = time(NULL);
|
||||||
bool hit = SiEitEvent.getStartTime() <= now && now < SiEitEvent.getStartTime() + SiEitEvent.getDuration();
|
bool hit = SiEitEvent.getStartTime() <= now && now < SiEitEvent.getStartTime() + SiEitEvent.getDuration();
|
||||||
if (hit) {
|
if (hit) {
|
||||||
|
char linkName[ld->privateData.getLength() + 1];
|
||||||
|
strn0cpy(linkName, (const char *)ld->privateData.getData(), sizeof(linkName));
|
||||||
cChannel *link = Channels.GetByChannelID(linkID);
|
cChannel *link = Channels.GetByChannelID(linkID);
|
||||||
if (link != channel) { // only link to other channels, not the same one
|
if (link != channel) { // only link to other channels, not the same one
|
||||||
char linkName[ld->privateData.getLength() + 1];
|
|
||||||
strn0cpy(linkName, (const char *)ld->privateData.getData(), sizeof(linkName));
|
|
||||||
//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)
|
||||||
@ -180,6 +180,8 @@ cEIT::cEIT(cSchedules *Schedules, int Source, u_char Tid, const u_char *Data)
|
|||||||
LinkChannels->Add(new cLinkChannel(link));
|
LinkChannels->Add(new cLinkChannel(link));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
channel->SetPortalName(linkName);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user