summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKlaus Schmidinger <vdr@tvdr.de>2013-11-04 10:11:51 +0100
committerKlaus Schmidinger <vdr@tvdr.de>2013-11-04 10:11:51 +0100
commitd7462ae5adb392d1a17472b22d1d2fa850d90b6a (patch)
tree5ebefbeb06003ad4f71e83327ca85211375825ec
parenta48a0543c8260df206a95b6569b772b0c2e18300 (diff)
downloadvdr-d7462ae5adb392d1a17472b22d1d2fa850d90b6a.tar.gz
vdr-d7462ae5adb392d1a17472b22d1d2fa850d90b6a.tar.bz2
Changes in the teletext PID no longer cause retuning
-rw-r--r--HISTORY4
-rw-r--r--channels.c9
-rw-r--r--channels.h3
3 files changed, 11 insertions, 5 deletions
diff --git a/HISTORY b/HISTORY
index 529a8996..240d6880 100644
--- a/HISTORY
+++ b/HISTORY
@@ -8032,7 +8032,7 @@ Video Disk Recorder Revision History
the last replayed recording (if any) by pressing Ok repeatedly in the Recordings
menu.
-2013-11-03: Version 2.1.3
+2013-11-04: Version 2.1.3
- Changed the return value of cPositioner::HorizonLongitude() to 0 in case the
latitude of the antenna location is beyond +/-81 degrees.
@@ -8055,3 +8055,5 @@ Video Disk Recorder Revision History
Strasser).
- The new menu category mcRecordingEdit is now used to mark menus that edit recording
properties (suggested by Stefan Braun).
+- Changes in the teletext PID no longer cause retuning (and thus interrupting a
+ recording).
diff --git a/channels.c b/channels.c
index 7cb7e883..0c9dcedc 100644
--- a/channels.c
+++ b/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.1 2013/10/11 11:03:26 kls Exp $
+ * $Id: channels.c 3.2 2013/11/04 10:11:51 kls Exp $
*/
#include "channels.h"
@@ -330,8 +330,10 @@ static int IntArrayToString(char *s, const int *a, int Base = 10, const char n[]
void cChannel::SetPids(int Vpid, int Ppid, int Vtype, int *Apids, int *Atypes, char ALangs[][MAXLANGCODE2], int *Dpids, int *Dtypes, char DLangs[][MAXLANGCODE2], int *Spids, char SLangs[][MAXLANGCODE2], int Tpid)
{
int mod = CHANNELMOD_NONE;
- if (vpid != Vpid || ppid != Ppid || vtype != Vtype || tpid != Tpid)
+ if (vpid != Vpid || ppid != Ppid || vtype != Vtype)
mod |= CHANNELMOD_PIDS;
+ if (tpid != Tpid)
+ mod |= CHANNELMOD_AUX;
int m = IntArraysDiffer(apids, Apids, alangs, ALangs) | IntArraysDiffer(atypes, Atypes) | IntArraysDiffer(dpids, Dpids, dlangs, DLangs) | IntArraysDiffer(dtypes, Dtypes) | IntArraysDiffer(spids, Spids, slangs, SLangs);
if (m & STRDIFF)
mod |= CHANNELMOD_LANGS;
@@ -388,7 +390,8 @@ void cChannel::SetPids(int Vpid, int Ppid, int Vtype, int *Apids, int *Atypes, c
spids[MAXSPIDS] = 0;
tpid = Tpid;
modification |= mod;
- Channels.SetModified();
+ if (Number())
+ Channels.SetModified();
}
}
diff --git a/channels.h b/channels.h
index 815cb479..f719f1e5 100644
--- a/channels.h
+++ b/channels.h
@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
- * $Id: channels.h 2.16 2012/06/17 11:21:33 kls Exp $
+ * $Id: channels.h 3.1 2013/11/04 09:52:02 kls Exp $
*/
#ifndef __CHANNELS_H
@@ -22,6 +22,7 @@
#define CHANNELMOD_NAME 0x01
#define CHANNELMOD_PIDS 0x02
#define CHANNELMOD_ID 0x04
+#define CHANNELMOD_AUX 0x08
#define CHANNELMOD_CA 0x10
#define CHANNELMOD_TRANSP 0x20
#define CHANNELMOD_LANGS 0x40