Beispiel #1
0
        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);
        }
Beispiel #2
0
        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);
        }