Fixed formats supported by backend.

This commit is contained in:
Armin Novak 2018-05-04 09:44:06 +02:00
parent 17d43edafb
commit 670c1190c4

View File

@ -85,8 +85,10 @@ static BOOL rdpsnd_mac_set_format(rdpsndDevicePlugin* device, const AUDIO_FORMAT
mac->audioFormat.mFramesPerPacket = 1;
mac->audioFormat.mChannelsPerFrame = format->nChannels;
mac->audioFormat.mBitsPerChannel = format->wBitsPerSample;
mac->audioFormat.mBytesPerFrame = mac->audioFormat.mBitsPerChannel * mac->audioFormat.mChannelsPerFrame / 8;
mac->audioFormat.mBytesPerPacket = mac->audioFormat.mBytesPerFrame * mac->audioFormat.mFramesPerPacket;
mac->audioFormat.mBytesPerFrame = mac->audioFormat.mBitsPerChannel *
mac->audioFormat.mChannelsPerFrame / 8;
mac->audioFormat.mBytesPerPacket = mac->audioFormat.mBytesPerFrame *
mac->audioFormat.mFramesPerPacket;
mac->audioFormat.mReserved = 0;
switch (format->wFormatTag)
@ -111,60 +113,61 @@ static BOOL rdpsnd_mac_set_format(rdpsndDevicePlugin* device, const AUDIO_FORMAT
return TRUE;
}
static char *FormatError(OSStatus st)
static char* FormatError(OSStatus st)
{
switch (st) {
case kAudioFileUnspecifiedError:
return "kAudioFileUnspecifiedError";
switch (st)
{
case kAudioFileUnspecifiedError:
return "kAudioFileUnspecifiedError";
case kAudioFileUnsupportedFileTypeError:
return "kAudioFileUnsupportedFileTypeError";
case kAudioFileUnsupportedFileTypeError:
return "kAudioFileUnsupportedFileTypeError";
case kAudioFileUnsupportedDataFormatError:
return "kAudioFileUnsupportedDataFormatError";
case kAudioFileUnsupportedDataFormatError:
return "kAudioFileUnsupportedDataFormatError";
case kAudioFileUnsupportedPropertyError:
return "kAudioFileUnsupportedPropertyError";
case kAudioFileUnsupportedPropertyError:
return "kAudioFileUnsupportedPropertyError";
case kAudioFileBadPropertySizeError:
return "kAudioFileBadPropertySizeError";
case kAudioFileBadPropertySizeError:
return "kAudioFileBadPropertySizeError";
case kAudioFilePermissionsError:
return "kAudioFilePermissionsError";
case kAudioFilePermissionsError:
return "kAudioFilePermissionsError";
case kAudioFileNotOptimizedError:
return "kAudioFileNotOptimizedError";
case kAudioFileNotOptimizedError:
return "kAudioFileNotOptimizedError";
case kAudioFileInvalidChunkError:
return "kAudioFileInvalidChunkError";
case kAudioFileInvalidChunkError:
return "kAudioFileInvalidChunkError";
case kAudioFileDoesNotAllow64BitDataSizeError:
return "kAudioFileDoesNotAllow64BitDataSizeError";
case kAudioFileDoesNotAllow64BitDataSizeError:
return "kAudioFileDoesNotAllow64BitDataSizeError";
case kAudioFileInvalidPacketOffsetError:
return "kAudioFileInvalidPacketOffsetError";
case kAudioFileInvalidPacketOffsetError:
return "kAudioFileInvalidPacketOffsetError";
case kAudioFileInvalidFileError:
return "kAudioFileInvalidFileError";
case kAudioFileInvalidFileError:
return "kAudioFileInvalidFileError";
case kAudioFileOperationNotSupportedError:
return "kAudioFileOperationNotSupportedError";
case kAudioFileOperationNotSupportedError:
return "kAudioFileOperationNotSupportedError";
case kAudioFileNotOpenError:
return "kAudioFileNotOpenError";
case kAudioFileNotOpenError:
return "kAudioFileNotOpenError";
case kAudioFileEndOfFileError:
return "kAudioFileEndOfFileError";
case kAudioFileEndOfFileError:
return "kAudioFileEndOfFileError";
case kAudioFilePositionError:
return "kAudioFilePositionError";
case kAudioFilePositionError:
return "kAudioFilePositionError";
case kAudioFileFileNotFoundError:
return "kAudioFileFileNotFoundError";
case kAudioFileFileNotFoundError:
return "kAudioFileFileNotFoundError";
default:
return "unknown error";
}
default:
return "unknown error";
}
}
static BOOL rdpsnd_mac_open(rdpsndDevicePlugin* device, const AUDIO_FORMAT* format, UINT32 latency)
@ -184,6 +187,7 @@ static BOOL rdpsnd_mac_open(rdpsndDevicePlugin* device, const AUDIO_FORMAT* form
status = AudioQueueNewOutput(&(mac->audioFormat),
mac_audio_queue_output_cb, mac,
NULL, NULL, 0, &(mac->audioQueue));
if (status != 0)
{
const char* err = FormatError(status);
@ -255,14 +259,11 @@ static BOOL rdpsnd_mac_format_supported(rdpsndDevicePlugin* device, const AUDIO_
case WAVE_FORMAT_PCM:
case WAVE_FORMAT_ALAW:
case WAVE_FORMAT_MULAW:
case WAVE_FORMAT_GSM610:
return TRUE;
default:
return FALSE;
}
return FALSE;
}
static BOOL rdpsnd_mac_set_volume(rdpsndDevicePlugin* device, UINT32 value)