mirror of
https://github.com/VDR4Arch/vdr.git
synced 2023-10-10 13:36:52 +02:00
Fixed setting the time from the DVB data stream
This commit is contained in:
parent
26b43bde81
commit
38c8159730
@ -475,6 +475,8 @@ J
|
|||||||
Helmut Auer <vdr@helmutauer.de>
|
Helmut Auer <vdr@helmutauer.de>
|
||||||
for reporting a superfluous error message in cLockFile
|
for reporting a superfluous error message in cLockFile
|
||||||
for suggesting to make the "Zap timeout" a setup variable
|
for suggesting to make the "Zap timeout" a setup variable
|
||||||
|
for fixing a frequency/transponder handling mixup when setting the time from the
|
||||||
|
DVB data stream
|
||||||
|
|
||||||
Jeremy Hall <jhall@UU.NET>
|
Jeremy Hall <jhall@UU.NET>
|
||||||
for fixing an incomplete initialization of the filter parameters in eit.c
|
for fixing an incomplete initialization of the filter parameters in eit.c
|
||||||
|
5
HISTORY
5
HISTORY
@ -2799,3 +2799,8 @@ Video Disk Recorder Revision History
|
|||||||
going wrong here...
|
going wrong here...
|
||||||
- Added missing NULL checks when accessing sectionHandler in device.c (thanks to
|
- Added missing NULL checks when accessing sectionHandler in device.c (thanks to
|
||||||
Pekka Virtanen).
|
Pekka Virtanen).
|
||||||
|
- Fixed setting the time from the DVB data stream (thanks to Helmut Auer for
|
||||||
|
pointing out a frequency/transponder handling mixup). This now also takes the
|
||||||
|
actual source (sat, cable etc.) into account. Please go into "Setup/EPG" and
|
||||||
|
set the "Set system time" and "Use time from transponder" parameters accordingly
|
||||||
|
(this is necessary even if you have already set them before!).
|
||||||
|
5
config.c
5
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.126 2004/05/16 10:08:09 kls Exp $
|
* $Id: config.c 1.127 2004/05/16 12:43:55 kls Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
@ -258,6 +258,7 @@ cSetup::cSetup(void)
|
|||||||
LnbFrequHi = 10600;
|
LnbFrequHi = 10600;
|
||||||
DiSEqC = 0;
|
DiSEqC = 0;
|
||||||
SetSystemTime = 0;
|
SetSystemTime = 0;
|
||||||
|
TimeSource = 0;
|
||||||
TimeTransponder = 0;
|
TimeTransponder = 0;
|
||||||
MarginStart = 2;
|
MarginStart = 2;
|
||||||
MarginStop = 10;
|
MarginStop = 10;
|
||||||
@ -410,6 +411,7 @@ bool cSetup::Parse(const char *Name, const char *Value)
|
|||||||
else if (!strcasecmp(Name, "LnbFrequHi")) LnbFrequHi = atoi(Value);
|
else if (!strcasecmp(Name, "LnbFrequHi")) LnbFrequHi = atoi(Value);
|
||||||
else if (!strcasecmp(Name, "DiSEqC")) DiSEqC = atoi(Value);
|
else if (!strcasecmp(Name, "DiSEqC")) DiSEqC = atoi(Value);
|
||||||
else if (!strcasecmp(Name, "SetSystemTime")) SetSystemTime = atoi(Value);
|
else if (!strcasecmp(Name, "SetSystemTime")) SetSystemTime = atoi(Value);
|
||||||
|
else if (!strcasecmp(Name, "TimeSource")) TimeSource = cSource::FromString(Value);
|
||||||
else if (!strcasecmp(Name, "TimeTransponder")) TimeTransponder = atoi(Value);
|
else if (!strcasecmp(Name, "TimeTransponder")) TimeTransponder = atoi(Value);
|
||||||
else if (!strcasecmp(Name, "MarginStart")) MarginStart = atoi(Value);
|
else if (!strcasecmp(Name, "MarginStart")) MarginStart = atoi(Value);
|
||||||
else if (!strcasecmp(Name, "MarginStop")) MarginStop = atoi(Value);
|
else if (!strcasecmp(Name, "MarginStop")) MarginStop = atoi(Value);
|
||||||
@ -469,6 +471,7 @@ bool cSetup::Save(void)
|
|||||||
Store("LnbFrequHi", LnbFrequHi);
|
Store("LnbFrequHi", LnbFrequHi);
|
||||||
Store("DiSEqC", DiSEqC);
|
Store("DiSEqC", DiSEqC);
|
||||||
Store("SetSystemTime", SetSystemTime);
|
Store("SetSystemTime", SetSystemTime);
|
||||||
|
Store("TimeSource", cSource::ToString(TimeSource));
|
||||||
Store("TimeTransponder", TimeTransponder);
|
Store("TimeTransponder", TimeTransponder);
|
||||||
Store("MarginStart", MarginStart);
|
Store("MarginStart", MarginStart);
|
||||||
Store("MarginStop", MarginStop);
|
Store("MarginStop", MarginStop);
|
||||||
|
3
config.h
3
config.h
@ -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.h 1.192 2004/05/08 09:18:36 kls Exp $
|
* $Id: config.h 1.193 2004/05/16 12:41:43 kls Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef __CONFIG_H
|
#ifndef __CONFIG_H
|
||||||
@ -219,6 +219,7 @@ public:
|
|||||||
int LnbFrequHi;
|
int LnbFrequHi;
|
||||||
int DiSEqC;
|
int DiSEqC;
|
||||||
int SetSystemTime;
|
int SetSystemTime;
|
||||||
|
int TimeSource;
|
||||||
int TimeTransponder;
|
int TimeTransponder;
|
||||||
int MarginStart, MarginStop;
|
int MarginStart, MarginStop;
|
||||||
int EPGLanguages[I18nNumLanguages + 1];
|
int EPGLanguages[I18nNumLanguages + 1];
|
||||||
|
4
menu.c
4
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.299 2004/05/15 14:15:33 kls Exp $
|
* $Id: menu.c 1.300 2004/05/16 12:47:22 kls Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "menu.h"
|
#include "menu.h"
|
||||||
@ -1795,7 +1795,7 @@ void cMenuSetupEPG::Setup(void)
|
|||||||
Add(new cMenuEditIntItem( tr("Setup.EPG$EPG linger time (min)"), &data.EPGLinger, 0));
|
Add(new cMenuEditIntItem( tr("Setup.EPG$EPG linger time (min)"), &data.EPGLinger, 0));
|
||||||
Add(new cMenuEditBoolItem(tr("Setup.EPG$Set system time"), &data.SetSystemTime));
|
Add(new cMenuEditBoolItem(tr("Setup.EPG$Set system time"), &data.SetSystemTime));
|
||||||
if (data.SetSystemTime)
|
if (data.SetSystemTime)
|
||||||
Add(new cMenuEditTranItem(tr("Setup.EPG$Use time from transponder"), &data.TimeTransponder));
|
Add(new cMenuEditTranItem(tr("Setup.EPG$Use time from transponder"), &data.TimeTransponder, &data.TimeSource));
|
||||||
Add(new cMenuEditIntItem( tr("Setup.EPG$Preferred languages"), &numLanguages, 0, I18nNumLanguages));
|
Add(new cMenuEditIntItem( tr("Setup.EPG$Preferred languages"), &numLanguages, 0, I18nNumLanguages));
|
||||||
for (int i = 0; i < numLanguages; i++)
|
for (int i = 0; i < numLanguages; i++)
|
||||||
Add(new cMenuEditStraItem(tr("Setup.EPG$Preferred language"), &data.EPGLanguages[i], I18nNumLanguages, I18nLanguages()));
|
Add(new cMenuEditStraItem(tr("Setup.EPG$Preferred language"), &data.EPGLanguages[i], I18nNumLanguages, I18nLanguages()));
|
||||||
|
13
menuitems.c
13
menuitems.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: menuitems.c 1.17 2004/05/02 10:37:34 kls Exp $
|
* $Id: menuitems.c 1.18 2004/05/16 12:47:02 kls Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "menuitems.h"
|
#include "menuitems.h"
|
||||||
@ -502,14 +502,15 @@ eOSState cMenuEditChanItem::ProcessKey(eKeys Key)
|
|||||||
|
|
||||||
// --- cMenuEditTranItem -----------------------------------------------------
|
// --- cMenuEditTranItem -----------------------------------------------------
|
||||||
|
|
||||||
cMenuEditTranItem::cMenuEditTranItem(const char *Name, int *Value)
|
cMenuEditTranItem::cMenuEditTranItem(const char *Name, int *Value, int *Source)
|
||||||
:cMenuEditChanItem(Name, Value)
|
:cMenuEditChanItem(Name, Value)
|
||||||
{
|
{
|
||||||
number = 0;
|
number = 0;
|
||||||
|
source = Source;
|
||||||
transponder = *Value;
|
transponder = *Value;
|
||||||
cChannel *channel = Channels.First();
|
cChannel *channel = Channels.First();
|
||||||
while (channel) {
|
while (channel) {
|
||||||
if (!channel->GroupSep() && ISTRANSPONDER(channel->Frequency(), *Value)) {
|
if (!channel->GroupSep() && *source == channel->Source() && ISTRANSPONDER(channel->Transponder(), *Value)) {
|
||||||
number = channel->Number();
|
number = channel->Number();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -526,8 +527,10 @@ eOSState cMenuEditTranItem::ProcessKey(eKeys Key)
|
|||||||
eOSState state = cMenuEditChanItem::ProcessKey(Key);
|
eOSState state = cMenuEditChanItem::ProcessKey(Key);
|
||||||
number = *value;
|
number = *value;
|
||||||
cChannel *channel = Channels.GetByNumber(*value);
|
cChannel *channel = Channels.GetByNumber(*value);
|
||||||
if (channel)
|
if (channel) {
|
||||||
transponder = channel->Frequency();
|
*source = channel->Source();
|
||||||
|
transponder = channel->Transponder();
|
||||||
|
}
|
||||||
*value = transponder;
|
*value = transponder;
|
||||||
return state;
|
return state;
|
||||||
}
|
}
|
||||||
|
@ -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: menuitems.h 1.8 2004/04/30 13:45:28 kls Exp $
|
* $Id: menuitems.h 1.9 2004/05/16 12:45:14 kls Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef __MENUITEMS_H
|
#ifndef __MENUITEMS_H
|
||||||
@ -111,9 +111,10 @@ public:
|
|||||||
class cMenuEditTranItem : public cMenuEditChanItem {
|
class cMenuEditTranItem : public cMenuEditChanItem {
|
||||||
private:
|
private:
|
||||||
int number;
|
int number;
|
||||||
|
int *source;
|
||||||
int transponder;
|
int transponder;
|
||||||
public:
|
public:
|
||||||
cMenuEditTranItem(const char *Name, int *Value);
|
cMenuEditTranItem(const char *Name, int *Value, int *Source);
|
||||||
virtual eOSState ProcessKey(eKeys Key);
|
virtual eOSState ProcessKey(eKeys Key);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user