Mac Developer Library

Developer

IOVideoStream Class Reference

Options
Deployment Target:

On This Page
Language:

IOVideoStream

Inheritance


  • IOVideoStream

Conforms To


Not Applicable

Import Statement


Not Applicable

Objective-C

@import Kernel;

Availability


Available in OS X v10.7 and later.

A class representing a stream of video data buffers passed from kernel to user space and back again.

The IOVideoStream class defines a mechanism for moving buffers of data from kernel space to user space or vice-versa. The policy for which direction the data flows and the nature of the data is left up the the implementer of the driver which uses IOStream.

Although it is expected that the client of an IOVideoStream will be in user space, this is not required.

References to "output" mean "from the IOVideoStream to the user client", and "input" means "from the user client to the IOVideoStream."

  • Returns the mode of the stream, either input or output.

    Declaration

    C++

    virtual IOStreamMode getStreamMode( void);

    Return Value

    The mode of the stream, either kIOStreamModeInput (from user space to kernel space) or the default kIOStreamModeOutput (from kernel space to user space).

  • Declaration

    C++

    virtual bool initWithBuffers( OSArray *buffers, IOStreamMode mode = kIOStreamModeOutput, IOItemCount queueLength = 0, OSDictionary *properties = 0);

    Parameters

    buffers

    An array of IOStreamBuffer objects which will be the buffers for this stream.

    mode

    The initial mode of the video stream, either output, input, or input/output.

    queueLength

    The nuber of queue entries to reserve in the input and output queue. Zero means to make the queues big enough to accommodate all the buffers at once.

    properties

    A dictionary of properties which will be set on the video stream.

  • Sets the mode of the stream, either input or output.

    Declaration

    C++

    virtual IOReturn setStreamMode( IOStreamMode mode);

  • Start sending data on a stream.

    Declaration

    C++

    virtual IOReturn startStream( void);

    Return Value

    Returns kIOReturnSuccess if the stream was successfully started.

  • Stop sending data on a stream.

    Declaration

    C++

    virtual IOReturn stopStream( void);

    Return Value

    Returns kIOReturnSuccess if the stream was successfully started.

  • Temporarily suspend data flow on the stream.

    Declaration

    C++

    virtual IOReturn suspendStream( void);

    Return Value

    Returns kIOReturnSuccess if the stream was successfully suspended.

  • Declaration

    C++

    static IOVideoStream* withBuffers( OSArray *buffers, IOStreamMode mode = kIOStreamModeOutput, IOItemCount queueLength = 0, OSDictionary *properties = 0);

    Parameters

    buffers

    An array of IOStreamBuffer objects which will be the buffers for this stream.

    mode

    The initial mode of the video stream, either output, input, or input/output.

    queueLength

    The nuber of queue entries to reserve in the input and output queue. Zero means to make the queues big enough to accommodate all the buffers at once.

    properties

    A dictionary of properties which will be set on the video stream.