aboutsummaryrefslogtreecommitdiff
path: root/lib/dvb/scan.cpp
diff options
context:
space:
mode:
authorFelix Domke <tmbinc@elitedvb.net>2005-11-16 10:32:34 +0000
committerFelix Domke <tmbinc@elitedvb.net>2005-11-16 10:32:34 +0000
commitcf214285bf32c54a64b226096f919ed1db007b77 (patch)
treec0310216ca78f0300952683fd8858f551124eedd /lib/dvb/scan.cpp
parentb0e09a2cd9a05a002222d79fb71848f4c7820ff3 (diff)
downloadenigma2-cf214285bf32c54a64b226096f919ed1db007b77.tar.gz
enigma2-cf214285bf32c54a64b226096f919ed1db007b77.zip
use orbital position in isValidONIDTSID
Diffstat (limited to 'lib/dvb/scan.cpp')
-rw-r--r--lib/dvb/scan.cpp11
1 files changed, 5 insertions, 6 deletions
diff --git a/lib/dvb/scan.cpp b/lib/dvb/scan.cpp
index 1c98dce0..961812f6 100644
--- a/lib/dvb/scan.cpp
+++ b/lib/dvb/scan.cpp
@@ -30,29 +30,28 @@ eDVBScan::~eDVBScan()
{
}
-int eDVBScan::isValidONIDTSID(eOriginalNetworkID onid, eTransportStreamID tsid)
+int eDVBScan::isValidONIDTSID(int orbital_position, eOriginalNetworkID onid, eTransportStreamID tsid)
{
switch (onid.get())
{
case 0:
- case 0xFFFF:
case 0x1111:
return 0;
case 1:
- return tsid>1;
+ return orbital_position == 192;
case 0x00B1:
return tsid != 0x00B0;
case 0x0002:
- return tsid != 0x07E8;
+ return abs(orbital_position-282) < 6;
default:
- return 1;
+ return onid.get() < 0xFF00;
}
}
eDVBNamespace eDVBScan::buildNamespace(eOriginalNetworkID onid, eTransportStreamID tsid, unsigned long hash)
{
// on valid ONIDs, ignore frequency ("sub network") part
- if (isValidONIDTSID(onid, tsid))
+ if (isValidONIDTSID((hash >> 16) & 0xFFFF, onid, tsid))
hash &= ~0xFFFF;
return eDVBNamespace(hash);
}