allow -Z even w/o RESAMPLE (32 bits mode)

This commit is contained in:
Philippe G
2021-03-06 14:02:42 -08:00
parent 8f4b1022e2
commit 1063cd5899
2 changed files with 8 additions and 11 deletions

View File

@@ -343,16 +343,9 @@ int main(int argc, char **argv) {
while (optind < argc && strlen(argv[optind]) >= 2 && argv[optind][0] == '-') { while (optind < argc && strlen(argv[optind]) >= 2 && argv[optind][0] == '-') {
char *opt = argv[optind] + 1; char *opt = argv[optind] + 1;
if (strstr("oabcCdefmMnNpPrs" if (strstr("oabcCdefmMnNpPrsZ"
#if ALSA #if ALSA
"UVO" "UVO"
#endif
/*
* only allow '-Z <rate>' override of maxSampleRate
* reported by client if built with the capability to resample!
*/
#if RESAMPLE || RESAMPLE16
"Z"
#endif #endif
, opt) && optind < argc - 1) { , opt) && optind < argc - 1) {
optarg = argv[optind + 1]; optarg = argv[optind + 1];
@@ -519,6 +512,9 @@ int main(int argc, char **argv) {
case 'N': case 'N':
namefile = optarg; namefile = optarg;
break; break;
case 'Z':
maxSampleRate = atoi(optarg);
break;
case 'W': case 'W':
pcm_check_header = true; pcm_check_header = true;
break; break;
@@ -552,9 +548,6 @@ int main(int argc, char **argv) {
resample = ""; resample = "";
} }
break; break;
case 'Z':
maxSampleRate = atoi(optarg);
break;
#endif #endif
#if DSD #if DSD
case 'D': case 'D':

View File

@@ -914,7 +914,11 @@ void slimproto(log_level level, char *server, u8_t mac[6], const char *name, con
LOCK_O; LOCK_O;
snprintf(fixed_cap, FIXED_CAP_LEN, ",ModelName=%s,MaxSampleRate=%u", modelname ? modelname : MODEL_NAME_STRING, snprintf(fixed_cap, FIXED_CAP_LEN, ",ModelName=%s,MaxSampleRate=%u", modelname ? modelname : MODEL_NAME_STRING,
#if RESAMPLE || RESAMPLE16
((maxSampleRate > 0) ? maxSampleRate : output.supported_rates[0])); ((maxSampleRate > 0) ? maxSampleRate : output.supported_rates[0]));
#else
((maxSampleRate > 0 && maxSampleRate < output.supported_rates[0]) ? maxSampleRate : output.supported_rates[0]));
#endif
for (i = 0; i < MAX_CODECS; i++) { for (i = 0; i < MAX_CODECS; i++) {
if (codecs[i] && codecs[i]->id && strlen(fixed_cap) < FIXED_CAP_LEN - 10) { if (codecs[i] && codecs[i]->id && strlen(fixed_cap) < FIXED_CAP_LEN - 10) {