-// WORKAROUND for wrong transmitted epg data
- if ( onid == 0x85 && tsid == 0x11 && sid == 0xd3 ) // premiere sends wrong tsid here
- tsid = 0x1;
- else if ( onid == 0x85 && tsid == 0x3 && sid == 0xf5 ) // premiere sends wrong sid here
- sid = 0xdc;
+// WORKAROUND for wrong transmitted epg data (01.08.2006)
+ if ( onid == 0x85 )
+ {
+ switch( (tsid << 16) | sid )
+ {
+ case 0x01030b: sid = 0x1b; tsid = 4; break; // Premiere Win
+ case 0x0300f0: sid = 0xe0; tsid = 2; break;
+ case 0x0300f1: sid = 0xe1; tsid = 2; break;
+ case 0x0300f5: sid = 0xdc; break;
+ case 0x0400d2: sid = 0xe2; tsid = 0x11; break;
+ case 0x1100d3: sid = 0xe3; break;
+ }
+ }