diff options
| author | Felix Domke <tmbinc@elitedvb.net> | 2005-11-16 10:32:34 +0000 |
|---|---|---|
| committer | Felix Domke <tmbinc@elitedvb.net> | 2005-11-16 10:32:34 +0000 |
| commit | cf214285bf32c54a64b226096f919ed1db007b77 (patch) | |
| tree | c0310216ca78f0300952683fd8858f551124eedd /lib | |
| parent | b0e09a2cd9a05a002222d79fb71848f4c7820ff3 (diff) | |
| download | enigma2-cf214285bf32c54a64b226096f919ed1db007b77.tar.gz enigma2-cf214285bf32c54a64b226096f919ed1db007b77.zip | |
use orbital position in isValidONIDTSID
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/dvb/scan.cpp | 11 | ||||
| -rw-r--r-- | lib/dvb/scan.h | 2 |
2 files changed, 6 insertions, 7 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); } diff --git a/lib/dvb/scan.h b/lib/dvb/scan.h index df832bd6..4cad6a2a 100644 --- a/lib/dvb/scan.h +++ b/lib/dvb/scan.h @@ -15,7 +15,7 @@ private: /* chid helper functions: */ /* heuristically determine if onid/tsid is valid */ - int isValidONIDTSID(eOriginalNetworkID onid, eTransportStreamID tsid); + int isValidONIDTSID(int orbital_position, eOriginalNetworkID onid, eTransportStreamID tsid); /* build dvb namespace */ eDVBNamespace buildNamespace(eOriginalNetworkID onid, eTransportStreamID tsid, unsigned long hash); |
