Hi, I have a problem with the recovery of the Recordings and Motion sequences with the MIP SDK 2021 R1 (which we did not have with the 2017 R1 version). Details below:

My application start from a ISO (Read-Only).

When i call GetDataAsync from VideoOS.Platform.Data.SequenceDataSource I receive following errors:

Exception thrown: ‘System.Runtime.InteropServices.SEHException’ in VideoOS.DatabaseUtility.MediaStorage.dll

MIP: Error: DatabaseSequences ():Error in SequencesGetAroundWithSpan. SequenceType RecordingSequence, CenterTime 2022-05-10T09:00:19.6370000, MaxTimeBefore 00:00:00, MaxCountBefore 0, MaxTimeAfter 00:59:55, MaxCountAfter 300

MIP: Error: SequencesGetAroundWithSpan ():Exception source: VideoOS.DatabaseUtility.MediaStorage

Exception type: VideoOS.DatabaseUtility.MediaStorage.MediaStorageUtilityException

Exception message: Failed to open database!

Exception target site: Open

in VideoOS.DatabaseUtility.MediaStorage.MediaStorageDatabase.Open()

in VideoOS.Platform.SDK.Export.DatabaseSequences.InternalOpenConnection()

in VideoOS.Platform.SDK.Export.DatabaseSequences.SequencesGetAroundWithSpan(SequenceType sequenceType, DateTime centerTime, TimeSpan maxTimeBefore, Int32 maxCountBefore, TimeSpan maxTimeAfter, Int32 maxCountAfter)

in VideoOS.Platform.SDK.Export.SDKInternalCommandService.SequencesGetAroundWithSpan(FQID deviceFQID, Guid sequenceType, DateTime centerTime, TimeSpan maxTimeBefore, Int32 maxCountBefore, TimeSpan maxTimeAfter, Int32 maxCountAfter, Boolean throwException)

SequencesGetAroundWithSpanSequencesGetAroundWithSpan ()Failed to open database! in VideoOS.DatabaseUtility.MediaStorage.MediaStorageDatabase.Open()

in VideoOS.Platform.SDK.Export.DatabaseSequences.InternalOpenConnection()

in VideoOS.Platform.SDK.Export.DatabaseSequences.SequencesGetAroundWithSpan(SequenceType sequenceType, DateTime centerTime, TimeSpan maxTimeBefore, Int32 maxCountBefore, TimeSpan maxTimeAfter, Int32 maxCountAfter)

in VideoOS.Platform.SDK.Export.SDKInternalCommandService.SequencesGetAroundWithSpan(FQID deviceFQID, Guid sequenceType, DateTime centerTime, TimeSpan maxTimeBefore, Int32 maxCountBefore, TimeSpan maxTimeAfter, Int32 maxCountAfter, Boolean throwException)

Instead, the same app works normally if it starts not from an ISO

What could be the problem ?

Thanks

Daniele

I forgot to mention that the application is an OFFLINE player that connects to an archive inside the ISO

Please use the newest SDK and see if the same issue happens.

I also used the newest sdk and unfortunately the same problem remains

Hi Daniele,

Could you elaborate a bit on whether it fails because the application runs from the ISO or if it is when opening an archive from the ISO?

So - which scenarios fail:

App on ISO + Archive on ISO = ?

App on disk + Archive on ISO = ?

App on ISO + Archive on disk = ?

Regards Klaus

Hi Klaus, good observation !

App on ISO + Archive on ISO = FAILS

App on disk + Archive on ISO = FAILS

App on ISO + Archive on disk = WORKS

We understand that the problem is the read-only archive.

Now we need to understand why and how to fix it

Thank you

Hi Daniele,

We have investigated your issue and have found out that your issue is caused by an error in our database implementation that has already been discovered and is fixed in the next release of XProtect.

The problem occurs - as you describe - when trying to open a storage from a read-only media, because the function used for opening the storage tries to open the storage with write access.

Regards

Klaus