Bugfixes to make the DVB-NIP Transmission on Hotbird 12226V work.
This commit is contained in:
parent
c07efd58d1
commit
8383ae02ab
@ -15,6 +15,7 @@ using System.Globalization;
|
||||
using System.IO;
|
||||
using System.Net;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
using Minio.DataModel.Response;
|
||||
using skyscraper5.Dvb.Descriptors;
|
||||
@ -150,7 +151,11 @@ namespace skyscraper5.Data
|
||||
ObjectNotFoundException objectNotFoundException = minioException as ObjectNotFoundException;
|
||||
if (objectNotFoundException != null)
|
||||
{
|
||||
|
||||
Monitor.Enter(definetlyMissingFiles);
|
||||
definetlyMissingFiles.Add(combine);
|
||||
Monitor.Exit(definetlyMissingFiles);
|
||||
|
||||
return false;
|
||||
}
|
||||
else
|
||||
|
||||
@ -412,6 +412,7 @@ namespace skyscraper5.Data.PostgreSql
|
||||
command.Parameters.AddWithValue("@ct", NpgsqlDbType.Text, multicastSessionTypePresentationManifestLocator.contentType);
|
||||
command.Parameters.AddWithValue("@mi", NpgsqlDbType.Text, multicastSessionTypePresentationManifestLocator.manifestId);
|
||||
command.Parameters.AddWithValue("@to", NpgsqlDbType.Text, multicastSessionTypePresentationManifestLocator.transportObjectURI);
|
||||
SetNulls(command);
|
||||
int executeNonQuery = command.ExecuteNonQuery();
|
||||
if (executeNonQuery != 1)
|
||||
throw new DataException(String.Format("Expected to insert {0} rows, but it were {1}", 1, executeNonQuery));
|
||||
@ -466,7 +467,10 @@ namespace skyscraper5.Data.PostgreSql
|
||||
|
||||
if (transport.ForwardErrorCorrectionParameters != null)
|
||||
{
|
||||
throw new NotImplementedException(nameof(transport.ForwardErrorCorrectionParameters));
|
||||
for (int i = 0; i < transport.ForwardErrorCorrectionParameters.Length; i++)
|
||||
{
|
||||
InsertForwardErrorCorrectionParameters(connection,uuid, i, transport.ForwardErrorCorrectionParameters[i]);
|
||||
}
|
||||
}
|
||||
|
||||
if (transport.EndpointAddress.Length > 1)
|
||||
@ -489,6 +493,35 @@ namespace skyscraper5.Data.PostgreSql
|
||||
}
|
||||
}
|
||||
|
||||
private void InsertForwardErrorCorrectionParameters(NpgsqlConnection connection, Guid uuid, int ordinal, ForwardErrorCorrectionParametersType transportForwardErrorCorrectionParameter)
|
||||
{
|
||||
if (transportForwardErrorCorrectionParameter.Any != null)
|
||||
{
|
||||
throw new NotImplementedException(nameof(transportForwardErrorCorrectionParameter.Any));
|
||||
}
|
||||
|
||||
if (transportForwardErrorCorrectionParameter.AnyAttr != null)
|
||||
{
|
||||
throw new NotImplementedException(nameof(transportForwardErrorCorrectionParameter.AnyAttr));
|
||||
}
|
||||
|
||||
if (transportForwardErrorCorrectionParameter.EndpointAddress != null)
|
||||
{
|
||||
throw new NotImplementedException(nameof(transportForwardErrorCorrectionParameter.EndpointAddress));
|
||||
}
|
||||
|
||||
NpgsqlCommand command = connection.CreateCommand();
|
||||
command.CommandText = "INSERT INTO dvbnip_forward_error_correction_parameter VALUES (@uuid,@ordinal,DEFAULT,@sidentifier,@opercentage)";
|
||||
command.Parameters.AddWithValue("@uuid", NpgsqlDbType.Uuid, uuid);
|
||||
command.Parameters.AddWithValue("@ordinal", NpgsqlDbType.Integer, ordinal);
|
||||
command.Parameters.AddWithValue("@sidentifier", NpgsqlDbType.Text, transportForwardErrorCorrectionParameter.SchemeIdentifier);
|
||||
command.Parameters.AddWithValue("@opercentage", NpgsqlDbType.Integer, Convert.ToInt32(transportForwardErrorCorrectionParameter.OverheadPercentage));
|
||||
int executeNonQuery = command.ExecuteNonQuery();
|
||||
if (executeNonQuery != 1)
|
||||
throw new DataException(String.Format("Expected {0}, got {1}", 1, executeNonQuery));
|
||||
command.Dispose();
|
||||
}
|
||||
|
||||
private void DvbNipInsertServiceComponentIdentifier(NpgsqlConnection connection, Guid uuid, int i, ServiceComponentIdentifierType serviceComponentIdentifier)
|
||||
{
|
||||
NpgsqlCommand command = connection.CreateCommand();
|
||||
@ -518,6 +551,18 @@ namespace skyscraper5.Data.PostgreSql
|
||||
HLSComponentIdentifierType hls = (HLSComponentIdentifierType)serviceComponentIdentifier;
|
||||
command.Parameters["@media_playlist_locator"].Value = hls.mediaPlaylistLocator;
|
||||
break;
|
||||
case "ns2:DASHComponentIdentifierType":
|
||||
command.Parameters["@xsiType"].Value = 3;
|
||||
DASHComponentIdentifierType dash3 = (DASHComponentIdentifierType)serviceComponentIdentifier;
|
||||
command.Parameters["@adaption_set_id"].Value = (int)dash3.adaptationSetIdentifier;
|
||||
command.Parameters["@period_id"].Value = dash3.periodIdentifier;
|
||||
command.Parameters["@representation_id"].Value = dash3.representationIdentifier;
|
||||
break;
|
||||
case "ns2:HLSComponentIdentifierType":
|
||||
command.Parameters["@xsiType"].Value = 4;
|
||||
HLSComponentIdentifierType hls4 = (HLSComponentIdentifierType)serviceComponentIdentifier;
|
||||
command.Parameters["@media_playlist_locator"].Value = hls4.mediaPlaylistLocator;
|
||||
break;
|
||||
default:
|
||||
throw new NotImplementedException(xsiType);
|
||||
}
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
"profiles": {
|
||||
"skyscraper8": {
|
||||
"commandName": "Project",
|
||||
"commandLineArgs": "\"Z:\\TelephoneExchange\\11141_h_20250805_2233.ts\"",
|
||||
"commandLineArgs": "file-live \"C:\\Temp\\12226_v_20250809_2131.ts\"",
|
||||
"remoteDebugEnabled": false
|
||||
},
|
||||
"Container (Dockerfile)": {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user