mirror of
https://github.com/VDR4Arch/vdr.git
synced 2023-10-10 13:36:52 +02:00
Fixed setting the source value of newly created channels, in case the NIT is received from a different, but very close satellite position
This commit is contained in:
parent
52b1e2a9ff
commit
70eb639c41
4
HISTORY
4
HISTORY
@ -8596,7 +8596,7 @@ Video Disk Recorder Revision History
|
||||
- Bumped all version numbers to 2.2.0.
|
||||
- Official release.
|
||||
|
||||
2015-03-12: Version 2.3.1
|
||||
2015-03-13: Version 2.3.1
|
||||
|
||||
- The new function cOsd::MaxPixmapSize() can be called to determine the maximum size
|
||||
a cPixmap may have on the current OSD. The 'osddemo' example has been modified
|
||||
@ -8611,3 +8611,5 @@ Video Disk Recorder Revision History
|
||||
You can get the latest version of this plugin from the author's repository at
|
||||
https://bitbucket.org/powARman/dvbhddevice.
|
||||
- Added a section about Output Devices to the INSTALL file.
|
||||
- Fixed setting the source value of newly created channels, in case the NIT is
|
||||
received from a different, but very close satellite position.
|
||||
|
14
channels.c
14
channels.c
@ -4,7 +4,7 @@
|
||||
* See the main source file 'vdr.c' for copyright information and
|
||||
* how to reach the author.
|
||||
*
|
||||
* $Id: channels.c 3.8 2015/02/01 13:47:05 kls Exp $
|
||||
* $Id: channels.c 4.1 2015/03/13 11:34:28 kls Exp $
|
||||
*/
|
||||
|
||||
#include "channels.h"
|
||||
@ -229,6 +229,18 @@ bool cChannel::SetTransponderData(int Source, int Frequency, int Srate, const ch
|
||||
return true;
|
||||
}
|
||||
|
||||
void cChannel::SetSource(int Source)
|
||||
{
|
||||
if (source != Source) {
|
||||
if (Number()) {
|
||||
dsyslog("changing source of channel %d (%s) from %s to %s", Number(), name, *cSource::ToString(source), *cSource::ToString(Source));
|
||||
modification |= CHANNELMOD_TRANSP;
|
||||
Channels.SetModified();
|
||||
}
|
||||
source = Source;
|
||||
}
|
||||
}
|
||||
|
||||
void cChannel::SetId(int Nid, int Tid, int Sid, int Rid)
|
||||
{
|
||||
if (nid != Nid || tid != Tid || sid != Sid || rid != Rid) {
|
||||
|
@ -4,7 +4,7 @@
|
||||
* See the main source file 'vdr.c' for copyright information and
|
||||
* how to reach the author.
|
||||
*
|
||||
* $Id: channels.h 3.3 2015/02/01 13:30:26 kls Exp $
|
||||
* $Id: channels.h 4.1 2015/03/13 11:20:50 kls Exp $
|
||||
*/
|
||||
|
||||
#ifndef __CHANNELS_H
|
||||
@ -193,6 +193,7 @@ public:
|
||||
time_t Seen(void) { return seen; }
|
||||
void CopyTransponderData(const cChannel *Channel);
|
||||
bool SetTransponderData(int Source, int Frequency, int Srate, const char *Parameters, bool Quiet = false);
|
||||
void SetSource(int Source);
|
||||
void SetId(int Nid, int Tid, int Sid, int Rid = 0);
|
||||
void SetLcn(int Lcn);
|
||||
void SetName(const char *Name, const char *ShortName, const char *Provider);
|
||||
|
3
sdt.c
3
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 3.4 2015/01/04 14:33:35 kls Exp $
|
||||
* $Id: sdt.c 4.1 2015/03/13 11:39:42 kls Exp $
|
||||
*/
|
||||
|
||||
#include "sdt.h"
|
||||
@ -105,6 +105,7 @@ void cSdtFilter::Process(u_short Pid, u_char Tid, const u_char *Data, int Length
|
||||
}
|
||||
else if (*pn && Setup.UpdateChannels >= 4) {
|
||||
channel = Channels.NewChannel(Channel(), pn, ps, pp, sdt.getOriginalNetworkId(), sdt.getTransportStreamId(), SiSdtService.getServiceId());
|
||||
channel->SetSource(source); // in case this comes from a satellite with a slightly different position
|
||||
patFilter->Trigger(SiSdtService.getServiceId());
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user