1
0
mirror of https://github.com/VDR4Arch/vdr.git synced 2023-10-10 13:36:52 +02:00

Changes in the teletext PID no longer cause retuning

This commit is contained in:
Klaus Schmidinger 2013-11-04 10:11:51 +01:00
parent a48a0543c8
commit d7462ae5ad
3 changed files with 11 additions and 5 deletions

View File

@ -8032,7 +8032,7 @@ Video Disk Recorder Revision History
the last replayed recording (if any) by pressing Ok repeatedly in the Recordings the last replayed recording (if any) by pressing Ok repeatedly in the Recordings
menu. 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 - Changed the return value of cPositioner::HorizonLongitude() to 0 in case the
latitude of the antenna location is beyond +/-81 degrees. latitude of the antenna location is beyond +/-81 degrees.
@ -8055,3 +8055,5 @@ Video Disk Recorder Revision History
Strasser). Strasser).
- The new menu category mcRecordingEdit is now used to mark menus that edit recording - The new menu category mcRecordingEdit is now used to mark menus that edit recording
properties (suggested by Stefan Braun). properties (suggested by Stefan Braun).
- Changes in the teletext PID no longer cause retuning (and thus interrupting a
recording).

View File

@ -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.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" #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) 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; int mod = CHANNELMOD_NONE;
if (vpid != Vpid || ppid != Ppid || vtype != Vtype || tpid != Tpid) if (vpid != Vpid || ppid != Ppid || vtype != Vtype)
mod |= CHANNELMOD_PIDS; 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); 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) if (m & STRDIFF)
mod |= CHANNELMOD_LANGS; mod |= CHANNELMOD_LANGS;
@ -388,7 +390,8 @@ void cChannel::SetPids(int Vpid, int Ppid, int Vtype, int *Apids, int *Atypes, c
spids[MAXSPIDS] = 0; spids[MAXSPIDS] = 0;
tpid = Tpid; tpid = Tpid;
modification |= mod; modification |= mod;
Channels.SetModified(); if (Number())
Channels.SetModified();
} }
} }

View File

@ -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 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 #ifndef __CHANNELS_H
@ -22,6 +22,7 @@
#define CHANNELMOD_NAME 0x01 #define CHANNELMOD_NAME 0x01
#define CHANNELMOD_PIDS 0x02 #define CHANNELMOD_PIDS 0x02
#define CHANNELMOD_ID 0x04 #define CHANNELMOD_ID 0x04
#define CHANNELMOD_AUX 0x08
#define CHANNELMOD_CA 0x10 #define CHANNELMOD_CA 0x10
#define CHANNELMOD_TRANSP 0x20 #define CHANNELMOD_TRANSP 0x20
#define CHANNELMOD_LANGS 0x40 #define CHANNELMOD_LANGS 0x40