Commit 831a999d authored by Stefano Sabatini's avatar Stefano Sabatini

lavfi/movie: split class definitions for movie and amovie

This is required for iterating through the filter class (without
incurring into a loop).
parent a77436ab
...@@ -84,8 +84,6 @@ static const AVOption movie_options[]= { ...@@ -84,8 +84,6 @@ static const AVOption movie_options[]= {
{NULL}, {NULL},
}; };
AVFILTER_DEFINE_CLASS(movie);
static int movie_config_output_props(AVFilterLink *outlink); static int movie_config_output_props(AVFilterLink *outlink);
static int movie_request_frame(AVFilterLink *outlink); static int movie_request_frame(AVFilterLink *outlink);
...@@ -185,7 +183,7 @@ static int guess_channel_layout(MovieStream *st, int st_index, void *log_ctx) ...@@ -185,7 +183,7 @@ static int guess_channel_layout(MovieStream *st, int st_index, void *log_ctx)
return 0; return 0;
} }
static av_cold int movie_init(AVFilterContext *ctx, const char *args) static av_cold int movie_common_init(AVFilterContext *ctx, const char *args, const AVClass *class)
{ {
MovieContext *movie = ctx->priv; MovieContext *movie = ctx->priv;
AVInputFormat *iformat = NULL; AVInputFormat *iformat = NULL;
...@@ -195,7 +193,7 @@ static av_cold int movie_init(AVFilterContext *ctx, const char *args) ...@@ -195,7 +193,7 @@ static av_cold int movie_init(AVFilterContext *ctx, const char *args)
char name[16]; char name[16];
AVStream *st; AVStream *st;
movie->class = &movie_class; movie->class = class;
av_opt_set_defaults(movie); av_opt_set_defaults(movie);
if (args) if (args)
...@@ -597,6 +595,13 @@ static int movie_request_frame(AVFilterLink *outlink) ...@@ -597,6 +595,13 @@ static int movie_request_frame(AVFilterLink *outlink)
#if CONFIG_MOVIE_FILTER #if CONFIG_MOVIE_FILTER
AVFILTER_DEFINE_CLASS(movie);
static av_cold int movie_init(AVFilterContext *ctx, const char *args)
{
return movie_common_init(ctx, args, &movie_class);
}
AVFilter avfilter_avsrc_movie = { AVFilter avfilter_avsrc_movie = {
.name = "movie", .name = "movie",
.description = NULL_IF_CONFIG_SMALL("Read from a movie source."), .description = NULL_IF_CONFIG_SMALL("Read from a movie source."),
...@@ -613,11 +618,19 @@ AVFilter avfilter_avsrc_movie = { ...@@ -613,11 +618,19 @@ AVFilter avfilter_avsrc_movie = {
#if CONFIG_AMOVIE_FILTER #if CONFIG_AMOVIE_FILTER
#define amovie_options movie_options
AVFILTER_DEFINE_CLASS(amovie);
static av_cold int amovie_init(AVFilterContext *ctx, const char *args)
{
return movie_common_init(ctx, args, &amovie_class);
}
AVFilter avfilter_avsrc_amovie = { AVFilter avfilter_avsrc_amovie = {
.name = "amovie", .name = "amovie",
.description = NULL_IF_CONFIG_SMALL("Read audio from a movie source."), .description = NULL_IF_CONFIG_SMALL("Read audio from a movie source."),
.priv_size = sizeof(MovieContext), .priv_size = sizeof(MovieContext),
.init = movie_init, .init = amovie_init,
.uninit = movie_uninit, .uninit = movie_uninit,
.query_formats = movie_query_formats, .query_formats = movie_query_formats,
......
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