ADC Home > Reference Library > Reference > Darwin > Kernel Framework Reference

 


IOAudioPort

Inherits from:
Declared In:

Overview

Represents a logical or physical port or functional unit in an audio device.

Discussion

An IOAudioPort represents an element in the signal chain in the audio device. It may contain one or more controls (represented by IOAudioControl) by which different attributes of the port may be represented and adjusted.

IOAudioPort objects are connected up in the IORegistry in the IOAudioPlane to represent the signal chain of the device. They may be connected to other IOAudioPorts as well as IOAudioEngines to indicate they either feed into or are fed by one of the audio engines (i.e. they provide input to or take output from the computer).



Functions

addAudioControl

Adds a newly created IOAudioControl instance to the port.

deactivateAudioControls

Called to shut down all of the audio controls for this port.

free

Frees all of the resources allocated by the IOAudioPort.

initWithAttributes

Initializes a newly allocated IOAudioPort instance with the given attributes

start

Called to start a newly created IOAudioPort.

stop

Called when the IOAudioDevice is stopping when it is no longer available.

withAttributes

Allocates a new IOAudioPort instance with the given attributes


addAudioControl


Adds a newly created IOAudioControl instance to the port.

public

virtual IOReturn addAudioControl( IOAudioControl *control);
Parameters
control

A newly created IOAudioControl instance that should belong to this port.

Return Value

Returns true on successfully staring the IOAudioControl.

Discussion

This method is responsible for starting the new IOAudioControl and adding it to the internal audioControls array.


deactivateAudioControls


Called to shut down all of the audio controls for this port.

public

virtual void deactivateAudioControls();
Discussion

This will stop all of the audio controls and release them so that the instances may be freed. This is called from the free() method.


free


Frees all of the resources allocated by the IOAudioPort.

public

virtual void free();
Discussion

Do not call this directly. This is called automatically by the system when the instance's refcount goes to 0. To decrement the refcount, call release() on the object.


initWithAttributes


Initializes a newly allocated IOAudioPort instance with the given attributes

public

virtual bool initWithAttributes( UInt32 portType, const char *portName = 0, UInt32 subType = 0, OSDictionary *properties = 0);
Parameters
portType

A readable string representing the type of port. Common port types are defined in IOAudioTypes.h and are prefixed with 'kIOAudioPortType'. Please provide feedback if there are other common port types that should be included.

portName

A readable string representing the name of the port. For example: 'Internal Speaker', 'Line Out'. This field is optional, but useful for providing information to the application/user.

subType

Developer defined readable string representing a subtype for the port. (optional)

properties

Standard property list passed to the init of any new IOService. This dictionary gets stored in the registry for this instance. (optional)

Return Value

Returns true on success.

Discussion

The properties parameter is passed on the superclass' init(). The portType, subType and properties parameters are optional, however portType is recommended.


start


Called to start a newly created IOAudioPort.

public

virtual bool start( IOService *provider);
Parameters
provider

The IOAudioDevice that owns this port

Return Value

Returns true on success

Discussion

This is called automatically by IOAudioDevice when attachAudioPort() is called.


stop


Called when the IOAudioDevice is stopping when it is no longer available.

public

virtual void stop( IOService *provider);
Parameters
provider

The IOAudioDevice that owns this port

Discussion

This method calls deactivateAudioControls() to shut down all of the controls associated with this port.


withAttributes


Allocates a new IOAudioPort instance with the given attributes

public

static IOAudioPort *withAttributes( UInt32 portType, const char *portName = 0, UInt32 subType = 0, OSDictionary *properties = 0);
Parameters
portType

A readable string representing the type of port. Common port types are defined in IOAudioTypes.h and are prefixed with 'kIOAudioPortType'. Please provide feedback if there are other common port types that should be included.

portName

A readable string representing the name of the port. For example: 'Internal Speaker', 'Line Out'. This field is optional, but useful for providing information to the application/user.

subType

Developer defined readable string representing a subtype for the port. (optional)

properties

Standard property list passed to the init of any new IOService. This dictionary gets stored in the registry for this instance. (optional)

Return Value

Returns the newly allocated and initialized IOAudioPort instance.

Discussion

This static method allocates a new IOAudioPort and calls initWithAttributes() on it with the parameters passed in to it.


Did this document help you?
Yes: Tell us what works for you.
It’s good, but: Report typos, inaccuracies, and so forth.
It wasn’t helpful: Tell us what would have helped.

 

Last Updated: 2008-12-19