diff --git a/source/ChanSort.Api/Model/ChannelInfo.cs b/source/ChanSort.Api/Model/ChannelInfo.cs index bbecc9c..0d7d84b 100644 --- a/source/ChanSort.Api/Model/ChannelInfo.cs +++ b/source/ChanSort.Api/Model/ChannelInfo.cs @@ -9,6 +9,7 @@ namespace ChanSort.Api private string uid; private string serviceTypeName; + private int newProgramNr; public virtual bool IsDeleted { get; set; } public SignalSource SignalSource { get; set; } @@ -28,10 +29,21 @@ namespace ChanSort.Api /// original program number from the file, except for channels with IsDeleted==true, which will have the value -1 /// public int OldProgramNr { get; set; } + /// /// new program number or -1, if the channel isn't assigned a number or has IsDeleted==true /// - public int NewProgramNr { get; set; } + public int NewProgramNr + { + get => newProgramNr; + set + { + if (value == 0) + { + } + newProgramNr = value; + } + } public string Name { get; set; } public string ShortName { get; set; } diff --git a/source/ChanSort.Loader.PhilipsBin/ChanSort.Loader.PhilipsBin.csproj b/source/ChanSort.Loader.PhilipsBin/ChanSort.Loader.PhilipsBin.csproj index cc11a55..2c67c2d 100644 --- a/source/ChanSort.Loader.PhilipsBin/ChanSort.Loader.PhilipsBin.csproj +++ b/source/ChanSort.Loader.PhilipsBin/ChanSort.Loader.PhilipsBin.csproj @@ -75,9 +75,9 @@ - - PreserveNewest - + + Always + \ No newline at end of file diff --git a/source/ChanSort.Loader.PhilipsBin/Properties/AssemblyInfo.cs b/source/ChanSort.Loader.PhilipsBin/Properties/AssemblyInfo.cs index 6de427c..7c55a2a 100644 --- a/source/ChanSort.Loader.PhilipsBin/Properties/AssemblyInfo.cs +++ b/source/ChanSort.Loader.PhilipsBin/Properties/AssemblyInfo.cs @@ -2,6 +2,8 @@ using System.Runtime.CompilerServices; using System.Runtime.InteropServices; +[assembly: InternalsVisibleTo("Test.Loader.PhilipsBin")] + // General Information about an assembly is controlled through the following // set of attributes. Change these attribute values to modify the information // associated with an assembly. diff --git a/source/ChanSort.Loader.PhilipsBin/Serializer.cs b/source/ChanSort.Loader.PhilipsBin/Serializer.cs index 21bd58e..8a21833 100644 --- a/source/ChanSort.Loader.PhilipsBin/Serializer.cs +++ b/source/ChanSort.Loader.PhilipsBin/Serializer.cs @@ -2,6 +2,7 @@ using System.Collections.Generic; using System.IO; using System.Linq; +using System.Reflection; using System.Runtime.InteropServices; using System.Text; using System.Threading; @@ -72,7 +73,8 @@ namespace ChanSort.Loader.PhilipsBin this.satChannels.VisibleColumnFieldNames.Remove("Encrypted"); this.satChannels.VisibleColumnFieldNames.Remove("Hidden"); - this.ini = new IniFile("ChanSort.Loader.PhilipsBin.ini"); + string iniFile = Assembly.GetExecutingAssembly().Location.Replace(".dll", ".ini"); + this.ini = new IniFile(iniFile); } #endregion @@ -287,53 +289,64 @@ namespace ChanSort.Loader.PhilipsBin mapping.SetDataPtr(data, 12 + recordCount * 4); for (int i = 0; i < recordCount; i++, mapping.BaseOffset += recordSize) { - var ch = new ChannelInfo(list.SignalSource, i, 0, null); - - var progNr = mapping.GetWord("offProgNr"); - var transponderId = mapping.GetWord("offTransponderIndex"); - if (progNr == 0xFFFF || transponderId == 0xFFFF) - { - ch.IsDeleted = true; - ch.OldProgramNr = -1; - DataRoot.AddChannel(list, ch); - continue; - } - - ch.PcrPid = mapping.GetWord("offPcrPid") & mapping.GetMask("maskPcrPid"); - ch.Lock = mapping.GetFlag("Locked"); - ch.OriginalNetworkId = mapping.GetWord("OffOnid"); // can be 0 in some lists - ch.TransportStreamId = mapping.GetWord("offTsid"); - ch.ServiceId = mapping.GetWord("offSid"); - - ch.VideoPid = mapping.GetWord("offVpid") & mapping.GetMask("maskVpid"); - //ch.Favorites = mapping.GetFlag("IsFav") ? Favorites.A : 0; // setting this here would mess up the proper order - ch.OldProgramNr = progNr; - - dvbStringDecoder.GetChannelNames(data, mapping.BaseOffset + mapping.GetConst("offName",0), mapping.GetConst("lenName", 0), out var longName, out var shortName); - ch.Name = longName.TrimEnd('\0'); - ch.ShortName = shortName.TrimEnd('\0'); - - dvbStringDecoder.GetChannelNames(data, mapping.BaseOffset + mapping.GetConst("offProvider", 0), mapping.GetConst("lenProvider", 0), out var provider, out _); - ch.Provider = provider.TrimEnd('\0'); - - if (this.DataRoot.Transponder.TryGetValue(transponderId, out var t)) - { - ch.Transponder = t; - ch.FreqInMhz = t.FrequencyInMhz; - ch.SymbolRate = t.SymbolRate; - ch.SatPosition = t.Satellite?.OrbitalPosition; - ch.Satellite = t.Satellite?.Name; - if (ch.OriginalNetworkId == 0) - ch.OriginalNetworkId = t.OriginalNetworkId; - if (ch.TransportStreamId == 0) - ch.TransportStreamId = t.TransportStreamId; - } - + var ch = LoadDvbsChannel(list, mapping, i, dvbStringDecoder); this.DataRoot.AddChannel(list, ch); } } #endregion + #region LoadDvbsChannel + private ChannelInfo LoadDvbsChannel(ChannelList list, DataMapping mapping, int recordIndex, DvbStringDecoder dvbStringDecoder) + { + var transponderId = mapping.GetWord("offTransponderIndex"); + var progNr = mapping.GetWord("offProgNr"); + var ch = new ChannelInfo(list.SignalSource, recordIndex, progNr, null); + + // deleted channels must be kept in the list because their records must also be physically reordered when saving the list + if (progNr == 0xFFFF || transponderId == 0xFFFF) + { + ch.IsDeleted = true; + ch.OldProgramNr = -1; + return ch; + } + + // onid, tsid, pcrpid and vpid can be 0 in some lists + ch.PcrPid = mapping.GetWord("offPcrPid") & mapping.GetMask("maskPcrPid"); + ch.Lock = mapping.GetFlag("Locked"); + ch.OriginalNetworkId = mapping.GetWord("OffOnid"); + ch.TransportStreamId = mapping.GetWord("offTsid"); + ch.ServiceId = mapping.GetWord("offSid"); + ch.VideoPid = mapping.GetWord("offVpid") & mapping.GetMask("maskVpid"); + ch.Favorites = mapping.GetFlag("IsFav") ? Favorites.A : 0; + ch.OldProgramNr = progNr; + + // the 0x1F as the first byte of the channel name is likely the DVB encoding indicator for UTF-8. So we use the DvbStringDecoder here + dvbStringDecoder.GetChannelNames(mapping.Data, mapping.BaseOffset + mapping.GetConst("offName", 0), mapping.GetConst("lenName", 0), out var longName, out var shortName); + ch.Name = longName.TrimEnd('\0'); + ch.ShortName = shortName.TrimEnd('\0'); + + dvbStringDecoder.GetChannelNames(mapping.Data, mapping.BaseOffset + mapping.GetConst("offProvider", 0), mapping.GetConst("lenProvider", 0), out var provider, out _); + ch.Provider = provider.TrimEnd('\0'); + + // copy values from the satellite/transponder tables to the channel + if (this.DataRoot.Transponder.TryGetValue(transponderId, out var t)) + { + ch.Transponder = t; + ch.FreqInMhz = t.FrequencyInMhz; + ch.SymbolRate = t.SymbolRate; + ch.SatPosition = t.Satellite?.OrbitalPosition; + ch.Satellite = t.Satellite?.Name; + if (t.OriginalNetworkId != 0) + ch.OriginalNetworkId = t.OriginalNetworkId; + if (t.TransportStreamId != 0) + ch.TransportStreamId = t.TransportStreamId; + } + + return ch; + } + + #endregion + #region LoadDvbsFavorites private void LoadDvbsFavorites(string path) { diff --git a/source/ChanSort.sln b/source/ChanSort.sln index 7266222..2f74000 100644 --- a/source/ChanSort.sln +++ b/source/ChanSort.sln @@ -78,6 +78,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ChanSort.Loader.M3u", "Chan EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ChanSort.Loader.PhilipsBin", "ChanSort.Loader.PhilipsBin\ChanSort.Loader.PhilipsBin.csproj", "{1F52B5EC-A2F1-4E53-9E1A-4658296C5BB5}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Test.Loader.PhilipsBin", "Test.Loader.PhilipsBin\Test.Loader.PhilipsBin.csproj", "{36ED558E-576C-4D9D-A8C5-8D270A156B82}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -434,8 +436,20 @@ Global {1F52B5EC-A2F1-4E53-9E1A-4658296C5BB5}.Release|Any CPU.Build.0 = Release|Any CPU {1F52B5EC-A2F1-4E53-9E1A-4658296C5BB5}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU {1F52B5EC-A2F1-4E53-9E1A-4658296C5BB5}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {1F52B5EC-A2F1-4E53-9E1A-4658296C5BB5}.Release|x86.ActiveCfg = Release|Any CPU - {1F52B5EC-A2F1-4E53-9E1A-4658296C5BB5}.Release|x86.Build.0 = Release|Any CPU + {1F52B5EC-A2F1-4E53-9E1A-4658296C5BB5}.Release|x86.ActiveCfg = Release|x86 + {1F52B5EC-A2F1-4E53-9E1A-4658296C5BB5}.Release|x86.Build.0 = Release|x86 + {36ED558E-576C-4D9D-A8C5-8D270A156B82}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {36ED558E-576C-4D9D-A8C5-8D270A156B82}.Debug|Any CPU.Build.0 = Debug|Any CPU + {36ED558E-576C-4D9D-A8C5-8D270A156B82}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {36ED558E-576C-4D9D-A8C5-8D270A156B82}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {36ED558E-576C-4D9D-A8C5-8D270A156B82}.Debug|x86.ActiveCfg = Debug|x86 + {36ED558E-576C-4D9D-A8C5-8D270A156B82}.Debug|x86.Build.0 = Debug|x86 + {36ED558E-576C-4D9D-A8C5-8D270A156B82}.Release|Any CPU.ActiveCfg = Release|Any CPU + {36ED558E-576C-4D9D-A8C5-8D270A156B82}.Release|Any CPU.Build.0 = Release|Any CPU + {36ED558E-576C-4D9D-A8C5-8D270A156B82}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {36ED558E-576C-4D9D-A8C5-8D270A156B82}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {36ED558E-576C-4D9D-A8C5-8D270A156B82}.Release|x86.ActiveCfg = Release|x86 + {36ED558E-576C-4D9D-A8C5-8D270A156B82}.Release|x86.Build.0 = Release|x86 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/source/Test.Loader.PhilipsBin/PhilipsS2channellibTest.cs b/source/Test.Loader.PhilipsBin/PhilipsS2channellibTest.cs new file mode 100644 index 0000000..1a3d82d --- /dev/null +++ b/source/Test.Loader.PhilipsBin/PhilipsS2channellibTest.cs @@ -0,0 +1,97 @@ +using System; +using System.IO; +using System.Linq; +using ChanSort.Api; +using Microsoft.VisualStudio.TestTools.UnitTesting; + +namespace Test.Loader.PhilipsBin +{ + [TestClass] + public class PhilipsS2channellibTest + { + [TestMethod] + public void TestFiles1() + { + var baseDir = Path.GetDirectoryName(this.GetType().Assembly.Location); + var baseFile = Path.Combine(baseDir, "TestFiles1\\Repair\\ChannelList\\chanLst.bin"); + var plugin = new ChanSort.Loader.PhilipsBin.SerializerPlugin(); + var loader = plugin.CreateSerializer(baseFile); + loader.Load(); + + var list = loader.DataRoot.GetChannelList(SignalSource.DvbS); + Assert.AreEqual(5000, list.Channels.Count); + Assert.AreEqual(4975, list.Channels.Count(ch => !ch.IsDeleted)); + + var ch0 = list.Channels.FirstOrDefault(ch => ch.RecordIndex == 0); + Assert.IsTrue(ch0.IsDeleted); + + var ch1 = list.Channels.FirstOrDefault(ch => ch.RecordIndex == 1); + Assert.AreEqual(2, ch1.OldProgramNr); + Assert.AreEqual("ZDF HD", ch1.Name); + Assert.AreEqual(11361, ch1.FreqInMhz); + Assert.AreEqual("Astra 1", ch1.Satellite); + Assert.AreEqual(1, ch1.OriginalNetworkId); + Assert.AreEqual(1011, ch1.TransportStreamId); + Assert.AreEqual(11110, ch1.ServiceId); + Assert.AreEqual(6110, ch1.PcrPid); + Assert.AreEqual(6110, ch1.VideoPid); + Assert.AreEqual(21999, ch1.SymbolRate); + Assert.AreEqual("ZDFvision", ch1.Provider); + } + + [TestMethod] + public void TestFiles2() + { + var baseDir = Path.GetDirectoryName(this.GetType().Assembly.Location); + var baseFile = Path.Combine(baseDir, "TestFiles2\\Repair\\ChannelList\\chanLst.bin"); + var plugin = new ChanSort.Loader.PhilipsBin.SerializerPlugin(); + var loader = plugin.CreateSerializer(baseFile); + loader.Load(); + + var list = loader.DataRoot.GetChannelList(SignalSource.DvbS); + Assert.AreEqual(5000, list.Channels.Count); + Assert.AreEqual(1326, list.Channels.Count(ch => !ch.IsDeleted)); + + var ch0 = list.Channels.FirstOrDefault(ch => ch.RecordIndex == 0); + Assert.AreEqual(1, ch0.OldProgramNr); + Assert.AreEqual("Das Erste HD", ch0.Name); + Assert.AreEqual(11493, ch0.FreqInMhz); + Assert.AreEqual("Astra 1", ch0.Satellite); + //Assert.AreEqual(1, ch0.OriginalNetworkId); + Assert.AreEqual(1019, ch0.TransportStreamId); + Assert.AreEqual(10301, ch0.ServiceId); + //Assert.AreEqual(6110, ch1.PcrPid); + //Assert.AreEqual(6110, ch1.VideoPid); + Assert.AreEqual(21999, ch0.SymbolRate); + Assert.AreEqual("ARD", ch0.Provider); + Assert.IsFalse(ch0.Lock); + Assert.AreEqual((Favorites)0, ch0.Favorites); + Assert.IsFalse(ch0.IsDeleted); + + var ch2 = list.Channels.FirstOrDefault(ch => ch.RecordIndex == 2); + Assert.AreEqual("NDR FS HH", ch2.Name); + Assert.IsTrue(ch2.Lock); + Assert.AreEqual((Favorites)0, ch2.Favorites); + + var ch3 = list.Channels.FirstOrDefault(ch => ch.RecordIndex == 3); + Assert.AreEqual("SAT.1", ch3.Name); + Assert.AreEqual(Favorites.A, ch3.Favorites); + + var ch4 = list.Channels.FirstOrDefault(ch => ch.RecordIndex == 4); + Assert.AreEqual("arte HD", ch4.Name); + Assert.AreEqual(Favorites.A, ch4.Favorites); + + var ch7 = list.Channels.FirstOrDefault(ch => ch.RecordIndex == 7); + Assert.AreEqual("RTL2", ch7.Name); + Assert.AreEqual(Favorites.A, ch7.Favorites); + + var ch8 = list.Channels.FirstOrDefault(ch => ch.RecordIndex == 8); + Assert.IsTrue(ch8.IsDeleted); + + Assert.AreEqual(1, ch4.OldFavIndex[0]); + Assert.AreEqual(2, ch7.OldFavIndex[0]); + Assert.AreEqual(3, ch3.OldFavIndex[0]); + } + + } +} diff --git a/source/Test.Loader.PhilipsBin/Properties/AssemblyInfo.cs b/source/Test.Loader.PhilipsBin/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..f443e0a --- /dev/null +++ b/source/Test.Loader.PhilipsBin/Properties/AssemblyInfo.cs @@ -0,0 +1,20 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +[assembly: AssemblyTitle("Test.Loader.PhilipsBin")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("Test.Loader.PhilipsBin")] +[assembly: AssemblyCopyright("Copyright © 2020")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +[assembly: ComVisible(false)] + +[assembly: Guid("36ed558e-576c-4d9d-a8c5-8d270a156b82")] + +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/source/Test.Loader.PhilipsBin/Test.Loader.PhilipsBin.csproj b/source/Test.Loader.PhilipsBin/Test.Loader.PhilipsBin.csproj new file mode 100644 index 0000000..e0b81b1 --- /dev/null +++ b/source/Test.Loader.PhilipsBin/Test.Loader.PhilipsBin.csproj @@ -0,0 +1,260 @@ + + + + + + Debug + AnyCPU + {36ED558E-576C-4D9D-A8C5-8D270A156B82} + Library + Properties + Test.Loader.PhilipsBin + Test.Loader.PhilipsBin + v4.8 + 512 + {3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} + 15.0 + $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion) + $(ProgramFiles)\Common Files\microsoft shared\VSTT\$(VisualStudioVersion)\UITestExtensionPackages + False + UnitTest + + + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + true + ..\Debug\ + DEBUG;TRACE + full + x86 + 7.3 + prompt + MinimumRecommendedRules.ruleset + + + bin\x86\Release\ + TRACE + true + pdbonly + x86 + 7.3 + prompt + MinimumRecommendedRules.ruleset + + + + ..\packages\MSTest.TestFramework.2.1.1\lib\net45\Microsoft.VisualStudio.TestPlatform.TestFramework.dll + + + ..\packages\MSTest.TestFramework.2.1.1\lib\net45\Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.dll + + + + + + + + + + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + + + {dccffa08-472b-4d17-bb90-8f513fc01392} + ChanSort.Api + + + {1f52b5ec-a2f1-4e53-9e1a-4658296c5bb5} + ChanSort.Loader.PhilipsBin + + + + + + + This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. + + + + + + \ No newline at end of file diff --git a/source/Test.Loader.PhilipsBin/TestFiles1/Repair/ChannelList/chanLst.bin b/source/Test.Loader.PhilipsBin/TestFiles1/Repair/ChannelList/chanLst.bin new file mode 100644 index 0000000..71f4578 Binary files /dev/null and b/source/Test.Loader.PhilipsBin/TestFiles1/Repair/ChannelList/chanLst.bin differ diff --git a/source/Test.Loader.PhilipsBin/TestFiles1/Repair/ChannelList/channellib/AntennaAnalogTable b/source/Test.Loader.PhilipsBin/TestFiles1/Repair/ChannelList/channellib/AntennaAnalogTable new file mode 100644 index 0000000..e00beee Binary files /dev/null and b/source/Test.Loader.PhilipsBin/TestFiles1/Repair/ChannelList/channellib/AntennaAnalogTable differ diff --git a/source/Test.Loader.PhilipsBin/TestFiles1/Repair/ChannelList/channellib/AntennaDigSrvTable b/source/Test.Loader.PhilipsBin/TestFiles1/Repair/ChannelList/channellib/AntennaDigSrvTable new file mode 100644 index 0000000..fb47aae Binary files /dev/null and b/source/Test.Loader.PhilipsBin/TestFiles1/Repair/ChannelList/channellib/AntennaDigSrvTable differ diff --git a/source/Test.Loader.PhilipsBin/TestFiles1/Repair/ChannelList/channellib/AntennaDigTSTable b/source/Test.Loader.PhilipsBin/TestFiles1/Repair/ChannelList/channellib/AntennaDigTSTable new file mode 100644 index 0000000..a7c0be8 Binary files /dev/null and b/source/Test.Loader.PhilipsBin/TestFiles1/Repair/ChannelList/channellib/AntennaDigTSTable differ diff --git a/source/Test.Loader.PhilipsBin/TestFiles1/Repair/ChannelList/channellib/AntennaFrqMapTable b/source/Test.Loader.PhilipsBin/TestFiles1/Repair/ChannelList/channellib/AntennaFrqMapTable new file mode 100644 index 0000000..d07e895 Binary files /dev/null and b/source/Test.Loader.PhilipsBin/TestFiles1/Repair/ChannelList/channellib/AntennaFrqMapTable differ diff --git a/source/Test.Loader.PhilipsBin/TestFiles1/Repair/ChannelList/channellib/AntennaPresetTable b/source/Test.Loader.PhilipsBin/TestFiles1/Repair/ChannelList/channellib/AntennaPresetTable new file mode 100644 index 0000000..606885a Binary files /dev/null and b/source/Test.Loader.PhilipsBin/TestFiles1/Repair/ChannelList/channellib/AntennaPresetTable differ diff --git a/source/Test.Loader.PhilipsBin/TestFiles1/Repair/ChannelList/channellib/CableAnalogTable b/source/Test.Loader.PhilipsBin/TestFiles1/Repair/ChannelList/channellib/CableAnalogTable new file mode 100644 index 0000000..e00beee Binary files /dev/null and b/source/Test.Loader.PhilipsBin/TestFiles1/Repair/ChannelList/channellib/CableAnalogTable differ diff --git a/source/Test.Loader.PhilipsBin/TestFiles1/Repair/ChannelList/channellib/CableDigSrvTable b/source/Test.Loader.PhilipsBin/TestFiles1/Repair/ChannelList/channellib/CableDigSrvTable new file mode 100644 index 0000000..48c48a1 Binary files /dev/null and b/source/Test.Loader.PhilipsBin/TestFiles1/Repair/ChannelList/channellib/CableDigSrvTable differ diff --git a/source/Test.Loader.PhilipsBin/TestFiles1/Repair/ChannelList/channellib/CableDigTSTable b/source/Test.Loader.PhilipsBin/TestFiles1/Repair/ChannelList/channellib/CableDigTSTable new file mode 100644 index 0000000..a25ec70 Binary files /dev/null and b/source/Test.Loader.PhilipsBin/TestFiles1/Repair/ChannelList/channellib/CableDigTSTable differ diff --git a/source/Test.Loader.PhilipsBin/TestFiles1/Repair/ChannelList/channellib/CableFrqMapTable b/source/Test.Loader.PhilipsBin/TestFiles1/Repair/ChannelList/channellib/CableFrqMapTable new file mode 100644 index 0000000..212df40 Binary files /dev/null and b/source/Test.Loader.PhilipsBin/TestFiles1/Repair/ChannelList/channellib/CableFrqMapTable differ diff --git a/source/Test.Loader.PhilipsBin/TestFiles1/Repair/ChannelList/channellib/CablePresetTable b/source/Test.Loader.PhilipsBin/TestFiles1/Repair/ChannelList/channellib/CablePresetTable new file mode 100644 index 0000000..f108b07 Binary files /dev/null and b/source/Test.Loader.PhilipsBin/TestFiles1/Repair/ChannelList/channellib/CablePresetTable differ diff --git a/source/Test.Loader.PhilipsBin/TestFiles1/Repair/ChannelList/s2channellib/adk_user_pref.dat b/source/Test.Loader.PhilipsBin/TestFiles1/Repair/ChannelList/s2channellib/adk_user_pref.dat new file mode 100644 index 0000000..f309cd4 Binary files /dev/null and b/source/Test.Loader.PhilipsBin/TestFiles1/Repair/ChannelList/s2channellib/adk_user_pref.dat differ diff --git a/source/Test.Loader.PhilipsBin/TestFiles1/Repair/ChannelList/s2channellib/adk_user_pref_backup.dat b/source/Test.Loader.PhilipsBin/TestFiles1/Repair/ChannelList/s2channellib/adk_user_pref_backup.dat new file mode 100644 index 0000000..f309cd4 Binary files /dev/null and b/source/Test.Loader.PhilipsBin/TestFiles1/Repair/ChannelList/s2channellib/adk_user_pref_backup.dat differ diff --git a/source/Test.Loader.PhilipsBin/TestFiles1/Repair/ChannelList/s2channellib/db_file_info.dat b/source/Test.Loader.PhilipsBin/TestFiles1/Repair/ChannelList/s2channellib/db_file_info.dat new file mode 100644 index 0000000..5e3defd Binary files /dev/null and b/source/Test.Loader.PhilipsBin/TestFiles1/Repair/ChannelList/s2channellib/db_file_info.dat differ diff --git a/source/Test.Loader.PhilipsBin/TestFiles1/Repair/ChannelList/s2channellib/db_file_info_backup.dat b/source/Test.Loader.PhilipsBin/TestFiles1/Repair/ChannelList/s2channellib/db_file_info_backup.dat new file mode 100644 index 0000000..526fb8e Binary files /dev/null and b/source/Test.Loader.PhilipsBin/TestFiles1/Repair/ChannelList/s2channellib/db_file_info_backup.dat differ diff --git a/source/Test.Loader.PhilipsBin/TestFiles1/Repair/ChannelList/s2channellib/favorite.dat b/source/Test.Loader.PhilipsBin/TestFiles1/Repair/ChannelList/s2channellib/favorite.dat new file mode 100644 index 0000000..e16bdec Binary files /dev/null and b/source/Test.Loader.PhilipsBin/TestFiles1/Repair/ChannelList/s2channellib/favorite.dat differ diff --git a/source/Test.Loader.PhilipsBin/TestFiles1/Repair/ChannelList/s2channellib/favorite_backup.dat b/source/Test.Loader.PhilipsBin/TestFiles1/Repair/ChannelList/s2channellib/favorite_backup.dat new file mode 100644 index 0000000..e16bdec Binary files /dev/null and b/source/Test.Loader.PhilipsBin/TestFiles1/Repair/ChannelList/s2channellib/favorite_backup.dat differ diff --git a/source/Test.Loader.PhilipsBin/TestFiles1/Repair/ChannelList/s2channellib/lnb.dat b/source/Test.Loader.PhilipsBin/TestFiles1/Repair/ChannelList/s2channellib/lnb.dat new file mode 100644 index 0000000..441218c Binary files /dev/null and b/source/Test.Loader.PhilipsBin/TestFiles1/Repair/ChannelList/s2channellib/lnb.dat differ diff --git a/source/Test.Loader.PhilipsBin/TestFiles1/Repair/ChannelList/s2channellib/lnb_backup.dat b/source/Test.Loader.PhilipsBin/TestFiles1/Repair/ChannelList/s2channellib/lnb_backup.dat new file mode 100644 index 0000000..441218c Binary files /dev/null and b/source/Test.Loader.PhilipsBin/TestFiles1/Repair/ChannelList/s2channellib/lnb_backup.dat differ diff --git a/source/Test.Loader.PhilipsBin/TestFiles1/Repair/ChannelList/s2channellib/satellite.dat b/source/Test.Loader.PhilipsBin/TestFiles1/Repair/ChannelList/s2channellib/satellite.dat new file mode 100644 index 0000000..2d7b658 Binary files /dev/null and b/source/Test.Loader.PhilipsBin/TestFiles1/Repair/ChannelList/s2channellib/satellite.dat differ diff --git a/source/Test.Loader.PhilipsBin/TestFiles1/Repair/ChannelList/s2channellib/satellite_backup.dat b/source/Test.Loader.PhilipsBin/TestFiles1/Repair/ChannelList/s2channellib/satellite_backup.dat new file mode 100644 index 0000000..7a62845 Binary files /dev/null and b/source/Test.Loader.PhilipsBin/TestFiles1/Repair/ChannelList/s2channellib/satellite_backup.dat differ diff --git a/source/Test.Loader.PhilipsBin/TestFiles1/Repair/ChannelList/s2channellib/service.dat b/source/Test.Loader.PhilipsBin/TestFiles1/Repair/ChannelList/s2channellib/service.dat new file mode 100644 index 0000000..2145a8b Binary files /dev/null and b/source/Test.Loader.PhilipsBin/TestFiles1/Repair/ChannelList/s2channellib/service.dat differ diff --git a/source/Test.Loader.PhilipsBin/TestFiles1/Repair/ChannelList/s2channellib/service_backup.dat b/source/Test.Loader.PhilipsBin/TestFiles1/Repair/ChannelList/s2channellib/service_backup.dat new file mode 100644 index 0000000..533f372 Binary files /dev/null and b/source/Test.Loader.PhilipsBin/TestFiles1/Repair/ChannelList/s2channellib/service_backup.dat differ diff --git a/source/Test.Loader.PhilipsBin/TestFiles1/Repair/ChannelList/s2channellib/tuneinfo.dat b/source/Test.Loader.PhilipsBin/TestFiles1/Repair/ChannelList/s2channellib/tuneinfo.dat new file mode 100644 index 0000000..b520791 Binary files /dev/null and b/source/Test.Loader.PhilipsBin/TestFiles1/Repair/ChannelList/s2channellib/tuneinfo.dat differ diff --git a/source/Test.Loader.PhilipsBin/TestFiles1/Repair/ChannelList/s2channellib/tuneinfo_backup.dat b/source/Test.Loader.PhilipsBin/TestFiles1/Repair/ChannelList/s2channellib/tuneinfo_backup.dat new file mode 100644 index 0000000..d69e2a1 Binary files /dev/null and b/source/Test.Loader.PhilipsBin/TestFiles1/Repair/ChannelList/s2channellib/tuneinfo_backup.dat differ diff --git a/source/Test.Loader.PhilipsBin/TestFiles1/Repair/ChannelList/s2channellib/user_pref.dat b/source/Test.Loader.PhilipsBin/TestFiles1/Repair/ChannelList/s2channellib/user_pref.dat new file mode 100644 index 0000000..0609c54 Binary files /dev/null and b/source/Test.Loader.PhilipsBin/TestFiles1/Repair/ChannelList/s2channellib/user_pref.dat differ diff --git a/source/Test.Loader.PhilipsBin/TestFiles1/Repair/ChannelList/s2channellib/user_pref_backup.dat b/source/Test.Loader.PhilipsBin/TestFiles1/Repair/ChannelList/s2channellib/user_pref_backup.dat new file mode 100644 index 0000000..6c8bc40 Binary files /dev/null and b/source/Test.Loader.PhilipsBin/TestFiles1/Repair/ChannelList/s2channellib/user_pref_backup.dat differ diff --git a/source/Test.Loader.PhilipsBin/TestFiles2/Repair/ChannelList/chanLst.bin b/source/Test.Loader.PhilipsBin/TestFiles2/Repair/ChannelList/chanLst.bin new file mode 100644 index 0000000..55e8f8e Binary files /dev/null and b/source/Test.Loader.PhilipsBin/TestFiles2/Repair/ChannelList/chanLst.bin differ diff --git a/source/Test.Loader.PhilipsBin/TestFiles2/Repair/ChannelList/channellib/AntennaAnalogTable b/source/Test.Loader.PhilipsBin/TestFiles2/Repair/ChannelList/channellib/AntennaAnalogTable new file mode 100644 index 0000000..e00beee Binary files /dev/null and b/source/Test.Loader.PhilipsBin/TestFiles2/Repair/ChannelList/channellib/AntennaAnalogTable differ diff --git a/source/Test.Loader.PhilipsBin/TestFiles2/Repair/ChannelList/channellib/AntennaDigSrvTable b/source/Test.Loader.PhilipsBin/TestFiles2/Repair/ChannelList/channellib/AntennaDigSrvTable new file mode 100644 index 0000000..fb47aae Binary files /dev/null and b/source/Test.Loader.PhilipsBin/TestFiles2/Repair/ChannelList/channellib/AntennaDigSrvTable differ diff --git a/source/Test.Loader.PhilipsBin/TestFiles2/Repair/ChannelList/channellib/AntennaDigTSTable b/source/Test.Loader.PhilipsBin/TestFiles2/Repair/ChannelList/channellib/AntennaDigTSTable new file mode 100644 index 0000000..a7c0be8 Binary files /dev/null and b/source/Test.Loader.PhilipsBin/TestFiles2/Repair/ChannelList/channellib/AntennaDigTSTable differ diff --git a/source/Test.Loader.PhilipsBin/TestFiles2/Repair/ChannelList/channellib/AntennaFrqMapTable b/source/Test.Loader.PhilipsBin/TestFiles2/Repair/ChannelList/channellib/AntennaFrqMapTable new file mode 100644 index 0000000..d07e895 Binary files /dev/null and b/source/Test.Loader.PhilipsBin/TestFiles2/Repair/ChannelList/channellib/AntennaFrqMapTable differ diff --git a/source/Test.Loader.PhilipsBin/TestFiles2/Repair/ChannelList/channellib/AntennaPresetTable b/source/Test.Loader.PhilipsBin/TestFiles2/Repair/ChannelList/channellib/AntennaPresetTable new file mode 100644 index 0000000..606885a Binary files /dev/null and b/source/Test.Loader.PhilipsBin/TestFiles2/Repair/ChannelList/channellib/AntennaPresetTable differ diff --git a/source/Test.Loader.PhilipsBin/TestFiles2/Repair/ChannelList/channellib/CableAnalogTable b/source/Test.Loader.PhilipsBin/TestFiles2/Repair/ChannelList/channellib/CableAnalogTable new file mode 100644 index 0000000..421d2bf Binary files /dev/null and b/source/Test.Loader.PhilipsBin/TestFiles2/Repair/ChannelList/channellib/CableAnalogTable differ diff --git a/source/Test.Loader.PhilipsBin/TestFiles2/Repair/ChannelList/channellib/CableDigSrvTable b/source/Test.Loader.PhilipsBin/TestFiles2/Repair/ChannelList/channellib/CableDigSrvTable new file mode 100644 index 0000000..fb47aae Binary files /dev/null and b/source/Test.Loader.PhilipsBin/TestFiles2/Repair/ChannelList/channellib/CableDigSrvTable differ diff --git a/source/Test.Loader.PhilipsBin/TestFiles2/Repair/ChannelList/channellib/CableDigTSTable b/source/Test.Loader.PhilipsBin/TestFiles2/Repair/ChannelList/channellib/CableDigTSTable new file mode 100644 index 0000000..a7c0be8 Binary files /dev/null and b/source/Test.Loader.PhilipsBin/TestFiles2/Repair/ChannelList/channellib/CableDigTSTable differ diff --git a/source/Test.Loader.PhilipsBin/TestFiles2/Repair/ChannelList/channellib/CableFrqMapTable b/source/Test.Loader.PhilipsBin/TestFiles2/Repair/ChannelList/channellib/CableFrqMapTable new file mode 100644 index 0000000..d07e895 Binary files /dev/null and b/source/Test.Loader.PhilipsBin/TestFiles2/Repair/ChannelList/channellib/CableFrqMapTable differ diff --git a/source/Test.Loader.PhilipsBin/TestFiles2/Repair/ChannelList/channellib/CablePresetTable b/source/Test.Loader.PhilipsBin/TestFiles2/Repair/ChannelList/channellib/CablePresetTable new file mode 100644 index 0000000..6b0abbe Binary files /dev/null and b/source/Test.Loader.PhilipsBin/TestFiles2/Repair/ChannelList/channellib/CablePresetTable differ diff --git a/source/Test.Loader.PhilipsBin/TestFiles2/Repair/ChannelList/s2channellib/adk_user_pref.dat b/source/Test.Loader.PhilipsBin/TestFiles2/Repair/ChannelList/s2channellib/adk_user_pref.dat new file mode 100644 index 0000000..c1a4829 Binary files /dev/null and b/source/Test.Loader.PhilipsBin/TestFiles2/Repair/ChannelList/s2channellib/adk_user_pref.dat differ diff --git a/source/Test.Loader.PhilipsBin/TestFiles2/Repair/ChannelList/s2channellib/adk_user_pref_backup.dat b/source/Test.Loader.PhilipsBin/TestFiles2/Repair/ChannelList/s2channellib/adk_user_pref_backup.dat new file mode 100644 index 0000000..b8df2a7 Binary files /dev/null and b/source/Test.Loader.PhilipsBin/TestFiles2/Repair/ChannelList/s2channellib/adk_user_pref_backup.dat differ diff --git a/source/Test.Loader.PhilipsBin/TestFiles2/Repair/ChannelList/s2channellib/db_file_info.dat b/source/Test.Loader.PhilipsBin/TestFiles2/Repair/ChannelList/s2channellib/db_file_info.dat new file mode 100644 index 0000000..d503264 Binary files /dev/null and b/source/Test.Loader.PhilipsBin/TestFiles2/Repair/ChannelList/s2channellib/db_file_info.dat differ diff --git a/source/Test.Loader.PhilipsBin/TestFiles2/Repair/ChannelList/s2channellib/db_file_info_backup.dat b/source/Test.Loader.PhilipsBin/TestFiles2/Repair/ChannelList/s2channellib/db_file_info_backup.dat new file mode 100644 index 0000000..5b4a45c Binary files /dev/null and b/source/Test.Loader.PhilipsBin/TestFiles2/Repair/ChannelList/s2channellib/db_file_info_backup.dat differ diff --git a/source/Test.Loader.PhilipsBin/TestFiles2/Repair/ChannelList/s2channellib/favorite.dat b/source/Test.Loader.PhilipsBin/TestFiles2/Repair/ChannelList/s2channellib/favorite.dat new file mode 100644 index 0000000..a25484f Binary files /dev/null and b/source/Test.Loader.PhilipsBin/TestFiles2/Repair/ChannelList/s2channellib/favorite.dat differ diff --git a/source/Test.Loader.PhilipsBin/TestFiles2/Repair/ChannelList/s2channellib/favorite_backup.dat b/source/Test.Loader.PhilipsBin/TestFiles2/Repair/ChannelList/s2channellib/favorite_backup.dat new file mode 100644 index 0000000..a25484f Binary files /dev/null and b/source/Test.Loader.PhilipsBin/TestFiles2/Repair/ChannelList/s2channellib/favorite_backup.dat differ diff --git a/source/Test.Loader.PhilipsBin/TestFiles2/Repair/ChannelList/s2channellib/lnb.dat b/source/Test.Loader.PhilipsBin/TestFiles2/Repair/ChannelList/s2channellib/lnb.dat new file mode 100644 index 0000000..743b42f Binary files /dev/null and b/source/Test.Loader.PhilipsBin/TestFiles2/Repair/ChannelList/s2channellib/lnb.dat differ diff --git a/source/Test.Loader.PhilipsBin/TestFiles2/Repair/ChannelList/s2channellib/lnb_backup.dat b/source/Test.Loader.PhilipsBin/TestFiles2/Repair/ChannelList/s2channellib/lnb_backup.dat new file mode 100644 index 0000000..743b42f Binary files /dev/null and b/source/Test.Loader.PhilipsBin/TestFiles2/Repair/ChannelList/s2channellib/lnb_backup.dat differ diff --git a/source/Test.Loader.PhilipsBin/TestFiles2/Repair/ChannelList/s2channellib/satellite.dat b/source/Test.Loader.PhilipsBin/TestFiles2/Repair/ChannelList/s2channellib/satellite.dat new file mode 100644 index 0000000..1317e81 Binary files /dev/null and b/source/Test.Loader.PhilipsBin/TestFiles2/Repair/ChannelList/s2channellib/satellite.dat differ diff --git a/source/Test.Loader.PhilipsBin/TestFiles2/Repair/ChannelList/s2channellib/satellite_backup.dat b/source/Test.Loader.PhilipsBin/TestFiles2/Repair/ChannelList/s2channellib/satellite_backup.dat new file mode 100644 index 0000000..1317e81 Binary files /dev/null and b/source/Test.Loader.PhilipsBin/TestFiles2/Repair/ChannelList/s2channellib/satellite_backup.dat differ diff --git a/source/Test.Loader.PhilipsBin/TestFiles2/Repair/ChannelList/s2channellib/service.dat b/source/Test.Loader.PhilipsBin/TestFiles2/Repair/ChannelList/s2channellib/service.dat new file mode 100644 index 0000000..ef57382 Binary files /dev/null and b/source/Test.Loader.PhilipsBin/TestFiles2/Repair/ChannelList/s2channellib/service.dat differ diff --git a/source/Test.Loader.PhilipsBin/TestFiles2/Repair/ChannelList/s2channellib/service_backup.dat b/source/Test.Loader.PhilipsBin/TestFiles2/Repair/ChannelList/s2channellib/service_backup.dat new file mode 100644 index 0000000..ef57382 Binary files /dev/null and b/source/Test.Loader.PhilipsBin/TestFiles2/Repair/ChannelList/s2channellib/service_backup.dat differ diff --git a/source/Test.Loader.PhilipsBin/TestFiles2/Repair/ChannelList/s2channellib/tuneinfo.dat b/source/Test.Loader.PhilipsBin/TestFiles2/Repair/ChannelList/s2channellib/tuneinfo.dat new file mode 100644 index 0000000..1fc71f2 Binary files /dev/null and b/source/Test.Loader.PhilipsBin/TestFiles2/Repair/ChannelList/s2channellib/tuneinfo.dat differ diff --git a/source/Test.Loader.PhilipsBin/TestFiles2/Repair/ChannelList/s2channellib/tuneinfo_backup.dat b/source/Test.Loader.PhilipsBin/TestFiles2/Repair/ChannelList/s2channellib/tuneinfo_backup.dat new file mode 100644 index 0000000..de9e049 Binary files /dev/null and b/source/Test.Loader.PhilipsBin/TestFiles2/Repair/ChannelList/s2channellib/tuneinfo_backup.dat differ diff --git a/source/Test.Loader.PhilipsBin/TestFiles2/Repair/ChannelList/s2channellib/user_pref.dat b/source/Test.Loader.PhilipsBin/TestFiles2/Repair/ChannelList/s2channellib/user_pref.dat new file mode 100644 index 0000000..622c5db Binary files /dev/null and b/source/Test.Loader.PhilipsBin/TestFiles2/Repair/ChannelList/s2channellib/user_pref.dat differ diff --git a/source/Test.Loader.PhilipsBin/TestFiles2/Repair/ChannelList/s2channellib/user_pref_backup.dat b/source/Test.Loader.PhilipsBin/TestFiles2/Repair/ChannelList/s2channellib/user_pref_backup.dat new file mode 100644 index 0000000..622c5db Binary files /dev/null and b/source/Test.Loader.PhilipsBin/TestFiles2/Repair/ChannelList/s2channellib/user_pref_backup.dat differ diff --git a/source/Test.Loader.PhilipsBin/packages.config b/source/Test.Loader.PhilipsBin/packages.config new file mode 100644 index 0000000..fcf029f --- /dev/null +++ b/source/Test.Loader.PhilipsBin/packages.config @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file