|
|
|
@ -662,20 +662,12 @@ int ff_parse_sample_rate(int *ret, const char *arg, void *log_ctx) |
|
|
|
|
int ff_parse_channel_layout(int64_t *ret, int *nret, const char *arg, |
|
|
|
|
void *log_ctx) |
|
|
|
|
{ |
|
|
|
|
char *tail; |
|
|
|
|
int64_t chlayout; |
|
|
|
|
int nb_channels; |
|
|
|
|
|
|
|
|
|
if (av_get_extended_channel_layout(arg, &chlayout, &nb_channels) < 0) { |
|
|
|
|
/* [TEMPORARY 2016-12 -> 2017-12]*/ |
|
|
|
|
nb_channels = strtol(arg, &tail, 10); |
|
|
|
|
if (!errno && *tail == 'c' && *(tail + 1) == '\0' && nb_channels > 0 && nb_channels < 64) { |
|
|
|
|
chlayout = 0; |
|
|
|
|
av_log(log_ctx, AV_LOG_WARNING, "Deprecated channel count specification '%s'. This will stop working in releases made in 2018 and after.\n", arg); |
|
|
|
|
} else { |
|
|
|
|
av_log(log_ctx, AV_LOG_ERROR, "Invalid channel layout '%s'\n", arg); |
|
|
|
|
return AVERROR(EINVAL); |
|
|
|
|
} |
|
|
|
|
av_log(log_ctx, AV_LOG_ERROR, "Invalid channel layout '%s'\n", arg); |
|
|
|
|
return AVERROR(EINVAL); |
|
|
|
|
} |
|
|
|
|
if (!chlayout && !nret) { |
|
|
|
|
av_log(log_ctx, AV_LOG_ERROR, "Unknown channel layout '%s' is not supported.\n", arg); |
|
|
|
|