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.
|
- Bumped all version numbers to 2.2.0.
|
||||||
- Official release.
|
- 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
|
- 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
|
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
|
You can get the latest version of this plugin from the author's repository at
|
||||||
https://bitbucket.org/powARman/dvbhddevice.
|
https://bitbucket.org/powARman/dvbhddevice.
|
||||||
- Added a section about Output Devices to the INSTALL file.
|
- 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
|
* See the main source file 'vdr.c' for copyright information and
|
||||||
* how to reach the author.
|
* 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"
|
#include "channels.h"
|
||||||
@ -229,6 +229,18 @@ bool cChannel::SetTransponderData(int Source, int Frequency, int Srate, const ch
|
|||||||
return true;
|
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)
|
void cChannel::SetId(int Nid, int Tid, int Sid, int Rid)
|
||||||
{
|
{
|
||||||
if (nid != Nid || tid != Tid || sid != Sid || rid != 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
|
* See the main source file 'vdr.c' for copyright information and
|
||||||
* how to reach the author.
|
* 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
|
#ifndef __CHANNELS_H
|
||||||
@ -193,6 +193,7 @@ public:
|
|||||||
time_t Seen(void) { return seen; }
|
time_t Seen(void) { return seen; }
|
||||||
void CopyTransponderData(const cChannel *Channel);
|
void CopyTransponderData(const cChannel *Channel);
|
||||||
bool SetTransponderData(int Source, int Frequency, int Srate, const char *Parameters, bool Quiet = false);
|
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 SetId(int Nid, int Tid, int Sid, int Rid = 0);
|
||||||
void SetLcn(int Lcn);
|
void SetLcn(int Lcn);
|
||||||
void SetName(const char *Name, const char *ShortName, const char *Provider);
|
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
|
* See the main source file 'vdr.c' for copyright information and
|
||||||
* how to reach the author.
|
* 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"
|
#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) {
|
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());
|
||||||
|
channel->SetSource(source); // in case this comes from a satellite with a slightly different position
|
||||||
patFilter->Trigger(SiSdtService.getServiceId());
|
patFilter->Trigger(SiSdtService.getServiceId());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user