Compare commits

...

15 Commits

Author SHA1 Message Date
Klaus Schmidinger
cb239f66fa Official release of version 1.4.7 2007-05-12 09:07:16 +02:00
Klaus Schmidinger
bb633986af Increased the maximum number of CA system ids to cope with the AlphaCrypt CAM's version 3.11 firmware 2007-04-30 13:00:51 +02:00
Klaus Schmidinger
22ed08808d Fixed handling ChannelUp/Down keys if there is currently a replay running 2007-04-30 09:50:37 +02:00
Klaus Schmidinger
b8a568b792 Fixed handling frequencies in NitFilter::Process() 2007-04-29 11:37:14 +02:00
Klaus Schmidinger
842efc15c5 Fixed a busy loop in fast forward if the next video data file is missing 2007-04-28 15:16:15 +02:00
Klaus Schmidinger
3606c5ef23 Adjusted release date 2007-03-03 15:57:20 +01:00
Klaus Schmidinger
4ac6e5def6 Updated the Finnish OSD texts 2007-02-25 12:09:29 +01:00
Klaus Schmidinger
2da45a1be1 Fixed handling error status in cDvbTuner::GetFrontendStatus() 2007-02-24 11:13:59 +01:00
Klaus Schmidinger
56e6593d79 Updated satellite names in 'sources.conf' 2007-02-17 16:16:24 +01:00
Klaus Schmidinger
2838e27fb9 Fixed a possible crash when loading an invalid XPM file 2007-02-17 16:07:47 +01:00
Klaus Schmidinger
9809d5a7cc Removed 'assert(0)' from cDvbSpuDecoder::setTime() 2007-02-03 10:17:33 +01:00
Klaus Schmidinger
11116e1d5b Adjusted release date 2007-01-28 09:58:12 +01:00
Klaus Schmidinger
7a3c088831 Updated Hermann Gausterer's email address 2007-01-26 14:14:33 +01:00
Klaus Schmidinger
1ebfeda1d2 Now using cPipe instead of popen() in cCommand::Execute() 2007-01-26 13:35:52 +01:00
Klaus Schmidinger
aec92c1334 Fixed i18n characters for the Hungarian texts 2007-01-26 13:14:47 +01:00
13 changed files with 164 additions and 116 deletions

View File

@ -360,6 +360,7 @@ Norbert Schmidt <nschmidt-nrw@t-online.de>
Thilo Wunderlich <wunderlich@speedway.org> Thilo Wunderlich <wunderlich@speedway.org>
for his help in keeping 'channels.conf' up to date for his help in keeping 'channels.conf' up to date
for reporting a problem with accessing the epg.data file before it is fully written for reporting a problem with accessing the epg.data file before it is fully written
for updating satellite names in 'sources.conf'
Stephan Schreiber <stephan@sschreiber.de> Stephan Schreiber <stephan@sschreiber.de>
for his support in keeping the Premiere World channels up to date in 'channels.conf.cable' for his support in keeping the Premiere World channels up to date in 'channels.conf.cable'
@ -1014,7 +1015,7 @@ Ralf Klueber <ralf.klueber@vodafone.com>
for reporting a bug in handling a channels.conf that contains a ":@nnn" line as for reporting a bug in handling a channels.conf that contains a ":@nnn" line as
its last entry its last entry
Hermann Gausterer <mrq1@gmx.net> Hermann Gausterer <vdr@mrq1.org>
for suggesting to switch to the recording channel in case the current channel for suggesting to switch to the recording channel in case the current channel
becomes unavailable becomes unavailable
@ -1114,6 +1115,10 @@ Reinhard Nissl <rnissl@gmx.de>
for changing the behaviour when hitting the end of a recording in fast forward mode for changing the behaviour when hitting the end of a recording in fast forward mode
for suggesting to give the cRemote::CallPlugin() function a boolean return value for suggesting to give the cRemote::CallPlugin() function a boolean return value
for fixing a possible crash in remux.c on 64-bit machines for fixing a possible crash in remux.c on 64-bit machines
for making cCommand::Execute() use cPipe instead of popen() to avoid problems
with open file handles when starting background commands
for fixing handling error status in cDvbTuner::GetFrontendStatus()
for fixing a busy loop in fast forward if the next video data file is missing
Richard Robson <richard_robson@beeb.net> Richard Robson <richard_robson@beeb.net>
for reporting freezing replay if a timer starts while in Transfer Mode from the for reporting freezing replay if a timer starts while in Transfer Mode from the
@ -1387,6 +1392,8 @@ Marco Schl
replay has been stopped replay has been stopped
for reporting a problem with displaying the replay mode symbol in case of "Multi for reporting a problem with displaying the replay mode symbol in case of "Multi
speed mode" speed mode"
for removing 'assert(0)' from cDvbSpuDecoder::setTime()
for fixing handling ChannelUp/Down keys if there is currently a replay running
Jürgen Schmitz <j.schmitz@web.de> Jürgen Schmitz <j.schmitz@web.de>
for reporting a bug in displaying the current channel when switching via the SVDRP for reporting a bug in displaying the current channel when switching via the SVDRP
@ -1692,6 +1699,7 @@ Henrik Niehaus <henrik.niehaus@gmx.de>
Martin Wache <M.Wache@gmx.net> Martin Wache <M.Wache@gmx.net>
for adding a sleep in cDvbPlayer::Action() in case there is no data to send to the for adding a sleep in cDvbPlayer::Action() in case there is no data to send to the
device, which avoids a busy loop on very fast machines device, which avoids a busy loop on very fast machines
for fixing a possible crash when loading an invalid XPM file
Matthias Lenk <matthias.lenk@amd.com> Matthias Lenk <matthias.lenk@amd.com>
for reporting an out-of-bounds memory access with audio language ids for reporting an out-of-bounds memory access with audio language ids
@ -1720,6 +1728,7 @@ Thomas G
for reporting a bug in the initial setting of the time transponder setup parameter for reporting a bug in the initial setting of the time transponder setup parameter
for suggesting to extend the version number reported with the '-V' option to also for suggesting to extend the version number reported with the '-V' option to also
show the current APIVERSION show the current APIVERSION
for fixing i18n characters for the Hungarian texts
David Woodhouse <dwmw2@infradead.org> David Woodhouse <dwmw2@infradead.org>
for his help in replacing the get/put_unaligned() macros from asm/unaligned.h with for his help in replacing the get/put_unaligned() macros from asm/unaligned.h with
@ -1999,6 +2008,7 @@ Anssi Hannula <anssi.hannula@gmail.com>
for suggesting that cDevice::GetDevice() should prefer any device that's already for suggesting that cDevice::GetDevice() should prefer any device that's already
receiving and doesn't require detatching receivers receiving and doesn't require detatching receivers
for improving handling Transfer Mode devices when selecting a device to receive for improving handling Transfer Mode devices when selecting a device to receive
for fixing handling frequencies in NitFilter::Process()
Antti Hartikainen <ami+vdr@ah.fi> Antti Hartikainen <ami+vdr@ah.fi>
for updating 'S13E' in 'sources.conf' for updating 'S13E' in 'sources.conf'

33
HISTORY
View File

@ -5028,3 +5028,36 @@ Video Disk Recorder Revision History
2007-01-07: Version 1.4.5 2007-01-07: Version 1.4.5
- Official release. - Official release.
2007-01-28: Version 1.4.5-1
- Fixed i18n characters for the Hungarian texts (thanks to Thomas Günther).
- Now using cPipe instead of popen() in cCommand::Execute() to avoid problems
with open file handles when starting background commands (thanks to Reinhard
Nissl).
2007-02-24: Version 1.4.5-2
- Removed 'assert(0)' from cDvbSpuDecoder::setTime() (thanks to Marco Schlüßler).
- Fixed a possible crash when loading an invalid XPM file (thanks to Martin Wache).
- Updated satellite names in 'sources.conf' (thanks to Thilo Wunderlich).
- Fixed handling error status in cDvbTuner::GetFrontendStatus() (thanks to
Reinhard Nissl).
2007-03-03: Version 1.4.6
- Updated the Finnish OSD texts (thanks to Rolf Ahrenberg).
2007-04-30: Version 1.4.6-1
- Fixed a busy loop in fast forward if the next video data file is missing
(thanks to Reinhard Nissl).
- Fixed handling frequencies in NitFilter::Process() (thanks to Anssi Hannula).
- Fixed handling ChannelUp/Down keys if there is currently a replay running
(thanks to Marco Schlüßler).
- Increased the maximum number of CA system ids to cope with the AlphaCrypt
CAM's version 3.11 firmware.
2007-05-12: Version 1.4.7
- Official release.

4
ci.c
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: ci.c 1.46 2007/01/05 10:08:46 kls Exp $ * $Id: ci.c 1.46.1.1 2007/04/30 12:58:41 kls Exp $
*/ */
#include "ci.h" #include "ci.h"
@ -943,7 +943,7 @@ void cCiCaPmt::AddCaDescriptors(int Length, const uint8_t *Data)
// --- cCiConditionalAccessSupport ------------------------------------------- // --- cCiConditionalAccessSupport -------------------------------------------
#define MAXCASYSTEMIDS 16 #define MAXCASYSTEMIDS 64
// CA Enable Ids: // CA Enable Ids:

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: config.c 1.146 2006/07/22 11:57:51 kls Exp $ * $Id: config.c 1.146.1.1 2007/01/26 13:32:19 kls Exp $
*/ */
#include "config.h" #include "config.h"
@ -67,8 +67,8 @@ const char *cCommand::Execute(const char *Parameters)
asprintf(&cmdbuf, "%s %s", command, Parameters); asprintf(&cmdbuf, "%s %s", command, Parameters);
const char *cmd = cmdbuf ? cmdbuf : command; const char *cmd = cmdbuf ? cmdbuf : command;
dsyslog("executing command '%s'", cmd); dsyslog("executing command '%s'", cmd);
FILE *p = popen(cmd, "r"); cPipe p;
if (p) { if (p.Open(cmd, "r")) {
int l = 0; int l = 0;
int c; int c;
while ((c = fgetc(p)) != EOF) { while ((c = fgetc(p)) != EOF) {
@ -78,7 +78,7 @@ const char *cCommand::Execute(const char *Parameters)
} }
if (result) if (result)
result[l] = 0; result[l] = 0;
pclose(p); p.Close();
} }
else else
esyslog("ERROR: can't open pipe for command '%s'", cmd); esyslog("ERROR: can't open pipe for command '%s'", cmd);

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: config.h 1.282 2007/01/07 13:45:19 kls Exp $ * $Id: config.h 1.282.1.5 2007/05/12 09:07:16 kls Exp $
*/ */
#ifndef __CONFIG_H #ifndef __CONFIG_H
@ -21,8 +21,8 @@
// VDR's own version number: // VDR's own version number:
#define VDRVERSION "1.4.5" #define VDRVERSION "1.4.7"
#define VDRVERSNUM 10405 // Version * 10000 + Major * 100 + Minor #define VDRVERSNUM 10407 // Version * 10000 + Major * 100 + Minor
// The plugin API's version number: // The plugin API's version number:

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: dvbdevice.c 1.160 2006/08/14 09:38:32 kls Exp $ * $Id: dvbdevice.c 1.160.1.1 2007/02/24 11:10:14 kls Exp $
*/ */
#include "dvbdevice.h" #include "dvbdevice.h"
@ -157,15 +157,14 @@ bool cDvbTuner::GetFrontendStatus(fe_status_t &Status, int TimeoutMs)
; // just to clear the event queue - we'll read the actual status below ; // just to clear the event queue - we'll read the actual status below
} }
} }
do { while (1) {
int stat = ioctl(fd_frontend, FE_READ_STATUS, &Status); int stat = ioctl(fd_frontend, FE_READ_STATUS, &Status);
if (stat == 0) if (stat == 0)
return true; return true;
if (stat < 0) { if (stat < 0 && errno == EINTR)
if (errno == EINTR)
continue; continue;
break;
} }
} while (0);
return false; return false;
} }

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: dvbplayer.c 1.45 2006/04/17 11:00:00 kls Exp $ * $Id: dvbplayer.c 1.45.1.1 2007/04/28 14:55:22 kls Exp $
*/ */
#include "dvbplayer.h" #include "dvbplayer.h"
@ -402,9 +402,11 @@ void cDvbPlayer::Action(void)
bool TimeShiftMode = index->IsStillRecording(); bool TimeShiftMode = index->IsStillRecording();
int Index = index->GetNextIFrame(readIndex, playDir == pdForward, &FileNumber, &FileOffset, &Length, TimeShiftMode); int Index = index->GetNextIFrame(readIndex, playDir == pdForward, &FileNumber, &FileOffset, &Length, TimeShiftMode);
if (Index >= 0) { if (Index >= 0) {
if (!NextFile(FileNumber, FileOffset)) if (!NextFile(FileNumber, FileOffset)) {
readIndex = Index;
continue; continue;
} }
}
else { else {
if (!TimeShiftMode && playDir == pdForward) { if (!TimeShiftMode && playDir == pdForward) {
// hit end of recording: signal end of file but don't change playMode // hit end of recording: signal end of file but don't change playMode

View File

@ -8,7 +8,7 @@
* *
* parts of this file are derived from the OMS program. * parts of this file are derived from the OMS program.
* *
* $Id: dvbspu.c 1.21 2006/04/17 11:00:00 kls Exp $ * $Id: dvbspu.c 1.21.1.1 2007/02/03 10:13:18 kls Exp $
*/ */
#include "dvbspu.h" #include "dvbspu.h"
@ -504,9 +504,8 @@ int cDvbSpuDecoder::setTime(uint32_t pts)
default: default:
esyslog("invalid sequence in control header (%.2x)", esyslog("invalid sequence in control header (%.2x)",
spu[i]); spu[i]);
assert(0); Empty();
i++; return 0;
break;
} }
} }
if (fodd != 0 && feven != 0) { if (fodd != 0 && feven != 0) {

84
i18n.c
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: i18n.c 1.285 2006/10/14 09:26:41 kls Exp $ * $Id: i18n.c 1.285.1.2 2007/02/25 12:08:26 kls Exp $
* *
* Translations provided by: * Translations provided by:
* *
@ -119,7 +119,7 @@ const tI18nPhrase Phrases[] = {
"iso8859-7", "iso8859-7",
"iso8859-1", "iso8859-1",
"iso8859-2", "iso8859-2",
"iso8859-1", "iso8859-2",
"iso8859-1", "iso8859-1",
"iso8859-5", "iso8859-5",
"iso8859-2", "iso8859-2",
@ -231,7 +231,7 @@ const tI18nPhrase Phrases[] = {
"×ñïíïðñïãñáììáôéóìïß", "×ñïíïðñïãñáììáôéóìïß",
"Timers", "Timers",
"Timer-e", "Timer-e",
"Idözítö", "Időzítő",
"Temporitzadors", "Temporitzadors",
"ÂÐÙÜÕàë", "ÂÐÙÜÕàë",
"Termini", "Termini",
@ -385,7 +385,7 @@ const tI18nPhrase Phrases[] = {
"Ôñïðïðïßçóç ÷ñïíïðñïãñáììáôéóìïý", "Ôñïðïðïßçóç ÷ñïíïðñïãñáììáôéóìïý",
"Ändra timer", "Ändra timer",
"Modificare timer", "Modificare timer",
"Idözítö megváltoztatása", "Időzítő megváltoztatása",
"Editar temporitzador", "Editar temporitzador",
"ÃáâÐÝÞÒÚÐ âÐÙÜÕàÐ", "ÃáâÐÝÞÒÚÐ âÐÙÜÕàÐ",
"Ureðivanje termina", "Ureðivanje termina",
@ -694,7 +694,7 @@ const tI18nPhrase Phrases[] = {
"",// TODO "",// TODO
"Timer", "Timer",
"Timer", "Timer",
"Idözítö", "Időzítő",
"",// TODO "",// TODO
"ÂÐÙÜÕà", "ÂÐÙÜÕà",
"",// TODO "",// TODO
@ -936,7 +936,7 @@ const tI18nPhrase Phrases[] = {
"Åðüìåíï", "Åðüìåíï",
"Nästa", "Nästa",
"Urmãtor", "Urmãtor",
"Következö", "Következő",
"Següent", "Següent",
"´ÐÛÕÕ", "´ÐÛÕÕ",
"Slijedi", "Slijedi",
@ -1157,7 +1157,7 @@ const tI18nPhrase Phrases[] = {
"ÄéáãñáöÞ ÷ñïíïðñïãñáììáôéóìïý;?", "ÄéáãñáöÞ ÷ñïíïðñïãñáììáôéóìïý;?",
"Ta bort timern?", "Ta bort timern?",
"ªterg timer-ul?", "ªterg timer-ul?",
"Idözítö törlése?", "Időzítő törlése?",
"Esborrar el temporitzador?", "Esborrar el temporitzador?",
"ÃÔÐÛØâì âÐÙÜÕà?", "ÃÔÐÛØâì âÐÙÜÕà?",
"Obrisati termin?", "Obrisati termin?",
@ -1377,7 +1377,7 @@ const tI18nPhrase Phrases[] = {
"ÁíáìÝíåôáé åããñáöÞ óÝ %ld ëåðôÜ - ÔåëéêÜ íá ôåñìáôéóôåß?", "ÁíáìÝíåôáé åããñáöÞ óÝ %ld ëåðôÜ - ÔåëéêÜ íá ôåñìáôéóôåß?",
"Inspelning startar om %ld minuter, vill du avsluta?", "Inspelning startar om %ld minuter, vill du avsluta?",
"Înregistrez peste %ld minute - închid, totuºi?", "Înregistrez peste %ld minute - închid, totuºi?",
"Felvétel %ld perc mulva kezdödik - mégis kikapcsolni?", "Felvétel %ld perc mulva kezdődik - mégis kikapcsolni?",
"Hi ha una gravació en %ld minuts - Apagar de totes maneres?", "Hi ha una gravació en %ld minuts - Apagar de totes maneres?",
"ÇÕàÕ× %ld ÜØÝãâ ÝÐçÝñâáï ×Ðߨáì - ÔÕÙáâÒØâÕÛìÝÞ ÒëÚÛîçØâì?", "ÇÕàÕ× %ld ÜØÝãâ ÝÐçÝñâáï ×Ðߨáì - ÔÕÙáâÒØâÕÛìÝÞ ÒëÚÛîçØâì?",
"Snimanje za %ld minuta - svejedno iskljuèiti?", "Snimanje za %ld minuta - svejedno iskljuèiti?",
@ -2149,7 +2149,7 @@ const tI18nPhrase Phrases[] = {
"Ðñþôç ìÝñá", "Ðñþôç ìÝñá",
"Första dag", "Första dag",
"Prima zi", "Prima zi",
"Elsö nap", "Első nap",
"Primer dia", "Primer dia",
"¿ÕàÒëÙ ÔÕÝì", "¿ÕàÒëÙ ÔÕÝì",
"Prvi dan", "Prvi dan",
@ -2172,7 +2172,7 @@ const tI18nPhrase Phrases[] = {
"Ôï êáíÜëç ÷ñéóéìïðïéåßôáé áðü ÷ñïíïðñïãñáììáôéóìü!", "Ôï êáíÜëç ÷ñéóéìïðïéåßôáé áðü ÷ñïíïðñïãñáììáôéóìü!",
"Kanalen används av en timer!", "Kanalen används av en timer!",
"Canalul este utilizat de un timer!", "Canalul este utilizat de un timer!",
"Az adót az idözítö használja!", "Az adót az időzítő használja!",
"Canal en ús per un temporitzador!", "Canal en ús per un temporitzador!",
"ºÐÝÐÛ ×ÐÝïâ âÐÙÜÕàÞÜ!", "ºÐÝÐÛ ×ÐÝïâ âÐÙÜÕàÞÜ!",
"Program je trenutno zauzet terminom za snimanje", "Program je trenutno zauzet terminom za snimanje",
@ -2304,7 +2304,7 @@ const tI18nPhrase Phrases[] = {
"",//TODO "",//TODO
"strax VPS inspelning...", "strax VPS inspelning...",
"Urmeazã o înregistrare VPS!", "Urmeazã o înregistrare VPS!",
"VPS-felvétel rögtön kezdödik!", "VPS-felvétel rögtön kezdődik!",
"",//TODO "",//TODO
"VPS-·Ðߨáì áÚÞàÞ ÝÐçÝÕâáï", "VPS-·Ðߨáì áÚÞàÞ ÝÐçÝÕâáï",
"",//TODO "",//TODO
@ -2348,7 +2348,7 @@ const tI18nPhrase Phrases[] = {
"Ôï êáíÜëç äÝí åßíáé äéáèÝóéìï!", "Ôï êáíÜëç äÝí åßíáé äéáèÝóéìï!",
"Kanalen är inte tillgänglig!", "Kanalen är inte tillgänglig!",
"Canal indisponibil", "Canal indisponibil",
"Az adó nem elérhetö", "Az adó nem elérhető",
"Canal no disponible!", "Canal no disponible!",
"ºÐÝÐÛ ÝÕÔÞáâãßÕÝ!", "ºÐÝÐÛ ÝÕÔÞáâãßÕÝ!",
"Program nije dostupan!", "Program nije dostupan!",
@ -2370,7 +2370,7 @@ const tI18nPhrase Phrases[] = {
"Ïé ñéèìýóåéò ôïí êáíáëéþí áëëõëïóõìðßðôïõí!", "Ïé ñéèìýóåéò ôïí êáíáëéþí áëëõëïóõìðßðôïõí!",
"Kanalinställningarna är ej unika!", "Kanalinställningarna är ej unika!",
"Parametrii canalului nu sunt univoci!", "Parametrii canalului nu sunt univoci!",
"Az adóbeállítások nem egyértelmüek", "Az adóbeállítások nem egyértelműek",
"Propietats del canal duplicades!", "Propietats del canal duplicades!",
"½ÐáâàÞÙÚØ ÚÐÝÐÛÐ ÝÕ ãÝØÚÐÛìÝë!", "½ÐáâàÞÙÚØ ÚÐÝÐÛÐ ÝÕ ãÝØÚÐÛìÝë!",
"Parametri programa nisu jednoznaèni!", "Parametri programa nisu jednoznaèni!",
@ -2524,7 +2524,7 @@ const tI18nPhrase Phrases[] = {
"",//TODO "",//TODO
"Otillräcklingt diskutrymme för inspelning!", "Otillräcklingt diskutrymme för inspelning!",
"Insuficient spaþiul pe disc pentru înregistrare!", "Insuficient spaþiul pe disc pentru înregistrare!",
"Nincs elegendö hely a felvételre", "Nincs elegendő hely a felvételre",
"",//TODO "",//TODO
"½ÕÔÞáâÐâÞçÝÞ ÜÕáâÐ ÝÐ ÔØáÚÕ ÔÛï ÝÐçÐÛÐ ×ÐߨáØ", "½ÕÔÞáâÐâÞçÝÞ ÜÕáâÐ ÝÐ ÔØáÚÕ ÔÛï ÝÐçÐÛÐ ×ÐߨáØ",
"",//TODO "",//TODO
@ -3120,7 +3120,7 @@ const tI18nPhrase Phrases[] = {
"×ñüíïò Ýíäåéîçò ìõíçìÜôùí (ä)", "×ñüíïò Ýíäåéîçò ìõíçìÜôùí (ä)",
"Tid för meddelanden (sek)", "Tid för meddelanden (sek)",
"Timp afiºare mesaje (sec)", "Timp afiºare mesaje (sec)",
"Információ feltüntetésének idötartama", "Információ feltűntetésének időtartama",
"Durada dels missatges (s)", "Durada dels missatges (s)",
"´ÛØâÕÛìÝÞáâì ßÞÚÐ×Ð áÞÞÑéÕÝØÙ (áÕÚ)", "´ÛØâÕÛìÝÞáâì ßÞÚÐ×Ð áÞÞÑéÕÝØÙ (áÕÚ)",
"Vrijeme prikaza poruka (s)", "Vrijeme prikaza poruka (s)",
@ -3142,7 +3142,7 @@ const tI18nPhrase Phrases[] = {
"×ñéóçìïðïßçóç ìéêñüí ãñáììáôïóåéñþí", "×ñéóçìïðïßçóç ìéêñüí ãñáììáôïóåéñþí",
"Använd liten font", "Använd liten font",
"Utilizare fonturi mici", "Utilizare fonturi mici",
"Kisbetüt használni", "Kisbetűt használni",
"",// TODO "",// TODO
"¸áßÞÛì×ÞÒÐâì ÜÕÛÚØÙ èàØäâ", "¸áßÞÛì×ÞÒÐâì ÜÕÛÚØÙ èàØäâ",
"Koristi mala slova", "Koristi mala slova",
@ -3186,7 +3186,7 @@ const tI18nPhrase Phrases[] = {
"ÅîáñôÜôå áðü ôÞí åðéöÜíåéá", "ÅîáñôÜôå áðü ôÞí åðéöÜíåéá",
"skin beroende", "skin beroende",
"dep. de skin", "dep. de skin",
"Menü nézetétöl függöen", "Menü nézetétől függően",
"",// TODO "",// TODO
"áÞÓÛÐáÝÞ âÕÜÕ", "áÞÓÛÐáÝÞ âÕÜÕ",
"ovisno o povr¹ini", "ovisno o povr¹ini",
@ -3252,7 +3252,7 @@ const tI18nPhrase Phrases[] = {
"÷ñüíïò Ýíäåéêóçò ðëçñïöïñßùí êáíáëéïý óå (ä)", "÷ñüíïò Ýíäåéêóçò ðëçñïöïñßùí êáíáëéïý óå (ä)",
"Kanal information (s)", "Kanal information (s)",
"Durata afiºãrii info-canal (s)", "Durata afiºãrii info-canal (s)",
"Adásinformáció feltüntetésének idötartama (s)", "Adásinformáció feltűntetésének időtartama (s)",
"",// TODO "",// TODO
"¿ÞÚÐ× ØÝäÞàÜÐæØØ Þ ÚÐÝÐÛÕ (áÕÚ)", "¿ÞÚÐ× ØÝäÞàÜÐæØØ Þ ÚÐÝÐÛÕ (áÕÚ)",
"Vrijeme prikaza informacije o programu (s)", "Vrijeme prikaza informacije o programu (s)",
@ -3406,7 +3406,7 @@ const tI18nPhrase Phrases[] = {
"×ñüíïò äéÜñêåéáò åîÝôáóçò EPG óå þñåò", "×ñüíïò äéÜñêåéáò åîÝôáóçò EPG óå þñåò",
"EPG sökning timeout", "EPG sökning timeout",
"Interval achiziþie EPG (h)", "Interval achiziþie EPG (h)",
"Fennmaradt idö az EPG-újításig (h)", "Fennmaradt idő az EPG-újításig (h)",
"Màxim d'Hores a cercar per la Guia", "Màxim d'Hores a cercar per la Guia",
"·ÐÔÕàÖÚÐ áÚÐÝØàÞÒÐÝØï âÕÛÕÓØÔÐ (ç)", "·ÐÔÕàÖÚÐ áÚÐÝØàÞÒÐÝØï âÕÛÕÓØÔÐ (ç)",
"Vrijeme do EPG pregleda (h)", "Vrijeme do EPG pregleda (h)",
@ -3472,7 +3472,7 @@ const tI18nPhrase Phrases[] = {
"Óõíôïíéóìüò þñáò õðïëïãéóôÞ", "Óõíôïíéóìüò þñáò õðïëïãéóôÞ",
"Ställ in systemtid", "Ställ in systemtid",
"Potriveºte ceasul sistem", "Potriveºte ceasul sistem",
"Az idö beállítása", "Az idő beállítása",
"Ajustar l'hora del sistema", "Ajustar l'hora del sistema",
"ÃáâÐÝÞÒØâì áØáâÕÜÝÞÕ ÒàÕÜï", "ÃáâÐÝÞÒØâì áØáâÕÜÝÞÕ ÒàÕÜï",
"Podesi vrijeme sistema", "Podesi vrijeme sistema",
@ -3494,7 +3494,7 @@ const tI18nPhrase Phrases[] = {
"Áíáìåôáäüôçò óõíôïíéóìïý þñáò", "Áíáìåôáäüôçò óõíôïíéóìïý þñáò",
"Använd klockan från transponder", "Använd klockan från transponder",
"Preia ora din transponder", "Preia ora din transponder",
"Idöhöz tartozó Transponder", "Időhöz tartozó Transponder",
"Usar el temps del múltiplex", "Usar el temps del múltiplex",
"¸áßÞÛì×ÞÒÐâì ÒàÕÜï âàÐÝáßÞÝÔÕàÐ", "¸áßÞÛì×ÞÒÐâì ÒàÕÜï âàÐÝáßÞÝÔÕàÐ",
"Transponder za pode¹avanje sata", "Transponder za pode¹avanje sata",
@ -3560,7 +3560,7 @@ const tI18nPhrase Phrases[] = {
"Êýñéá DVB êÜñôá", "Êýñéá DVB êÜñôá",
"Primär DVB enhet", "Primär DVB enhet",
"Dispozitiv DVB primar", "Dispozitiv DVB primar",
"Elsö DVB interface", "Első DVB interface",
"Tarja DVB primària", "Tarja DVB primària",
"¾áÝÞÒÝÞÕ DVB-ãáâàÞÙáâÒÞ", "¾áÝÞÒÝÞÕ DVB-ãáâàÞÙáâÒÞ",
"Primarni DVB ureðaj", "Primarni DVB ureðaj",
@ -3934,7 +3934,7 @@ const tI18nPhrase Phrases[] = {
"¢íù LNB-Óõ÷íüôçôá (MHz)", "¢íù LNB-Óõ÷íüôçôá (MHz)",
"Övre LNB frekvens (MHz)", "Övre LNB frekvens (MHz)",
"Frecvnþã LNB superioarã (MHz)", "Frecvnþã LNB superioarã (MHz)",
"Felsö LNB-frekvencia (MHZ)", "Felső LNB-frekvencia (MHZ)",
"Freqüència LNB alta (MHz)", "Freqüència LNB alta (MHz)",
"²ÕàåÝïï çÐáâÞâÐ ÚÞÝÒÕàâÕàÐ (¼³æ)", "²ÕàåÝïï çÐáâÞâÐ ÚÞÝÒÕàâÕàÐ (¼³æ)",
"Gornja LNB frekv. (MHz)", "Gornja LNB frekv. (MHz)",
@ -4000,7 +4000,7 @@ const tI18nPhrase Phrases[] = {
"Ðñüóèåôïò ÷ñüíïò óôçí áñ÷Þ (ëåðôÜ)", "Ðñüóèåôïò ÷ñüíïò óôçí áñ÷Þ (ëåðôÜ)",
"Marginal för start (min)", "Marginal för start (min)",
"Marjã la pornire (min)", "Marjã la pornire (min)",
"Idöeltolódás a kezdésnél (perc)", "Időeltolódás a kezdésnél (perc)",
"Marge d'inici de gravació (min)", "Marge d'inici de gravació (min)",
"¾ßÕàÕÖÕÝØÕ ÝÐçÐÛÐ ×ÐßØáØ (ÜØÝ)", "¾ßÕàÕÖÕÝØÕ ÝÐçÐÛÐ ×ÐßØáØ (ÜØÝ)",
"Rezerva na poèetku snimanja (min)", "Rezerva na poèetku snimanja (min)",
@ -4022,7 +4022,7 @@ const tI18nPhrase Phrases[] = {
"Ðñüóèåôïò ÷ñüíïò óôü ôÝëïò (ëåðôÜ)", "Ðñüóèåôïò ÷ñüíïò óôü ôÝëïò (ëåðôÜ)",
"Marginal för stopp (min)", "Marginal för stopp (min)",
"Marjã la oprire (min)", "Marjã la oprire (min)",
"Idöeltolódás a befejezésnél (perc)", "Időeltolódás a befejezésnél (perc)",
"Marge de fi de gravació (min)", "Marge de fi de gravació (min)",
"·ÐßÐ×ÔëÒÐÝØÕ ÞáâÐÝÞÒÚØ ×ÐßØáØ (ÜØÝ)", "·ÐßÐ×ÔëÒÐÝØÕ ÞáâÐÝÞÒÚØ ×ÐßØáØ (ÜØÝ)",
"Rezerva na kraju (min)", "Rezerva na kraju (min)",
@ -4198,7 +4198,7 @@ const tI18nPhrase Phrases[] = {
"Ðåñéèþñéï VPS (ä)", "Ðåñéèþñéï VPS (ä)",
"VPS marginal (s)", "VPS marginal (s)",
"Marjã de timp la utilizare VPS (s)", "Marjã de timp la utilizare VPS (s)",
"Idöeltolódás VPS-nél (s)", "Időeltolódás VPS-nél (s)",
"",// TODO "",// TODO
"±ãäÕàÝÞÕ ÒàÕÜï VPS (áÕÚ)", "±ãäÕàÝÞÕ ÒàÕÜï VPS (áÕÚ)",
"Vremenska rezerva kod VPS (s)", "Vremenska rezerva kod VPS (s)",
@ -4264,7 +4264,7 @@ const tI18nPhrase Phrases[] = {
"ÄéÜñêåéá óôãìéáßáò åããñáöÞò (ëåðôÜ)", "ÄéÜñêåéá óôãìéáßáò åããñáöÞò (ëåðôÜ)",
"Direktinspelning längd (min)", "Direktinspelning längd (min)",
"Timpul de înregistare imediatã (min)", "Timpul de înregistare imediatã (min)",
"Felvétel idötartama (perc)", "Felvétel időtartama (perc)",
"Temps de gravació instantània (min)", "Temps de gravació instantània (min)",
"´ÛØâÕÛìÝÞáâì àãçÝÞÙ ×ÐßØáØ (ÜØÝ)", "´ÛØâÕÛìÝÞáâì àãçÝÞÙ ×ÐßØáØ (ÜØÝ)",
"Trajanje direktnog snimanja (min)", "Trajanje direktnog snimanja (min)",
@ -4396,7 +4396,7 @@ const tI18nPhrase Phrases[] = {
"ÅëÜ÷éóôïò ÷ñÜíïò ðáñåìâïëÞò (ëåðôÜ)", "ÅëÜ÷éóôïò ÷ñÜíïò ðáñåìâïëÞò (ëåðôÜ)",
"Minsta händelse-pause (min)", "Minsta händelse-pause (min)",
"Duratã minimã emisiuni (min)", "Duratã minimã emisiuni (min)",
"Idözitések közötti idötartam (perc)", "Időzitések közötti időtartam (perc)",
"Temps mínim en pausa (min)", "Temps mínim en pausa (min)",
"¼ØÝ. ÒàÕÜï ÞÖØÔÐÝØï áÞÑëâØï (ÜØÝ)", "¼ØÝ. ÒàÕÜï ÞÖØÔÐÝØï áÞÑëâØï (ÜØÝ)",
"Minimalno vrijeme pauze", "Minimalno vrijeme pauze",
@ -4506,7 +4506,7 @@ const tI18nPhrase Phrases[] = {
"",// TODO "",// TODO
"Ljudstyrka vid uppstart", "Ljudstyrka vid uppstart",
"Volumul la pornire", "Volumul la pornire",
"Hangerö a bekapcsolásnál", "Hangerő a bekapcsolásnál",
"",// TODO "",// TODO
"³àÞÜÚÞáâì ßàØ ÒÚÛîçÕÝØØ", "³àÞÜÚÞáâì ßàØ ÒÚÛîçÕÝØØ",
"",// TODO "",// TODO
@ -4528,7 +4528,7 @@ const tI18nPhrase Phrases[] = {
"",// TODO "",// TODO
"som förut", "som förut",
"ca mai înainte", "ca mai înainte",
"ahogy az elöbb", "ahogy az előbb",
"",// TODO "",// TODO
"ÚÐÚ àÐÝìèÕ", "ÚÐÚ àÐÝìèÕ",
"",// TODO "",// TODO
@ -4596,7 +4596,7 @@ const tI18nPhrase Phrases[] = {
" áÜâãäåÝæçÞèéßêëìíîïüðñóòôõýö÷øùþ0123456789-.#~,/_@abcdefghijklmnopqrstuvwxyz", " áÜâãäåÝæçÞèéßêëìíîïüðñóòôõýö÷øùþ0123456789-.#~,/_@abcdefghijklmnopqrstuvwxyz",
" abcdefghijklmnopqrstuvwxyzåäö0123456789-.#~,/_@", " abcdefghijklmnopqrstuvwxyzåäö0123456789-.#~,/_@",
" aãâbcdefghiîjklmnopqrsºtþuvwxyz0123456789-.#~,/_@", " aãâbcdefghiîjklmnopqrsºtþuvwxyz0123456789-.#~,/_@",
" aábcdeéfghiíjklmnoóöżpqrstuúüżvwxyz0123456789-.,#~,/_@", " aábcdeéfghiíjklmnoóöőpqrstuúüűvwxyz0123456789-.,#~,/_@",
" aàbcçdeéèfghiíjklmnoòpqrstuúvwxyz0123456789-.,#~,/_@·", " aàbcçdeéèfghiíjklmnoòpqrstuúvwxyz0123456789-.,#~,/_@·",
" abcdefghijklmnopqrstuvwxyzÐÑÒÓÔÕñÖרÙÚÛÜÝÞßàáâãäåæçèéêëìîï0123456789-.#~,/_@", " abcdefghijklmnopqrstuvwxyzÐÑÒÓÔÕñÖרÙÚÛÜÝÞßàáâãäåæçèéêëìîï0123456789-.#~,/_@",
" abcèædðefghijklmnopqrs¹tuvwxyz¾0123456789-.#~,/_@", // hrv " abcèædðefghijklmnopqrs¹tuvwxyz¾0123456789-.#~,/_@", // hrv
@ -4619,7 +4619,7 @@ const tI18nPhrase Phrases[] = {
"",//TODO "",//TODO
" 0\t-.#~,/_@1\tabcåä2\tdef3\tghi4\tjkl5\tmnoö6\tpqrs7\ttuv8\twxyz", " 0\t-.#~,/_@1\tabcåä2\tdef3\tghi4\tjkl5\tmnoö6\tpqrs7\ttuv8\twxyz",
" 0\t-.#~,/_@1\taãâbc2\tdef3\tghiî4\tjkl5\tmno6\tpqrsº7\ttþuv8\twxyz9", " 0\t-.#~,/_@1\taãâbc2\tdef3\tghiî4\tjkl5\tmno6\tpqrsº7\ttþuv8\twxyz9",
" 0\t-.#~,/_@1\taábc2\tdeé3\tghií4\tjkl5\tmnoóöż6\tpqrs7\ttuúüżv8\twxyz9", " 0\t-.#~,/_@1\taábc2\tdeéf3\tghií4\tjkl5\tmnoóöő6\tpqrs7\ttuúüűv8\twxyz9",
"",//TODO "",//TODO
"",//TODO "",//TODO
"",//TODO "",//TODO
@ -4664,7 +4664,7 @@ const tI18nPhrase Phrases[] = {
"ÖÜóç 1: Áíß÷íåõóç êþäéêá RC", "ÖÜóç 1: Áíß÷íåõóç êþäéêá RC",
"Steg1: identifiering av kod", "Steg1: identifiering av kod",
"Faza 1: Detecþia tipului telecomenzii", "Faza 1: Detecþia tipului telecomenzii",
"Elsö lépés: távirányító kódjának meghatározása", "Első lépés: távirányító kódjának meghatározása",
"Fase 1: Detectant el tipus de receptor", "Fase 1: Detectant el tipus de receptor",
"ÈÐÓ 1: ¾ßàÕÔÕÛÕÝØÕ âØßÐ ÚÞÔÐ ßãÛìâÐ", "ÈÐÓ 1: ¾ßàÕÔÕÛÕÝØÕ âØßÐ ÚÞÔÐ ßãÛìâÐ",
"Faza 1: detektiranje kôda daljinskog upravljaèa.", "Faza 1: detektiranje kôda daljinskog upravljaèa.",
@ -5303,7 +5303,7 @@ const tI18nPhrase Phrases[] = {
"Ðñïþèçóç åìðñüò", "Ðñïþèçóç åìðñüò",
"Snabbspolning framåt", "Snabbspolning framåt",
"Derulare înainte", "Derulare înainte",
"Elöre pörgetni", "Előre pörgetni",
"Endavant ràpidament", "Endavant ràpidament",
"¿àÞÚàãâÚÐ ÒßÕàñÔ", "¿àÞÚàãâÚÐ ÒßÕàñÔ",
"Naprijed", "Naprijed",
@ -5347,7 +5347,7 @@ const tI18nPhrase Phrases[] = {
"",// TODO "",// TODO
"Nästa", "Nästa",
"Urmãtor", "Urmãtor",
"Elöre", "Előre",
"",// TODO "",// TODO
"²ßÕàÕÔ", "²ßÕàÕÔ",
"",// TODO "",// TODO
@ -5385,7 +5385,7 @@ const tI18nPhrase Phrases[] = {
"Ligar", "Ligar",
"Arrêt", "Arrêt",
"Power", "Power",
"Virtakytkin", "Virta",
"Wy³±cz", "Wy³±cz",
"Apagar", "Apagar",
"Këåßóéìï", "Këåßóéìï",
@ -5457,7 +5457,7 @@ const tI18nPhrase Phrases[] = {
"",// TODO "",// TODO
"Förra kanalen", "Förra kanalen",
"Canal anterior", "Canal anterior",
"Az elözö adás", "Az előző adás",
"",// TODO "",// TODO
"¿àÕÔëÔãéØÙ ÚÐÝÐÛ", "¿àÕÔëÔãéØÙ ÚÐÝÐÛ",
"",// TODO "",// TODO
@ -5479,7 +5479,7 @@ const tI18nPhrase Phrases[] = {
"¸íôáóç+", "¸íôáóç+",
"Volym+", "Volym+",
"Volum+", "Volum+",
"Hangerö+", "Hangerő+",
"Volum +", "Volum +",
"³àÞÜÚÞáâì +", "³àÞÜÚÞáâì +",
"Glasnije", // hrv "Glasnocca +" "Glasnije", // hrv "Glasnocca +"
@ -5501,7 +5501,7 @@ const tI18nPhrase Phrases[] = {
"¸íôáóç-", "¸íôáóç-",
"Volym-", "Volym-",
"Volum-", "Volum-",
"Hangerö-", "Hangerő-",
"Volum -", "Volum -",
"³àÞÜÚÞáâì -", "³àÞÜÚÞáâì -",
"Ti¹e", // hrv Glasnocca -" "Ti¹e", // hrv Glasnocca -"
@ -5517,7 +5517,7 @@ const tI18nPhrase Phrases[] = {
"Sem som", "Sem som",
"Coupure du son", "Coupure du son",
"Lyd av", "Lyd av",
"Äänetön", "Mykistys",
"Wycisz", "Wycisz",
"Mudo", "Mudo",
"Óéùðçëü", "Óéùðçëü",
@ -5788,7 +5788,7 @@ const tI18nPhrase Phrases[] = {
"¸íôáóç ", "¸íôáóç ",
"Volym ", "Volym ",
"Volum ", "Volum ",
"Hangerö", "Hangerő",
"Volum ", "Volum ",
"³àÞÜÚÞáâì ", "³àÞÜÚÞáâì ",
"Glasnoæa ", "Glasnoæa ",
@ -6008,7 +6008,7 @@ const tI18nPhrase Phrases[] = {
"ÐÜãùìá æùíôáíïý óÞìáôïò", "ÐÜãùìá æùíôáíïý óÞìáôïò",
"Pausar direktinspelningen", "Pausar direktinspelningen",
"Trec în pauzã emisiunea transmisã...", "Trec în pauzã emisiunea transmisã...",
"Az élö adás megállítva...", "Az élő adás megállítva...",
"Pausa d'emissió en directe...", "Pausa d'emissió en directe...",
"ÀÕÖØÜ ÞâÛÞÖÕÝÝÞÓÞ ßàÞáÜÞâàÐ...", "ÀÕÖØÜ ÞâÛÞÖÕÝÝÞÓÞ ßàÞáÜÞâàÐ...",
"Zaustavljanje ¾ivog signala...", "Zaustavljanje ¾ivog signala...",

11
nit.c
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: nit.c 1.13 2006/10/28 12:31:04 kls Exp $ * $Id: nit.c 1.13.1.1 2007/04/29 11:35:33 kls Exp $
*/ */
#include "nit.h" #include "nit.h"
@ -144,7 +144,6 @@ void cNitFilter::Process(u_short Pid, u_char Tid, const u_char *Data, int Length
for (cChannel *Channel = Channels.First(); Channel; Channel = Channels.Next(Channel)) { for (cChannel *Channel = Channels.First(); Channel; Channel = Channels.Next(Channel)) {
if (!Channel->GroupSep() && Channel->Source() == Source && Channel->Nid() == ts.getOriginalNetworkId() && Channel->Tid() == ts.getTransportStreamId()) { if (!Channel->GroupSep() && Channel->Source() == Source && Channel->Nid() == ts.getOriginalNetworkId() && Channel->Tid() == ts.getTransportStreamId()) {
if (Setup.UpdateChannels >= 5) { if (Setup.UpdateChannels >= 5) {
if (ISTRANSPONDER(cChannel::Transponder(Frequency, Polarization), Transponder())) { // only modify channels if we're actually receiving this transponder
if (!ISTRANSPONDER(cChannel::Transponder(Frequency, Polarization), Channel->Transponder())) { if (!ISTRANSPONDER(cChannel::Transponder(Frequency, Polarization), Channel->Transponder())) {
for (int n = 0; n < NumFrequencies; n++) { for (int n = 0; n < NumFrequencies; n++) {
if (ISTRANSPONDER(cChannel::Transponder(Frequencies[n], Polarization), Channel->Transponder())) { if (ISTRANSPONDER(cChannel::Transponder(Frequencies[n], Polarization), Channel->Transponder())) {
@ -153,9 +152,9 @@ void cNitFilter::Process(u_short Pid, u_char Tid, const u_char *Data, int Length
} }
} }
} }
if (ISTRANSPONDER(cChannel::Transponder(Frequency, Polarization), Transponder())) // only modify channels if we're actually receiving this transponder
Channel->SetSatTransponderData(Source, Frequency, Polarization, SymbolRate, CodeRate); Channel->SetSatTransponderData(Source, Frequency, Polarization, SymbolRate, CodeRate);
} }
}
found = true; found = true;
} }
} }
@ -195,7 +194,6 @@ void cNitFilter::Process(u_short Pid, u_char Tid, const u_char *Data, int Length
for (cChannel *Channel = Channels.First(); Channel; Channel = Channels.Next(Channel)) { for (cChannel *Channel = Channels.First(); Channel; Channel = Channels.Next(Channel)) {
if (!Channel->GroupSep() && Channel->Source() == Source && Channel->Nid() == ts.getOriginalNetworkId() && Channel->Tid() == ts.getTransportStreamId()) { if (!Channel->GroupSep() && Channel->Source() == Source && Channel->Nid() == ts.getOriginalNetworkId() && Channel->Tid() == ts.getTransportStreamId()) {
if (Setup.UpdateChannels >= 5) { if (Setup.UpdateChannels >= 5) {
if (ISTRANSPONDER(Frequency / 1000, Transponder())) { // only modify channels if we're actually receiving this transponder
if (!ISTRANSPONDER(Frequency / 1000, Channel->Transponder())) { if (!ISTRANSPONDER(Frequency / 1000, Channel->Transponder())) {
for (int n = 0; n < NumFrequencies; n++) { for (int n = 0; n < NumFrequencies; n++) {
if (ISTRANSPONDER(Frequencies[n] / 1000, Channel->Transponder())) { if (ISTRANSPONDER(Frequencies[n] / 1000, Channel->Transponder())) {
@ -204,9 +202,9 @@ void cNitFilter::Process(u_short Pid, u_char Tid, const u_char *Data, int Length
} }
} }
} }
if (ISTRANSPONDER(Frequency / 1000, Transponder())) // only modify channels if we're actually receiving this transponder
Channel->SetCableTransponderData(Source, Frequency, Modulation, SymbolRate, CodeRate); Channel->SetCableTransponderData(Source, Frequency, Modulation, SymbolRate, CodeRate);
} }
}
found = true; found = true;
} }
} }
@ -253,7 +251,6 @@ void cNitFilter::Process(u_short Pid, u_char Tid, const u_char *Data, int Length
for (cChannel *Channel = Channels.First(); Channel; Channel = Channels.Next(Channel)) { for (cChannel *Channel = Channels.First(); Channel; Channel = Channels.Next(Channel)) {
if (!Channel->GroupSep() && Channel->Source() == Source && Channel->Nid() == ts.getOriginalNetworkId() && Channel->Tid() == ts.getTransportStreamId()) { if (!Channel->GroupSep() && Channel->Source() == Source && Channel->Nid() == ts.getOriginalNetworkId() && Channel->Tid() == ts.getTransportStreamId()) {
if (Setup.UpdateChannels >= 5) { if (Setup.UpdateChannels >= 5) {
if (ISTRANSPONDER(Frequency / 1000000, Transponder())) { // only modify channels if we're actually receiving this transponder
if (!ISTRANSPONDER(Frequency / 1000000, Channel->Transponder())) { if (!ISTRANSPONDER(Frequency / 1000000, Channel->Transponder())) {
for (int n = 0; n < NumFrequencies; n++) { for (int n = 0; n < NumFrequencies; n++) {
if (ISTRANSPONDER(Frequencies[n] / 1000000, Channel->Transponder())) { if (ISTRANSPONDER(Frequencies[n] / 1000000, Channel->Transponder())) {
@ -262,9 +259,9 @@ void cNitFilter::Process(u_short Pid, u_char Tid, const u_char *Data, int Length
} }
} }
} }
if (ISTRANSPONDER(Frequency / 1000000, Transponder())) // only modify channels if we're actually receiving this transponder
Channel->SetTerrTransponderData(Source, Frequency, Bandwidth, Constellation, Hierarchy, CodeRateHP, CodeRateLP, GuardInterval, TransmissionMode); Channel->SetTerrTransponderData(Source, Frequency, Bandwidth, Constellation, Hierarchy, CodeRateHP, CodeRateLP, GuardInterval, TransmissionMode);
} }
}
found = true; found = true;
} }
} }

10
osd.c
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: osd.c 1.67 2006/02/26 14:31:31 kls Exp $ * $Id: osd.c 1.67.1.1 2007/02/17 16:05:52 kls Exp $
*/ */
#include "osd.h" #include "osd.h"
@ -218,14 +218,17 @@ bool cBitmap::LoadXpm(const char *FileName)
int w, h, n, c; int w, h, n, c;
if (4 != sscanf(s, "%d %d %d %d", &w, &h, &n, &c)) { if (4 != sscanf(s, "%d %d %d %d", &w, &h, &n, &c)) {
esyslog("ERROR: faulty 'values' line in XPM file '%s'", FileName); esyslog("ERROR: faulty 'values' line in XPM file '%s'", FileName);
isXpm = false;
break; break;
} }
lines = h + n + 1; lines = h + n + 1;
Xpm = MALLOC(char *, lines); Xpm = MALLOC(char *, lines);
memset(Xpm, 0, lines * sizeof(char*));
} }
char *q = strchr(s, '"'); char *q = strchr(s, '"');
if (!q) { if (!q) {
esyslog("ERROR: missing quotes in XPM file '%s'", FileName); esyslog("ERROR: missing quotes in XPM file '%s'", FileName);
isXpm = false;
break; break;
} }
*q = 0; *q = 0;
@ -233,16 +236,21 @@ bool cBitmap::LoadXpm(const char *FileName)
Xpm[index++] = strdup(s); Xpm[index++] = strdup(s);
else { else {
esyslog("ERROR: too many lines in XPM file '%s'", FileName); esyslog("ERROR: too many lines in XPM file '%s'", FileName);
isXpm = false;
break; break;
} }
} }
} }
if (isXpm) {
if (index == lines) if (index == lines)
Result = SetXpm(Xpm); Result = SetXpm(Xpm);
else else
esyslog("ERROR: too few lines in XPM file '%s'", FileName); esyslog("ERROR: too few lines in XPM file '%s'", FileName);
}
if (Xpm) {
for (int i = 0; i < index; i++) for (int i = 0; i < index; i++)
free(Xpm[i]); free(Xpm[i]);
}
free(Xpm); free(Xpm);
fclose(f); fclose(f);
} }

View File

@ -38,7 +38,7 @@ S38E Paksat 1
S39E Hellas Sat 2 S39E Hellas Sat 2
S40E Express AM1 S40E Express AM1
S42E Turksat 1C/2A S42E Turksat 1C/2A
S45E PAS 12 S45E Intelsat 12
S49E Yamal 202 S49E Yamal 202
S53E Express AM 22 S53E Express AM 22
S55E Insat 3E & Intelsat 702 S55E Insat 3E & Intelsat 702
@ -48,9 +48,9 @@ S60E Intelsat 904
S62E Intelsat 902 S62E Intelsat 902
S64E Intelsat 906 S64E Intelsat 906
S66E Intelsat 704 S66E Intelsat 704
S68.5E PAS 7/10 S68.5E Intelsat 7/10
S70.5E Eutelsat W5 S70.5E Eutelsat W5
S72E PAS 4 S72E Intelsat 4
# Asia # Asia
@ -98,8 +98,8 @@ S158E Superbird A
S160E Optus B1 S160E Optus B1
S162E Superbird B2 S162E Superbird B2
S164E Optus A3 S164E Optus A3
S166E PAS 8 S166E Intelsat 8
S169E PAS 2 S169E Intelsat 2
S172E AMC 23 S172E AMC 23
S180E Intelsat 701 S180E Intelsat 701
S177W NSS 5 S177W NSS 5
@ -125,12 +125,12 @@ S31.5W Intelsat 801
S34.5W Intelsat 903 S34.5W Intelsat 903
S37.5W Telstar 11 & AMC 12 S37.5W Telstar 11 & AMC 12
S40.5W NSS 806 S40.5W NSS 806
S43W PAS 3R/6B S43W Intelsat 3R/6B
S45W PAS 1R S45W Intelsat 1R
S50W Intelsat 705 S50W Intelsat 705
S53W Intelsat 707 S53W Intelsat 707
S55.5W Intelsat 805 S55.5W Intelsat 805
S58W PAS 9 S58W Intelsat 9
S61W Amazonas S61W Amazonas
# America # America
@ -151,13 +151,13 @@ S84W Brasilsat B3
S85W AMC 2 S85W AMC 2
S85.1W XM 3 S85.1W XM 3
S87W AMC3 S87W AMC3
S89W Intelsat Americas 8 S89W Galaxy 28
S91W Galaxy 11 & Nimiq 1 S91W Galaxy 11 & Nimiq 1
S91.5W DirecTV 2 S91.5W DirecTV 2
S92W Brasilsat B4 S92W Brasilsat B4
S93W Intelsat Americas 6 S93W Galaxy 26
S95W Galaxy 3C S95W Galaxy 3C
S97W Intelsat Americas 5 S97W Galaxy 25
S99W Galaxy 4R S99W Galaxy 4R
S99.2W Spaceway 2 S99.2W Spaceway 2
S101W DirecTV 1R/4S/8 & AMC4 S101W DirecTV 1R/4S/8 & AMC4
@ -168,11 +168,11 @@ S110W DirecTV 5 & Echostar 6/8/10
S111.1W Anik F2 S111.1W Anik F2
S113W Solidaridad 2 S113W Solidaridad 2
S119W Echostar 7 & DirecTV 7S S119W Echostar 7 & DirecTV 7S
S121W Echostar 9 & Intelsat Americas 13 S121W Echostar 9 & Galaxy 23
S123W Galaxy 10R S123W Galaxy 10R
S125W Galaxy 14 S125W Galaxy 14
S127W Galaxy 13/Horizons 1 S127W Galaxy 13/Horizons 1
S129W Echostar 5 & Intelsat Americas 7 S129W Echostar 5 & Galaxy 27
S131W AMC 11 S131W AMC 11
S133W Galaxy15/1R S133W Galaxy15/1R
S135W AMC 10 S135W AMC 10

4
vdr.c
View File

@ -22,7 +22,7 @@
* *
* The project's page is at http://www.cadsoft.de/vdr * The project's page is at http://www.cadsoft.de/vdr
* *
* $Id: vdr.c 1.282 2006/12/02 16:22:12 kls Exp $ * $Id: vdr.c 1.282.1.1 2007/04/30 09:48:23 kls Exp $
*/ */
#include <getopt.h> #include <getopt.h>
@ -947,7 +947,7 @@ int main(int argc, char *argv[])
case kChanDn: case kChanDn:
if (!Interact) if (!Interact)
Menu = new cDisplayChannel(NORMALKEY(key)); Menu = new cDisplayChannel(NORMALKEY(key));
else if (cDisplayChannel::IsOpen()) { else if (cDisplayChannel::IsOpen() || cControl::Control()) {
Interact->ProcessKey(key); Interact->ProcessKey(key);
continue; continue;
} }