- Philips: added support for ChannelMap_45 format

- Philips: fixed display of symbol rate and frequency (off by factor 1000 depending of list and DVB source)
- Philips: fixed special characters in channel names (e.g. german umlauts)
- Philips: "ServiceType" now only shows "TV" or "Radio". There is no information about HD/SD in the file.
This commit is contained in:
Horst Beham
2021-01-17 15:44:45 +01:00
parent fd603ac8ec
commit c9fb32f40b
15 changed files with 394 additions and 405 deletions

View File

@@ -3,6 +3,42 @@
/***********************************************************
* Philips ChannelMap_45 format
***********************************************************/
public struct Ph_ChannelMap45_CableDbBin
{
dword majorVersion;
dword minorVersion;
dword recordCount;
struct
{
var off0 = current_offset;
dword id;
dword freq;
dword number;
dword analogUid;
dword onid;
dword tsid;
dword sid;
dword symRate;
dword logoNr;
dword scrambleStat;
dword locked;
dword modulation;
dword unk1;
dword serviceType;
dword systemHideMaybe;
dword isUserModifiedLogo;
dword serviceEdit;
dword streamPriorityMaybe;
dword unk2;
word unk3TransponderRelated;
word unk4TransponderRelated;
byte unk3[8];
wchar_t name[32+1];
byte unk[156 - (current_offset - off0)];
} Channels[recordCount];
};
public struct Ph_ChannelMap45_SatelliteDbBin

View File

@@ -45,7 +45,7 @@ public struct Ph_SatelliteDat
dword crc32;
};
public struct Ph_TuneinfoDat
public struct Ph_TuneinfoDat_1_0
{
word unk1;
word unk2;
@@ -66,7 +66,36 @@ public struct Ph_TuneinfoDat
byte unk2[9];
word tsid;
word onid;
word unk3;
byte unk3[2];
char networkName[32];
word unk4;
byte unk[recordSize - (current_offset - off0)];
} Transponders[recordCount];
dword crc32;
};
public struct Ph_TuneinfoDat_1_2
{
word unk1;
word unk2;
dword recordSize;
dword recordCount;
Ph_NextPrevTableEntry NextPrevTable[recordCount];
struct
{
var off0 = current_offset;
word symbolRate;
word freqInMhz;
word unk1;
struct
{
byte unk : 4;
byte satIndex: 4;
} u1a;
byte unk2[9];
word tsid;
word onid;
byte unk3[6];
char networkName[32];
word unk4;
byte unk[recordSize - (current_offset - off0)];
@@ -138,6 +167,37 @@ public struct Ph_FavoriteDat
dword crc32;
};
public struct Ph_SatelliteDigSrvTable_11
{
dword version;
dword unk2;
dword chRecordSize;
dword channelCount;
dword versionCode;
struct Ph_CableChannel
{
var off0 = current_offset;
dword checksum;
byte unk1[16];
dword symbolRate;
byte unk2[16];
dword freq;
word onid;
word sid;
word tsid;
byte unk3b[58];
word progNrMostly;
byte unk4[6];
word progNr;
byte unk5[22];
byte locked;
byte isFav;
byte unk6[68];
wchar_t channelName[32];
byte unk4[chRecordSize - (current_offset - off0)];
} Channels[channelCount];
};
/***********************************************************
* channellib / antenna and cable files
***********************************************************/