diff --git a/BlobStorages/skyscraper5.Data.Minio/MinioObjectStorage.cs b/BlobStorages/skyscraper5.Data.Minio/MinioObjectStorage.cs index cacc3e6..32efe56 100644 --- a/BlobStorages/skyscraper5.Data.Minio/MinioObjectStorage.cs +++ b/BlobStorages/skyscraper5.Data.Minio/MinioObjectStorage.cs @@ -56,8 +56,15 @@ namespace skyscraper5.Data _tasks.Add(_minioClient.PutObjectAsync(putObjectArgs).ContinueWith(task => { droppedFiles.Add(fullName); + + Monitor.Enter(definetlyKnownFiles); definetlyKnownFiles.Add(fullName); + Monitor.Exit(definetlyKnownFiles); + + Monitor.Enter(definetlyMissingFiles); definetlyMissingFiles.Remove(fullName); + Monitor.Exit(definetlyMissingFiles); + buffer.Close(); buffer.Dispose(); })); diff --git a/skyscraper8/Properties/launchSettings.json b/skyscraper8/Properties/launchSettings.json index 0095433..bf60e0a 100644 --- a/skyscraper8/Properties/launchSettings.json +++ b/skyscraper8/Properties/launchSettings.json @@ -2,7 +2,7 @@ "profiles": { "skyscraper8": { "commandName": "Project", - "commandLineArgs": "file-live \"C:\\Temp\\12226_v_20250809_2131.ts\"", + "commandLineArgs": "file-live \"C:\\Temp\\11881_v_20250810_1548.ts\"", "remoteDebugEnabled": false }, "Container (Dockerfile)": { diff --git a/skyscraper8/Skyscraper/Scraper/StreamAutodetection/Contestants/InteractionChannelContestant.cs b/skyscraper8/Skyscraper/Scraper/StreamAutodetection/Contestants/InteractionChannelContestant.cs index 14f6737..5ad846c 100644 --- a/skyscraper8/Skyscraper/Scraper/StreamAutodetection/Contestants/InteractionChannelContestant.cs +++ b/skyscraper8/Skyscraper/Scraper/StreamAutodetection/Contestants/InteractionChannelContestant.cs @@ -137,11 +137,35 @@ namespace skyscraper5.src.Skyscraper.Scraper.StreamAutodetection.Contestants } } + private Dictionary knownTmsts; public void OnTransmissionModeSupport(ushort interactiveNetworkId, Tmst tmst) { + if (!tmst.Valid) + { + Score--; + return; + } + if (tmst.Modes.Length > 0) { - Score++; + if (knownTmsts == null) + knownTmsts = new Dictionary(); + + if (knownTmsts.ContainsKey(interactiveNetworkId)) + { + if (knownTmsts[interactiveNetworkId] == tmst.Modes.Length) + { + Score++; + } + else + { + knownTmsts[interactiveNetworkId] = tmst.Modes.Length; + } + } + else + { + knownTmsts[interactiveNetworkId] = tmst.Modes.Length; + } } } }