public static BufferCapabilities getBufferCaps(string path, VideoDevice device) { if (cache.TryGetValue(path, out var res)) { return(res); } res = new BufferCapabilities(device); cache.Add(path, res); return(res); }
VideoDevice(string path, FileHandle file) { this.file = file; sCapability capability = file.read <sCapability>(eControlCode.QUERYCAP); unsafe { driver = StringMarshal.copy(capability.driver, 16); card = StringMarshal.copy(capability.card, 32); busInfo = StringMarshal.copy(capability.bus_info, 32); } deviceCapabilities = capability.capabilities; endpointCapabilities = capability.device_caps; bufferCaps = BufferCapabilities.getBufferCaps(path, this); }