Patent ID: 7302689

Claim:
A computing device comprising: one or more computer-readable media; one or more processors; and computer-readable instructions on the one or more computer-readable media which, when executed by the one or more processors, cause the one or more processors to implement a software enabled matrix switch comprising: a scalable plurality of inputs, dynamically coupled to select source(s) to receive media content; and a scalable plurality of outputs, dynamically coupled to select software object(s), wherein the software enabled, matrix switch recursively routes media content through the select software object(s) to manipulate the received media content in accordance with a user-defined media processing project, wherein the software enabled matrix switch is generated by a render engine in a media processing filter graph to selectively couple one or more inputs to one or more outputs recursively processing media content through a plurality of software objects in accordance with a user-defined media processing project; and a programming grid, generated by the render engine in accordance with the user-defined media processing project, to control routing of the media content from the scalable plurality of one or more inputs to the scalable plurality of one or more outputs, wherein modifications to the user-defined media processing project are dynamically reflected in an updated version of the programming grid, eliminating the need to tear down and reconstitute an entire filter graph to effect the modification, wherein the scalable plurality of inputs are implemented as software objects dedicated to communicating information from a software object to the switch.