Fix a bug in the detection of BBC News in the BFBS Stream.
Some checks failed
🚀 Pack skyscraper8 / make-zip (push) Failing after 1m7s

This commit is contained in:
feyris-tan 2025-11-14 22:25:51 +01:00
parent eb2ceb5f72
commit 92f787bbd4
5 changed files with 27 additions and 3 deletions

View File

@ -25,6 +25,19 @@ namespace skyscraper8.GS.GSE_BFBS
{ {
this.Context = context; this.Context = context;
} }
private bool CheckAllZeroes(ReadOnlySpan<byte> span)
{
for (int i = 0; i < span.Length - 4; i++)
{
if (span[i] != 0)
{
return false;
}
}
return true;
}
public void PushFrame(BBHeader bbHeader, ReadOnlySpan<byte> readOnlySpan) public void PushFrame(BBHeader bbHeader, ReadOnlySpan<byte> readOnlySpan)
{ {
@ -34,7 +47,16 @@ namespace skyscraper8.GS.GSE_BFBS
return; return;
if (readOnlySpan[0] == 0 && readOnlySpan[1] == 0 && readOnlySpan[2] == 0 && readOnlySpan[3] == 0) if (readOnlySpan[0] == 0 && readOnlySpan[1] == 0 && readOnlySpan[2] == 0 && readOnlySpan[3] == 0)
return; {
if (CheckAllZeroes(readOnlySpan))
{
return;
}
else
{
throw new NotImplementedException("A BBFrame with data offset not at 0 was found. This not supported yet, please share a sample of this.");
}
}
StreamlikeSpan span = new StreamlikeSpan(readOnlySpan); StreamlikeSpan span = new StreamlikeSpan(readOnlySpan);

View File

@ -42,7 +42,7 @@ namespace skyscraper5
class Program class Program
{ {
private static readonly ILog logger = LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name); private static readonly ILog logger = LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name);
private const int PUBLIC_RELEASE = 12; private const int PUBLIC_RELEASE = 13;
private static void IntegrationTest() private static void IntegrationTest()
{ {
/*List<SsdpDevice> ssdpDevices = SsdpClient.GetSsdpDevices(1000).ToList(); /*List<SsdpDevice> ssdpDevices = SsdpClient.GetSsdpDevices(1000).ToList();

View File

@ -2,7 +2,7 @@
"profiles": { "profiles": {
"skyscraper8": { "skyscraper8": {
"commandName": "Project", "commandName": "Project",
"commandLineArgs": "\"E:\\638951188146456482.ts\"", "commandLineArgs": "\"C:\\devel\\skyscraper8\\skyscraper8\\bin\\Debug\\net8.0\\samples\\skyscraper_20251029_1201_0150W_12596_V_44995.ts\"",
"remoteDebugEnabled": false "remoteDebugEnabled": false
}, },
"Container (Dockerfile)": { "Container (Dockerfile)": {

View File

@ -60,6 +60,7 @@ namespace skyscraper8.Skyscraper
else else
{ {
ContinuityCounter = 0; ContinuityCounter = 0;
SessionCounter = nextValue;
} }
} }

View File

@ -6,6 +6,7 @@ objectStorage=1
postgresql=C:\devel\skyscraper8\DataTableStorages\skyscraper5.Data.PostgreSql\bin\Debug\net8.0\skyscraper5.Data.PostgreSql.dll postgresql=C:\devel\skyscraper8\DataTableStorages\skyscraper5.Data.PostgreSql\bin\Debug\net8.0\skyscraper5.Data.PostgreSql.dll
minio=C:\devel\skyscraper8\BlobStorages\skyscraper5.Data.Minio\bin\Debug\net8.0\skyscraper5.Data.Minio.dll minio=C:\devel\skyscraper8\BlobStorages\skyscraper5.Data.Minio\bin\Debug\net8.0\skyscraper5.Data.Minio.dll
epgcollector=C:\devel\skyscraper8\PrivateDataSpecifiers\skyscraper8.EPGCollectorPort\bin\Debug\net8.0\skyscraper8.EPGCollectorPort.dll epgcollector=C:\devel\skyscraper8\PrivateDataSpecifiers\skyscraper8.EPGCollectorPort\bin\Debug\net8.0\skyscraper8.EPGCollectorPort.dll
dns=C:\devel\skyscraper8\MpePlugins\skyscraper5.DNS\bin\Debug\net8.0\skyscraper5.DNS.dll
[objectStorage1] [objectStorage1]
Bucket=skyscraper5 Bucket=skyscraper5