Commit f29c28a8 authored by Nicolas George's avatar Nicolas George

lavfi/buffersrc: check channel count changes.

parent 3cd34263
...@@ -68,9 +68,9 @@ typedef struct { ...@@ -68,9 +68,9 @@ typedef struct {
av_log(s, AV_LOG_INFO, "Changing frame properties on the fly is not supported by all filters.\n");\ av_log(s, AV_LOG_INFO, "Changing frame properties on the fly is not supported by all filters.\n");\
} }
#define CHECK_AUDIO_PARAM_CHANGE(s, c, srate, ch_layout, format)\ #define CHECK_AUDIO_PARAM_CHANGE(s, c, srate, ch_layout, ch_count, format)\
if (c->sample_fmt != format || c->sample_rate != srate ||\ if (c->sample_fmt != format || c->sample_rate != srate ||\
c->channel_layout != ch_layout) {\ c->channel_layout != ch_layout || c->channels != ch_count) {\
av_log(s, AV_LOG_ERROR, "Changing frame properties on the fly is not supported.\n");\ av_log(s, AV_LOG_ERROR, "Changing frame properties on the fly is not supported.\n");\
return AVERROR(EINVAL);\ return AVERROR(EINVAL);\
} }
...@@ -138,7 +138,7 @@ static int attribute_align_arg av_buffersrc_add_frame_internal(AVFilterContext * ...@@ -138,7 +138,7 @@ static int attribute_align_arg av_buffersrc_add_frame_internal(AVFilterContext *
if (!frame->channel_layout) if (!frame->channel_layout)
frame->channel_layout = s->channel_layout; frame->channel_layout = s->channel_layout;
CHECK_AUDIO_PARAM_CHANGE(ctx, s, frame->sample_rate, frame->channel_layout, CHECK_AUDIO_PARAM_CHANGE(ctx, s, frame->sample_rate, frame->channel_layout,
frame->format); av_frame_get_channels(frame), frame->format);
break; break;
default: default:
return AVERROR(EINVAL); return AVERROR(EINVAL);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment