TransportInterface.cpp [plain text]
#include "TransportInterface.h"
#include "AudioHardwareUtilities.h"
#define super OSObject
UInt32 TransportInterface::sInstanceCount = 0;
OSDefineMetaClassAndAbstractStructors ( TransportInterface, OSObject );
bool TransportInterface::init ( PlatformInterface* inPlatformInterface ) {
bool result;
result = super::init ();
if ( result ) {
mPlatformObject = inPlatformInterface;
result = NULL == mPlatformObject ? false : true ;
}
TransportInterface::sInstanceCount++;
mInstanceIndex = TransportInterface::sInstanceCount;
return result;
}
void TransportInterface::free () {
return super::free ();
}
IOReturn TransportInterface::transportSetSampleRate ( UInt32 sampleRate ) {
debugIOLog (3, "± TransportInterface[%ld]::transportSetSampleRate ( %d )", mInstanceIndex, (unsigned int)sampleRate );
mTransportState.transportSampleRate = sampleRate;
return kIOReturnSuccess;
}
IOReturn TransportInterface::transportSetSampleWidth ( UInt32 sampleDepth, UInt32 dmaWidth ) {
mTransportState.transportSampleDepth = sampleDepth;
mTransportState.transportDMAWidth = dmaWidth;
return kIOReturnSuccess;
}
IOReturn TransportInterface::transportBreakClockSelect ( UInt32 clockSource ) {
mTransportState.clockSource = clockSource;
return kIOReturnSuccess;
}
IOReturn TransportInterface::transportMakeClockSelect ( UInt32 clockSource ) {
mTransportState.clockSource = clockSource;
return kIOReturnSuccess;
}
void TransportInterface::transportSetTransportInterfaceType ( UInt32 transportType ) {
mTransportState.transportInterfaceType = transportType;
}
#pragma mark #--------------------
#pragma mark # USER CLIENT
#pragma mark #--------------------
IOReturn TransportInterface::getTransportInterfaceState ( TransportStateStructPtr outState ) {
IOReturn result = kIOReturnError;
if ( NULL != outState ) {
((TransportStateStructPtr)outState)->transportInterfaceType = mTransportState.transportInterfaceType;
((TransportStateStructPtr)outState)->transportSampleRate = transportGetSampleRate ();
((TransportStateStructPtr)outState)->transportSampleDepth = transportGetSampleWidth ();
((TransportStateStructPtr)outState)->transportDMAWidth = transportGetDMAWidth ();
((TransportStateStructPtr)outState)->clockSource = transportGetClockSelect ();
result = kIOReturnSuccess;
}
return result;
}
IOReturn TransportInterface::setTransportInterfaceState ( TransportStateStructPtr inState ) {
return kIOReturnError;
}