diff options
author | Juergen Lock <nox@FreeBSD.org> | 2012-05-11 17:17:24 +0000 |
---|---|---|
committer | Juergen Lock <nox@FreeBSD.org> | 2012-05-11 17:17:24 +0000 |
commit | 2a6dfb7ae63afca2409854842b0f62c383a26937 (patch) | |
tree | bc39101e5cc30b07196cdd89c881de04ebc61bf0 /multimedia | |
parent | a44b4187c90bb43720824747a2dcb1e2b956c720 (diff) | |
download | ports-2a6dfb7ae63afca2409854842b0f62c383a26937.tar.gz ports-2a6dfb7ae63afca2409854842b0f62c383a26937.zip |
Notes
Diffstat (limited to 'multimedia')
-rw-r--r-- | multimedia/vdr/Makefile | 2 | ||||
-rw-r--r-- | multimedia/vdr/files/patch-dvbdevice.c | 27 | ||||
-rw-r--r-- | multimedia/vdr/files/stb0899-signalstrength.patch | 15 |
3 files changed, 42 insertions, 2 deletions
diff --git a/multimedia/vdr/Makefile b/multimedia/vdr/Makefile index babcf9f08ba2..9949f72545f9 100644 --- a/multimedia/vdr/Makefile +++ b/multimedia/vdr/Makefile @@ -7,7 +7,7 @@ PORTNAME= vdr PORTVERSION= 1.7.27 -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES= multimedia MASTER_SITES= ftp://ftp.tvdr.de/vdr/Developer/ diff --git a/multimedia/vdr/files/patch-dvbdevice.c b/multimedia/vdr/files/patch-dvbdevice.c index dfc493d52efd..89760322d0f7 100644 --- a/multimedia/vdr/files/patch-dvbdevice.c +++ b/multimedia/vdr/files/patch-dvbdevice.c @@ -8,3 +8,30 @@ #include "dvbdevice.h" #include <ctype.h> #include <errno.h> +@@ -592,7 +598,7 @@ int cDvbTuner::GetSignalQuality(void) co + while (1) { + if (ioctl(fd_frontend, FE_READ_SNR, &Snr) != -1) + break; +- if (errno == EOPNOTSUPP) { ++ if (errno == EOPNOTSUPP || errno == ENXIO) { + Snr = 0xFFFF; + HasSnr = false; + break; +@@ -605,7 +611,7 @@ int cDvbTuner::GetSignalQuality(void) co + while (1) { + if (ioctl(fd_frontend, FE_READ_BER, &Ber) != -1) + break; +- if (errno == EOPNOTSUPP) { ++ if (errno == EOPNOTSUPP || errno == ENXIO) { + Ber = 0; + HasBer = false; + break; +@@ -618,7 +624,7 @@ int cDvbTuner::GetSignalQuality(void) co + while (1) { + if (ioctl(fd_frontend, FE_READ_UNCORRECTED_BLOCKS, &Unc) != -1) + break; +- if (errno == EOPNOTSUPP) { ++ if (errno == EOPNOTSUPP || errno == ENXIO) { + Unc = 0; + HasUnc = false; + break; diff --git a/multimedia/vdr/files/stb0899-signalstrength.patch b/multimedia/vdr/files/stb0899-signalstrength.patch index cc8816dbff5d..669a05f1133a 100644 --- a/multimedia/vdr/files/stb0899-signalstrength.patch +++ b/multimedia/vdr/files/stb0899-signalstrength.patch @@ -1,6 +1,6 @@ --- dvbdevice.c.orig +++ dvbdevice.c -@@ -559,6 +560,12 @@ int cDvbTuner::GetSignalStrength(void) c +@@ -560,6 +560,12 @@ int cDvbTuner::GetSignalStrength(void) c switch (subsystemId) { case 0x13C21019: MaxSignal = 670; break; // TT-budget S2-3200 (DVB-S/DVB-S2) } @@ -13,3 +13,16 @@ int s = int(Signal) * 100 / MaxSignal; if (s > 100) s = 100; +@@ -632,6 +638,12 @@ int cDvbTuner::GetSignalQuality(void) co + switch (subsystemId) { + case 0x13C21019: MaxSnr = 200; break; // TT-budget S2-3200 (DVB-S/DVB-S2) + } ++#if 1 ++ // XXX This is likely not correct for all cards using stb0899 ++ // but pctv452e usb ones seem to be affected too... ++ if (!strcmp(device->DeviceName(), "STB0899 Multistandard")) ++ MaxSnr = 200; ++#endif + int a = int(Snr) * 100 / MaxSnr; + int b = 100 - (Unc * 10 + (Ber / 256) * 5); + if (b < 0) |