summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CONTRIBUTORS4
-rw-r--r--HISTORY8
-rw-r--r--config.h4
-rw-r--r--dvbdevice.c15
-rw-r--r--dvbspu.c7
-rw-r--r--osd.c22
-rw-r--r--sources.conf26
7 files changed, 52 insertions, 34 deletions
diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index a1c4c5a..fd0ad59 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -360,6 +360,7 @@ Norbert Schmidt <nschmidt-nrw@t-online.de>
Thilo Wunderlich <wunderlich@speedway.org>
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 updating satellite names in 'sources.conf'
Stephan Schreiber <stephan@sschreiber.de>
for his support in keeping the Premiere World channels up to date in 'channels.conf.cable'
@@ -1116,6 +1117,7 @@ Reinhard Nissl <rnissl@gmx.de>
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()
Richard Robson <richard_robson@beeb.net>
for reporting freezing replay if a timer starts while in Transfer Mode from the
@@ -1389,6 +1391,7 @@ Marco Schlüßler <marco@lordzodiac.de>
replay has been stopped
for reporting a problem with displaying the replay mode symbol in case of "Multi
speed mode"
+ for removing 'assert(0)' from cDvbSpuDecoder::setTime()
Jürgen Schmitz <j.schmitz@web.de>
for reporting a bug in displaying the current channel when switching via the SVDRP
@@ -1694,6 +1697,7 @@ Henrik Niehaus <henrik.niehaus@gmx.de>
Martin Wache <M.Wache@gmx.net>
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
+ for fixing a possible crash when loading an invalid XPM file
Matthias Lenk <matthias.lenk@amd.com>
for reporting an out-of-bounds memory access with audio language ids
diff --git a/HISTORY b/HISTORY
index 30497fe..d2c4b40 100644
--- a/HISTORY
+++ b/HISTORY
@@ -5035,3 +5035,11 @@ Video Disk Recorder Revision History
- 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).
diff --git a/config.h b/config.h
index 8920879..f7a7608 100644
--- a/config.h
+++ b/config.h
@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
- * $Id: config.h 1.282.1.1 2007/01/26 13:14:47 kls Exp $
+ * $Id: config.h 1.282.1.2 2007/02/03 10:14:42 kls Exp $
*/
#ifndef __CONFIG_H
@@ -21,7 +21,7 @@
// VDR's own version number:
-#define VDRVERSION "1.4.5-1"
+#define VDRVERSION "1.4.5-2"
#define VDRVERSNUM 10405 // Version * 10000 + Major * 100 + Minor
// The plugin API's version number:
diff --git a/dvbdevice.c b/dvbdevice.c
index fb8ec93..955483e 100644
--- a/dvbdevice.c
+++ b/dvbdevice.c
@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* 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"
@@ -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
}
}
- do {
- int stat = ioctl(fd_frontend, FE_READ_STATUS, &Status);
- if (stat == 0)
- return true;
- if (stat < 0) {
- if (errno == EINTR)
+ while (1) {
+ int stat = ioctl(fd_frontend, FE_READ_STATUS, &Status);
+ if (stat == 0)
+ return true;
+ if (stat < 0 && errno == EINTR)
continue;
+ break;
}
- } while (0);
return false;
}
diff --git a/dvbspu.c b/dvbspu.c
index 48b20bf..1ca5435 100644
--- a/dvbspu.c
+++ b/dvbspu.c
@@ -8,7 +8,7 @@
*
* parts of this file are derived from the OMS program.
*
- * $Id: dvbspu.c 1.21 2006/04/17 12:45:05 kls Exp $
+ * $Id: dvbspu.c 1.22 2007/02/03 10:13:18 kls Exp $
*/
#include "dvbspu.h"
@@ -504,9 +504,8 @@ int cDvbSpuDecoder::setTime(uint32_t pts)
default:
esyslog("invalid sequence in control header (%.2x)",
spu[i]);
- assert(0);
- i++;
- break;
+ Empty();
+ return 0;
}
}
if (fodd != 0 && feven != 0) {
diff --git a/osd.c b/osd.c
index bf9640c..64f475d 100644
--- a/osd.c
+++ b/osd.c
@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
- * $Id: osd.c 1.67 2006/02/26 14:31:31 kls Exp $
+ * $Id: osd.c 1.68 2007/02/17 16:05:52 kls Exp $
*/
#include "osd.h"
@@ -218,14 +218,17 @@ bool cBitmap::LoadXpm(const char *FileName)
int 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);
+ isXpm = false;
break;
}
lines = h + n + 1;
Xpm = MALLOC(char *, lines);
+ memset(Xpm, 0, lines * sizeof(char*));
}
char *q = strchr(s, '"');
if (!q) {
esyslog("ERROR: missing quotes in XPM file '%s'", FileName);
+ isXpm = false;
break;
}
*q = 0;
@@ -233,16 +236,21 @@ bool cBitmap::LoadXpm(const char *FileName)
Xpm[index++] = strdup(s);
else {
esyslog("ERROR: too many lines in XPM file '%s'", FileName);
+ isXpm = false;
break;
}
}
}
- if (index == lines)
- Result = SetXpm(Xpm);
- else
- esyslog("ERROR: too few lines in XPM file '%s'", FileName);
- for (int i = 0; i < index; i++)
- free(Xpm[i]);
+ if (isXpm) {
+ if (index == lines)
+ Result = SetXpm(Xpm);
+ else
+ esyslog("ERROR: too few lines in XPM file '%s'", FileName);
+ }
+ if (Xpm) {
+ for (int i = 0; i < index; i++)
+ free(Xpm[i]);
+ }
free(Xpm);
fclose(f);
}
diff --git a/sources.conf b/sources.conf
index 81e5171..7cc105e 100644
--- a/sources.conf
+++ b/sources.conf
@@ -38,7 +38,7 @@ S38E Paksat 1
S39E Hellas Sat 2
S40E Express AM1
S42E Turksat 1C/2A
-S45E PAS 12
+S45E Intelsat 12
S49E Yamal 202
S53E Express AM 22
S55E Insat 3E & Intelsat 702
@@ -48,9 +48,9 @@ S60E Intelsat 904
S62E Intelsat 902
S64E Intelsat 906
S66E Intelsat 704
-S68.5E PAS 7/10
+S68.5E Intelsat 7/10
S70.5E Eutelsat W5
-S72E PAS 4
+S72E Intelsat 4
# Asia
@@ -98,8 +98,8 @@ S158E Superbird A
S160E Optus B1
S162E Superbird B2
S164E Optus A3
-S166E PAS 8
-S169E PAS 2
+S166E Intelsat 8
+S169E Intelsat 2
S172E AMC 23
S180E Intelsat 701
S177W NSS 5
@@ -125,12 +125,12 @@ S31.5W Intelsat 801
S34.5W Intelsat 903
S37.5W Telstar 11 & AMC 12
S40.5W NSS 806
-S43W PAS 3R/6B
-S45W PAS 1R
+S43W Intelsat 3R/6B
+S45W Intelsat 1R
S50W Intelsat 705
S53W Intelsat 707
S55.5W Intelsat 805
-S58W PAS 9
+S58W Intelsat 9
S61W Amazonas
# America
@@ -151,13 +151,13 @@ S84W Brasilsat B3
S85W AMC 2
S85.1W XM 3
S87W AMC3
-S89W Intelsat Americas 8
+S89W Galaxy 28
S91W Galaxy 11 & Nimiq 1
S91.5W DirecTV 2
S92W Brasilsat B4
-S93W Intelsat Americas 6
+S93W Galaxy 26
S95W Galaxy 3C
-S97W Intelsat Americas 5
+S97W Galaxy 25
S99W Galaxy 4R
S99.2W Spaceway 2
S101W DirecTV 1R/4S/8 & AMC4
@@ -168,11 +168,11 @@ S110W DirecTV 5 & Echostar 6/8/10
S111.1W Anik F2
S113W Solidaridad 2
S119W Echostar 7 & DirecTV 7S
-S121W Echostar 9 & Intelsat Americas 13
+S121W Echostar 9 & Galaxy 23
S123W Galaxy 10R
S125W Galaxy 14
S127W Galaxy 13/Horizons 1
-S129W Echostar 5 & Intelsat Americas 7
+S129W Echostar 5 & Galaxy 27
S131W AMC 11
S133W Galaxy15/1R
S135W AMC 10