Buffer objects for web-based configurable pipeline media processing
First Claim
1. An apparatus, comprising:
- a processor configured to execute instructions of a web application available from a web browser, the instructions including;
instructions to process a media stream using one or more configurable pipelines, each configurable pipeline including a plurality of executable software components connected by data channels;
instructions to pass each buffer object through at least one of the data channels to a component of the executable software components to permit processing the media stream and to return the buffer object from the component after processing, at least some of the buffer objects including;
a data pointer identifying a location in a memory, the data pointer having an associated data size representing an amount of memory available at the memory location;
allocation instructions to allocate memory to the buffer object using the data pointer and the data size; and
accessor instructions to enable the component in the configurable pipeline to access data stored in the memory identified by the data pointer and the data size, at least some of the buffer objects further including;
a data type property indicative of a type of data stored in the memory identified by the data pointer and the data size, the data type property usable by the component of the executable software components to restrict buffer objects accepted by the component to those having one or more specified data type properties.
2 Assignments
0 Petitions
Accused Products
Abstract
An apparatus and method relating to buffer objects for web-based media processing are disclosed. The disclosed embodiments include a web browser implemented on a computing device. The web browser includes a web application processor for processing a web application that includes instructions to process a media stream using one or more configurable pipelines, each configurable pipeline including a plurality of components connected by data channels using buffer objects, the buffer objects including a data pointer identifying a location in a memory, the data pointer having an associated data size representing an amount of memory available at the memory location, an allocation method configured to allocate memory to the buffer object using the data pointer and the data size, and an accessor method configured to enable a component in the configurable pipeline to access data stored in the memory identified by the data pointer and the data size.
-
Citations
19 Claims
-
1. An apparatus, comprising:
-
a processor configured to execute instructions of a web application available from a web browser, the instructions including; instructions to process a media stream using one or more configurable pipelines, each configurable pipeline including a plurality of executable software components connected by data channels; instructions to pass each buffer object through at least one of the data channels to a component of the executable software components to permit processing the media stream and to return the buffer object from the component after processing, at least some of the buffer objects including; a data pointer identifying a location in a memory, the data pointer having an associated data size representing an amount of memory available at the memory location; allocation instructions to allocate memory to the buffer object using the data pointer and the data size; and accessor instructions to enable the component in the configurable pipeline to access data stored in the memory identified by the data pointer and the data size, at least some of the buffer objects further including; a data type property indicative of a type of data stored in the memory identified by the data pointer and the data size, the data type property usable by the component of the executable software components to restrict buffer objects accepted by the component to those having one or more specified data type properties. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. An apparatus comprising:
-
a processor configured to execute instructions of a web application available from a web browser, the instructions including; instructions to configure a buffer object for use in a configurable pipeline to pass data within data channels between a plurality of executable software components in the configurable pipeline, the configurable pipeline created within the web browser and executed on a computing device, the buffer object comprising; a data type property; a data pointer identifying a location in a memory, the data pointer having an associated data size representing an amount of memory available at the memory location; an allocation method configured to allocate memory to the buffer object using the data pointer and the data size; and an accessor method configured to enable a component in the configurable pipeline to access data stored in the memory identified by the data pointer and the data size; and instructions to pass the buffer object through at least one of the data channels to the component when the data type property of the buffer object matches one or more specified data type properties usable by the component and to return the buffer object from the component after processing, the data type property indicative of a type of data stored in the memory identified by the data pointer and the data size. - View Dependent Claims (11, 12, 13, 14, 15, 16)
-
-
17. A method, comprising:
-
initializing, using a processor, a configurable pipeline based on instructions included within a web application executed by a web browser, the initialization including creating data channels between computer executable components in the configurable pipeline; creating a plurality of buffer objects to enable the data channels to transfer data between the components of the configurable pipeline, each buffer object including a data pointer identifying a location in a memory, the data pointer having an associated data size representing an amount of memory available at the memory location, and including a data type property indicative of a type of data stored in the memory identified by the data pointer and the data size; storing data in a buffer object of the plurality of buffer objects by an output port of a first component; passing the buffer object from the first component to an input port of a second component by way of at least one of the data channels responsive to the data type property of the buffer object matching one or more specified data type properties usable by the second component; retrieving the data stored in the buffer object by the second component for processing by the second component; and returning the buffer object through an output port of the second component via at least one of the data channels after processing. - View Dependent Claims (18, 19)
-
Specification