private static void CreateDatabaseMetaTable(VideoFingerPrintDatabaseMetaTableWrapper wrapper, FlatBufferBuilder builder) { Offset <VideoFingerPrintDatabaseMetaTableEntry>[] databaseMetaTableEntryArrayOffset = CreateDatabaseMetaTableEntryArray(wrapper, builder); VectorOffset entryArrayOffset = VideoFingerPrintDatabaseMetaTable.CreateDatabaseMetaTableEntriesVector(builder, databaseMetaTableEntryArrayOffset); Offset <VideoFingerPrintDatabaseMetaTable> databaseMetaTableOffset = VideoFingerPrintDatabaseMetaTable.CreateVideoFingerPrintDatabaseMetaTable(builder, entryArrayOffset); VideoFingerPrintDatabaseMetaTable.FinishVideoFingerPrintDatabaseMetaTableBuffer(builder, databaseMetaTableOffset); }
private static VideoFingerPrintDatabaseMetaTableWrapper Convert(VideoFingerPrintDatabaseMetaTable databaseMetaTable) { IEnumerable <VideoFingerPrintDatabaseMetaTableEntryWrapper> metaTableEntries = from i in Enumerable.Range(0, databaseMetaTable.DatabaseMetaTableEntriesLength) select Convert(databaseMetaTable.DatabaseMetaTableEntries(i)); return(new VideoFingerPrintDatabaseMetaTableWrapper { DatabaseMetaTableEntries = metaTableEntries.ToArray(), }); }
private static VideoFingerPrintDatabaseMetaTable LoadMetaTable(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(VideoFingerPrintDatabaseMetaTable.GetRootAsVideoFingerPrintDatabaseMetaTable(new ByteBuffer(memoryStream.ToArray()))); } }
/// <summary> /// Load a database metatable from raw bytes /// </summary> /// <param name="rawBytes"></param> /// <returns></returns> public static VideoFingerPrintDatabaseMetaTableWrapper Load(byte[] rawBytes) { return(Convert(VideoFingerPrintDatabaseMetaTable.GetRootAsVideoFingerPrintDatabaseMetaTable(new ByteBuffer(rawBytes)))); }