Patent ID: 8316385
Filing Date: 2012-11-20
Classification: H04N

Abstract:
1. A method for driving a virtual web camera, comprising the steps of: (a) starting; (b) linking an upper filter to top of a universal serial bus (USB) Video Class Driver as a driver for said virtual web camera; (c) executing said upper filter to perform initialization and generate a plurality of device objects, each corresponding to a real web camera as said virtual web camera and having a specific device name; (d) determining if an application (AP) intends to open one of said device objects, and entering into step (e) if said AP intends to open one of said device objects, or entering into step (g) if said AP does not intend to open one of said device objects; (e) determining if the device object to be opened is released previously, and rejecting opening said device object and returning to said step (d) if said device object is not released, or executing step (f) if said device object is released; (f) acquiring a file handle corresponding to said device object and returning to said step (d); (g) determining if said AP intends to transfer a command, and entering into step (i) if no command is intended to transfer, or entering into step (h) if said command is intended to transfer; (h) issuing an IRP(I/O Request Packet) and returning to said step (d); (i) determining if said AP intends to close said device object, and entering into step (j) if said device object is intended to be closed, or returning to said step (d) if said device object is not intended to be closed; and (j) releasing said file handle of said device object, clearing said IRP, and returning to said step (d); wherein said USB Video Class Driver is hooked up on a mini driver which is built on a port driver, said upper filter, said USB Video Class Driver, said mini driver and said port driver are allocated in kernel space, and said upper filter further communicates with a proxy kernel in user space.