[FFmpeg-cvslog] avfilter/asrc_aevalsrc: fix cases of unknown channel layout

Michael Niedermayer git at videolan.org
Sat Jul 13 23:17:52 CEST 2013


ffmpeg | branch: master | Michael Niedermayer <michaelni at gmx.at> | Sat Jul 13 21:42:39 2013 +0200| [aac57c765ff48db40119df58dd17f7cf725f25ad] | committer: Michael Niedermayer

avfilter/asrc_aevalsrc: fix cases of unknown channel layout

Fixes >8 channels

Reviewed-by: Paul B Mahol <onemda at gmail.com>
Signed-off-by: Michael Niedermayer <michaelni at gmx.at>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=aac57c765ff48db40119df58dd17f7cf725f25ad
---

 libavfilter/asrc_aevalsrc.c |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/libavfilter/asrc_aevalsrc.c b/libavfilter/asrc_aevalsrc.c
index 6dd1368..ebeb616 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));



More information about the ffmpeg-cvslog mailing list