private static void CreateVideoFingerPrintDatabase(VideoFingerPrintDatabaseWrapper database, FlatBufferBuilder builder) { Offset <VideoFingerPrint>[] videoFingerPrintArray = CreateVideoFingerPrintArray(database, builder); VectorOffset videoFingerPrintDatabaseVectorOffset = VideoFingerPrintDatabase.CreateVideoFingerPrintsVector(builder, videoFingerPrintArray); Offset <VideoFingerPrintDatabase> databaseOffset = VideoFingerPrintDatabase.CreateVideoFingerPrintDatabase(builder, videoFingerPrintDatabaseVectorOffset); VideoFingerPrintDatabase.FinishVideoFingerPrintDatabaseBuffer(builder, databaseOffset); }
private static VideoFingerPrintDatabaseWrapper Convert(VideoFingerPrintDatabase database) { IEnumerable <VideoFingerPrintWrapper> videoFingerPrints = from i in Enumerable.Range(0, database.VideoFingerPrintsLength) select Convert(database.VideoFingerPrints(i)); return(new VideoFingerPrintDatabaseWrapper { VideoFingerPrints = videoFingerPrints.ToArray(), }); }
private static VideoFingerPrintDatabase LoadDatabase(string path) { if (File.Exists(path) == false) { throw new ArgumentException(); } using (var memoryStream = new MemoryStream()) using (var reader = new BinaryReader(File.Open(path, FileMode.Open))) { var buffer = new byte[DefaultBufferSize]; int count = 0; while ((count = reader.Read(buffer, 0, buffer.Length)) != 0) { memoryStream.Write(buffer, 0, count); } return(VideoFingerPrintDatabase.GetRootAsVideoFingerPrintDatabase(new ByteBuffer(memoryStream.ToArray()))); } }
/// <summary> /// Load a FlatBuffer database of video fingerprints using raw bytes /// </summary> /// <param name="rawBytes">The raws bytes of the database</param> /// <returns>A loaded database</returns> public static VideoFingerPrintDatabaseWrapper Load(byte[] rawBytes) { return(Convert(VideoFingerPrintDatabase.GetRootAsVideoFingerPrintDatabase(new ByteBuffer(rawBytes)))); }