Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mpc-hc/FFmpeg.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2013-07-13 23:42:39 +0400
committerMichael Niedermayer <michaelni@gmx.at>2013-07-14 01:10:15 +0400
commitaac57c765ff48db40119df58dd17f7cf725f25ad (patch)
tree1b48af5e59d317e6b30c520e84896f502b4704ec
parentf3d138ab2292e008d32ccb012aca1a5ade0e2e7a (diff)
avfilter/asrc_aevalsrc: fix cases of unknown channel layout
Fixes >8 channels Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-rw-r--r--libavfilter/asrc_aevalsrc.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/libavfilter/asrc_aevalsrc.c b/libavfilter/asrc_aevalsrc.c
index 6dd13687b1..ebeb616548 100644
--- a/libavfilter/asrc_aevalsrc.c
+++ b/libavfilter/asrc_aevalsrc.c
@@ -125,7 +125,7 @@ static int init(AVFilterContext *ctx)
} else {
/* guess channel layout from nb expressions/channels */
eval->chlayout = av_get_default_channel_layout(eval->nb_channels);
- if (!eval->chlayout) {
+ if (!eval->chlayout && eval->nb_channels <= 0) {
av_log(ctx, AV_LOG_ERROR, "Invalid number of channels '%d' provided\n",
eval->nb_channels);
ret = AVERROR(EINVAL);
@@ -177,7 +177,7 @@ static int query_formats(AVFilterContext *ctx)
{
EvalContext *eval = ctx->priv;
static const enum AVSampleFormat sample_fmts[] = { AV_SAMPLE_FMT_DBLP, AV_SAMPLE_FMT_NONE };
- int64_t chlayouts[] = { eval->chlayout, -1 };
+ int64_t chlayouts[] = { eval->chlayout ? eval->chlayout : FF_COUNT2LAYOUT(eval->nb_channels) , -1 };
int sample_rates[] = { eval->sample_rate, -1 };
ff_set_common_formats (ctx, ff_make_format_list(sample_fmts));