diff --git a/skyscraper8/Mpeg2/PacketFilter/TeiOnOffFilter.cs b/skyscraper8/Mpeg2/PacketFilter/TeiOnOffFilter.cs index 6df0809..498a9d7 100644 --- a/skyscraper8/Mpeg2/PacketFilter/TeiOnOffFilter.cs +++ b/skyscraper8/Mpeg2/PacketFilter/TeiOnOffFilter.cs @@ -15,7 +15,10 @@ namespace skyscraper5.src.Mpeg2.PacketFilter { state = new bool?[8192]; suspicions = new byte[8192]; + exemptions = new bool[8192]; } + + private bool[] exemptions; private bool?[] state; private byte[] suspicions; private const byte LIMIT = 3; @@ -24,7 +27,12 @@ namespace skyscraper5.src.Mpeg2.PacketFilter { bool scrambled = packet.TSC != 0; - if (!state[packet.PID].HasValue) + if (exemptions[packet.PID]) + { + return true; + } + + if (!state[packet.PID].HasValue) { state[packet.PID] = scrambled; return true; @@ -45,5 +53,12 @@ namespace skyscraper5.src.Mpeg2.PacketFilter return true; } - } + + internal void SetExempt(int pid) + { + exemptions[pid] = true; + state[pid] = null; + suspicions[pid] = 0; + } + } } diff --git a/skyscraper8/Properties/launchSettings.json b/skyscraper8/Properties/launchSettings.json index 8571166..43a56e5 100644 --- a/skyscraper8/Properties/launchSettings.json +++ b/skyscraper8/Properties/launchSettings.json @@ -2,7 +2,7 @@ "profiles": { "skyscraper8": { "commandName": "Project", - "commandLineArgs": "salvage strat3 \"Z:\\Persönliches\\Satellitescommunity\\Skyscraper Test Fixture\\105.5E_4169.263_H_5237_(2026-04-24 12.36.13)_dump.ts\"", + "commandLineArgs": "salvage strat1 \"C:\\Users\\Sascha Schiemann\\Downloads\\65.0W_11304.256_V_30000_(2026-05-17 09.44.02)_dump.ts\"", "remoteDebugEnabled": false }, "Container (Dockerfile)": { diff --git a/skyscraper8/Skyscraper/Scraper/SkyscraperContext.cs b/skyscraper8/Skyscraper/Scraper/SkyscraperContext.cs index d3f3301..dc87961 100644 --- a/skyscraper8/Skyscraper/Scraper/SkyscraperContext.cs +++ b/skyscraper8/Skyscraper/Scraper/SkyscraperContext.cs @@ -1744,6 +1744,7 @@ namespace skyscraper5.Skyscraper.Scraper public void OnIpDatagram(int pid, byte[] payload) { UiJunction?.EnableUiFeature(SkyscraperUiFeature.IpTrafficAnalysis); + TeiOnOffFilter.SetExempt(pid); if (ipTrafficHandler == null) { StorageConnectionManager storageConnectionManager = StorageConnectionManager.GetInstance(); @@ -3008,6 +3009,7 @@ namespace skyscraper5.Skyscraper.Scraper { if (Array.TrueForAll(contents, x => x == 0)) return; + TeiOnOffFilter.SetExempt(pid); if (etherType <= 1500) { OnLlcFrame((ushort)pid, source, destination, etherType, contents); @@ -3108,7 +3110,7 @@ namespace skyscraper5.Skyscraper.Scraper return; } - ipTrafficHandler.HandleLlcFrame(pid, source, destination, etherType, contents); + //ipTrafficHandler.HandleLlcFrame(pid, source, destination, etherType, contents); MemoryStream llcStream = new MemoryStream(contents, true); diff --git a/skyscraper8/VersionInfo.cs b/skyscraper8/VersionInfo.cs index ca31e46..85a8b39 100644 --- a/skyscraper8/VersionInfo.cs +++ b/skyscraper8/VersionInfo.cs @@ -4,7 +4,7 @@ namespace skyscraper8; public class VersionInfo { - private const int PUBLIC_RELEASE = 19; + private const int PUBLIC_RELEASE = 20; public static int GetPublicReleaseNumber() {