After adding a camera to the recorder I want to set the streaming settings (resolution, fps, etc) and add these streams to be available ‘when needed’.
Setting the streaming settings works but adding the streams does not.
I use this code:
StreamDefinition def = firstCamera.StreamFolder.Streams.FirstOrDefault();
ClassCollectionServerTask task1 = def.AddStream();
ClassCollectionServerTask task2 = def.AddStream();
StreamDefinition def2 = new StreamDefinition(def.ServerId, task2.Path);
def2.StreamUsageChildItems.FirstOrDefault().SetProperty("Name", settingsDriver["stream1Name"]);
def2.StreamUsageChildItems.FirstOrDefault().SetProperty("DisplayName", settingsDriver["stream1Name"]);
def2.StreamUsageChildItems.ElementAt(1).SetProperty("Name", settingsDriver["stream2Name"]);
def2.StreamUsageChildItems.ElementAt(1).SetProperty("DisplayName", settingsDriver["stream2Name"]);
def2.StreamUsageChildItems.ElementAt(2).SetProperty("Name", settingsDriver["stream3Name"]);
def2.StreamUsageChildItems.ElementAt(2).SetProperty("DisplayName", settingsDriver["stream3Name"]);
VideoOS.ConfigurationApi.ClientService.ValidateResult res6 = def2.ValidateItem();
if (res6.ValidatedOk)
def2.Save();
firstCamera.StreamFolder.Streams.FirstOrDefault().Save();
firstCamera.StreamFolder.Save();
firstCamera.Save();
hardware.ValidateItem();
hardware.Save();