/* This file is part of Darling. Copyright (C) 2020 Lubos Dolezel Darling is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Darling is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with Darling. If not, see . */ #include #include #include "ComponentDispatch.h" OSStatus AudioFileComponentCreateURL ( AudioFileComponent inComponent, CFURLRef inFileRef, const AudioStreamBasicDescription *inFormat, UInt32 inFlags) { return dispatchCall(inComponent, kAudioFileCreateURLSelect, inFileRef, inFormat, inFlags); } OSStatus AudioFileComponentOpenURL ( AudioFileComponent inComponent, CFURLRef inFileRef, SInt8 inPermissions, int inFileDescriptor) { return dispatchCall(inComponent, kAudioFileOpenURLSelect, inFileRef, inPermissions, inFileDescriptor); } OSStatus AudioFileComponentOpenWithCallbacks( AudioFileComponent inComponent, void *inClientData, AudioFile_ReadProc inReadFunc, AudioFile_WriteProc inWriteFunc, AudioFile_GetSizeProc inGetSizeFunc, AudioFile_SetSizeProc inSetSizeFunc) { return dispatchCall(inComponent, kAudioFileOpenWithCallbacksSelect, inClientData, inReadFunc, inWriteFunc, inGetSizeFunc, inSetSizeFunc); } OSStatus AudioFileComponentInitializeWithCallbacks( AudioFileComponent inComponent, void *inClientData, AudioFile_ReadProc inReadFunc, AudioFile_WriteProc inWriteFunc, AudioFile_GetSizeProc inGetSizeFunc, AudioFile_SetSizeProc inSetSizeFunc, UInt32 inFileType, const AudioStreamBasicDescription *inFormat, UInt32 inFlags) { return dispatchCall(inComponent, kAudioFileInitializeWithCallbacksSelect, inClientData, inReadFunc, inWriteFunc, inGetSizeFunc, inSetSizeFunc, inFileType, inFormat, inFlags); } OSStatus AudioFileComponentCloseFile( AudioFileComponent inComponent) { return dispatchCall(inComponent, kAudioFileCloseSelect); } OSStatus AudioFileComponentOptimize( AudioFileComponent inComponent) { return dispatchCall(inComponent, kAudioFileOptimizeSelect); } OSStatus AudioFileComponentReadBytes( AudioFileComponent inComponent, Boolean inUseCache, SInt64 inStartingByte, UInt32 *ioNumBytes, void *outBuffer) { return dispatchCall(inComponent, kAudioFileReadBytesSelect, inUseCache, inStartingByte, ioNumBytes, outBuffer); } OSStatus AudioFileComponentWriteBytes( AudioFileComponent inComponent, Boolean inUseCache, SInt64 inStartingByte, UInt32 *ioNumBytes, const void *inBuffer) { return dispatchCall(inComponent, kAudioFileWriteBytesSelect, inUseCache, inStartingByte, ioNumBytes, inBuffer); } OSStatus AudioFileComponentReadPackets( AudioFileComponent inComponent, Boolean inUseCache, UInt32 *outNumBytes, AudioStreamPacketDescription * _Nullable outPacketDescriptions, SInt64 inStartingPacket, UInt32 *ioNumPackets, void *outBuffer) { return dispatchCall(inComponent, kAudioFileReadPacketsSelect, inUseCache, outNumBytes, outPacketDescriptions, inStartingPacket, ioNumPackets, outBuffer); } OSStatus AudioFileComponentReadPacketData( AudioFileComponent inComponent, Boolean inUseCache, UInt32 *ioNumBytes, AudioStreamPacketDescription * _Nullable outPacketDescriptions, SInt64 inStartingPacket, UInt32 *ioNumPackets, void *outBuffer) { return unimpErr; } OSStatus AudioFileComponentWritePackets( AudioFileComponent inComponent, Boolean inUseCache, UInt32 inNumBytes, const AudioStreamPacketDescription * _Nullable inPacketDescriptions, SInt64 inStartingPacket, UInt32 *ioNumPackets, const void *inBuffer) { return dispatchCall(inComponent, kAudioFileWritePacketsSelect, inUseCache, inNumBytes, inPacketDescriptions, inStartingPacket, ioNumPackets, inBuffer); } OSStatus AudioFileComponentGetPropertyInfo( AudioFileComponent inComponent, AudioFileComponentPropertyID inPropertyID, UInt32 * _Nullable outPropertySize, UInt32 * _Nullable outWritable) { return dispatchCall(inComponent, kAudioFileGetPropertyInfoSelect, inPropertyID, outPropertySize, outWritable); } OSStatus AudioFileComponentGetProperty( AudioFileComponent inComponent, AudioFileComponentPropertyID inPropertyID, UInt32 *ioPropertyDataSize, void *outPropertyData) { return dispatchCall(inComponent, kAudioFileGetPropertySelect, inPropertyID, ioPropertyDataSize, outPropertyData); } OSStatus AudioFileComponentSetProperty( AudioFileComponent inComponent, AudioFileComponentPropertyID inPropertyID, UInt32 inPropertyDataSize, const void *inPropertyData) { return dispatchCall(inComponent, kAudioFileSetPropertySelect, inPropertyID, inPropertyDataSize, inPropertyData); } OSStatus AudioFileComponentCountUserData( AudioFileComponent inComponent, UInt32 inUserDataID, UInt32 *outNumberItems) { return dispatchCall(inComponent, kAudioFileCountUserDataSelect, inUserDataID, outNumberItems); } OSStatus AudioFileComponentGetUserDataSize( AudioFileComponent inComponent, UInt32 inUserDataID, UInt32 inIndex, UInt32 *outUserDataSize) { return dispatchCall(inComponent, kAudioFileGetUserDataSizeSelect, inUserDataID, inIndex, outUserDataSize); } OSStatus AudioFileComponentGetUserData( AudioFileComponent inComponent, UInt32 inUserDataID, UInt32 inIndex, UInt32 *ioUserDataSize, void *outUserData) { return dispatchCall(inComponent, kAudioFileGetUserDataSelect, inUserDataID, inIndex, ioUserDataSize, outUserData); } OSStatus AudioFileComponentSetUserData( AudioFileComponent inComponent, UInt32 inUserDataID, UInt32 inIndex, UInt32 inUserDataSize, const void *inUserData) { return dispatchCall(inComponent, kAudioFileSetUserDataSelect, inUserDataID, inIndex, inUserDataSize, inUserData); } OSStatus AudioFileComponentRemoveUserData( AudioFileComponent inComponent, UInt32 inUserDataID, UInt32 inIndex) { return dispatchCall(inComponent, kAudioFileRemoveUserDataSelect, inUserDataID, inIndex); } OSStatus AudioFileComponentExtensionIsThisFormat( AudioFileComponent inComponent, CFStringRef inExtension, UInt32 *outResult) { return dispatchCall(inComponent, kAudioFileExtensionIsThisFormatSelect, inExtension, outResult); } OSStatus AudioFileComponentFileDataIsThisFormat( AudioFileComponent inComponent, UInt32 inDataByteSize, const void* inData, UInt32 *outResult) { return dispatchCall(inComponent, kAudioFileFileDataIsThisFormatSelect, inDataByteSize, inData, outResult); } OSStatus AudioFileComponentFileIsThisFormat( AudioFileComponent inComponent, SInt16 inFileRefNum, UInt32 *outResult) { return unimpErr; } OSStatus AudioFileComponentDataIsThisFormat( AudioFileComponent inComponent, void * _Nullable inClientData, AudioFile_ReadProc _Nullable inReadFunc, AudioFile_WriteProc _Nullable inWriteFunc, AudioFile_GetSizeProc _Nullable inGetSizeFunc, AudioFile_SetSizeProc _Nullable inSetSizeFunc, UInt32 *outResult) { return unimpErr; } OSStatus AudioFileComponentGetGlobalInfoSize( AudioFileComponent inComponent, AudioFileComponentPropertyID inPropertyID, UInt32 inSpecifierSize, const void * _Nullable inSpecifier, UInt32 *outPropertySize) { return dispatchCall(inComponent, kAudioFileGetGlobalInfoSizeSelect, inPropertyID, inSpecifierSize, inSpecifier, outPropertySize); } OSStatus AudioFileComponentGetGlobalInfo( AudioFileComponent inComponent, AudioFileComponentPropertyID inPropertyID, UInt32 inSpecifierSize, const void * _Nullable inSpecifier, UInt32 *ioPropertyDataSize, void *outPropertyData) { return dispatchCall(inComponent, kAudioFileGetGlobalInfoSelect, inPropertyID, inSpecifierSize, inSpecifier, ioPropertyDataSize, outPropertyData); }