Browse Source

lavfi/buffersrc: fix directly setting channel layout

When setting the channel layout directly using AVBufferSrcParameters
the channel layout was correctly set however the init function still
expected the old string format to set the number of channels (when it
hadn't already been specified).

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
(cherry picked from commit 42959044ac)
Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
tags/n3.2.5
Rostislav Pehlivanov 9 years ago
parent
commit
5546294f63
1 changed files with 7 additions and 5 deletions
  1. +7
    -5
      libavfilter/buffersrc.c

+ 7
- 5
libavfilter/buffersrc.c View File

@@ -316,14 +316,16 @@ static av_cold int init_audio(AVFilterContext *ctx)
return AVERROR(EINVAL);
}

if (s->channel_layout_str) {
if (s->channel_layout_str || s->channel_layout) {
int n;

s->channel_layout = av_get_channel_layout(s->channel_layout_str);
if (!s->channel_layout) {
av_log(ctx, AV_LOG_ERROR, "Invalid channel layout %s.\n",
s->channel_layout_str);
return AVERROR(EINVAL);
s->channel_layout = av_get_channel_layout(s->channel_layout_str);
if (!s->channel_layout) {
av_log(ctx, AV_LOG_ERROR, "Invalid channel layout %s.\n",
s->channel_layout_str);
return AVERROR(EINVAL);
}
}
n = av_get_channel_layout_nb_channels(s->channel_layout);
if (s->channels) {


Loading…
Cancel
Save