Skip to content

Commit

Permalink
Fixed formats supported by backend.
Browse files Browse the repository at this point in the history
  • Loading branch information
akallabeth committed May 4, 2018
1 parent 17d43ed commit 670c119
Showing 1 changed file with 43 additions and 42 deletions.
85 changes: 43 additions & 42 deletions channels/rdpsnd/client/mac/rdpsnd_mac.c
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand All @@ -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)
Expand All @@ -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);
Expand Down Expand Up @@ -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)
Expand Down

0 comments on commit 670c119

Please sign in to comment.