diff --git a/libavfilter/buffersrc.c b/libavfilter/buffersrc.c index 5186b0920b..153ab6c0f7 100644 --- a/libavfilter/buffersrc.c +++ b/libavfilter/buffersrc.c @@ -83,16 +83,8 @@ int av_buffersrc_add_frame(AVFilterContext *buffer_src, if (!frame) /* NULL for EOF */ return av_buffersrc_add_ref(buffer_src, NULL, flags); - switch (buffer_src->outputs[0]->type) { - case AVMEDIA_TYPE_VIDEO: - picref = avfilter_get_video_buffer_ref_from_frame(frame, AV_PERM_WRITE); - break; - case AVMEDIA_TYPE_AUDIO: - picref = avfilter_get_audio_buffer_ref_from_frame(frame, AV_PERM_WRITE); - break; - default: - return AVERROR(ENOSYS); - } + picref = avfilter_get_buffer_ref_from_frame(buffer_src->outputs[0]->type, + frame, AV_PERM_WRITE); if (!picref) return AVERROR(ENOMEM); ret = av_buffersrc_add_ref(buffer_src, picref, flags);