* null video source
*/
+#include <stdio.h>
+
#include "libavutil/avstring.h"
#include "libavutil/eval.h"
+#include "libavutil/internal.h"
#include "libavutil/mathematics.h"
#include "libavutil/parseutils.h"
#include "avfilter.h"
#include "formats.h"
+#include "internal.h"
static const char *const var_names[] = {
"E",
double var_values[VAR_VARS_NB];
} NullContext;
-static int init(AVFilterContext *ctx, const char *args, void *opaque)
+static int init(AVFilterContext *ctx, const char *args)
{
NullContext *priv = ctx->priv;
outlink->h = priv->h;
outlink->time_base = tb;
- av_log(outlink->src, AV_LOG_INFO, "w:%d h:%d tb:%d/%d\n", priv->w, priv->h,
+ av_log(outlink->src, AV_LOG_VERBOSE, "w:%d h:%d tb:%d/%d\n", priv->w, priv->h,
tb.num, tb.den);
return 0;
return -1;
}
+static const AVFilterPad avfilter_vsrc_nullsrc_outputs[] = {
+ {
+ .name = "default",
+ .type = AVMEDIA_TYPE_VIDEO,
+ .config_props = config_props,
+ .request_frame = request_frame,
+ },
+ { NULL }
+};
+
AVFilter avfilter_vsrc_nullsrc = {
.name = "nullsrc",
.description = NULL_IF_CONFIG_SMALL("Null video source, never return images."),
.init = init,
.priv_size = sizeof(NullContext),
- .inputs = (AVFilterPad[]) {{ .name = NULL}},
+ .inputs = NULL,
- .outputs = (AVFilterPad[]) {
- {
- .name = "default",
- .type = AVMEDIA_TYPE_VIDEO,
- .config_props = config_props,
- .request_frame = request_frame,
- },
- { .name = NULL}
- },
+ .outputs = avfilter_vsrc_nullsrc_outputs,
};