* memory buffer source filter
*/
+#include "libavutil/channel_layout.h"
+#include "libavutil/common.h"
+#include "libavutil/fifo.h"
+#include "libavutil/imgutils.h"
+#include "libavutil/opt.h"
+#include "libavutil/samplefmt.h"
#include "audio.h"
#include "avfilter.h"
#include "buffersrc.h"
#include "video.h"
#include "avcodec.h"
-#include "libavutil/audioconvert.h"
-#include "libavutil/common.h"
-#include "libavutil/fifo.h"
-#include "libavutil/imgutils.h"
-#include "libavutil/opt.h"
-#include "libavutil/samplefmt.h"
-
typedef struct {
const AVClass *class;
AVFifoBuffer *fifo;
}
av_fifo_generic_read(c->fifo, &buf, sizeof(buf), NULL);
- switch (link->type) {
- case AVMEDIA_TYPE_VIDEO:
- if ((ret = ff_start_frame(link, buf)) < 0 ||
- (ret = ff_draw_slice(link, 0, link->h, 1)) < 0 ||
- (ret = ff_end_frame(link)) < 0)
- return ret;
- break;
- case AVMEDIA_TYPE_AUDIO:
- ret = ff_filter_samples(link, buf);
- break;
- default:
- avfilter_unref_bufferp(&buf);
- return AVERROR(EINVAL);
- }
+ ff_filter_frame(link, buf);
return ret;
}