void rdpsnd_print_audio_format(AUDIO_FORMAT* format) { printf("%s:\t wFormatTag: 0x%04X nChannels: %d nSamplesPerSec: %d nAvgBytesPerSec: %d " "nBlockAlign: %d wBitsPerSample: %d cbSize: %d\n", rdpsnd_get_audio_tag_string(format->wFormatTag), format->wFormatTag, format->nChannels, format->nSamplesPerSec, format->nAvgBytesPerSec, format->nBlockAlign, format->wBitsPerSample, format->cbSize); }
static enum AVCodecID ffmpeg_get_avcodec(const AUDIO_FORMAT* format) { const char* id; if (!format) return AV_CODEC_ID_NONE; id = rdpsnd_get_audio_tag_string(format->wFormatTag); switch (format->wFormatTag) { case WAVE_FORMAT_UNKNOWN: return AV_CODEC_ID_NONE; case WAVE_FORMAT_PCM: switch (format->wBitsPerSample) { case 16: return AV_CODEC_ID_PCM_U16LE; case 8: return AV_CODEC_ID_PCM_U8; default: return AV_CODEC_ID_NONE; } case WAVE_FORMAT_DVI_ADPCM: return AV_CODEC_ID_ADPCM_MS; case WAVE_FORMAT_ADPCM: return AV_CODEC_ID_ADPCM_MS; case WAVE_FORMAT_ALAW: return AV_CODEC_ID_PCM_ALAW; case WAVE_FORMAT_MULAW: return AV_CODEC_ID_PCM_MULAW; case WAVE_FORMAT_GSM610: return AV_CODEC_ID_GSM_MS; case WAVE_FORMAT_AAC_MS: return AV_CODEC_ID_AAC; default: return AV_CODEC_ID_NONE; } }