Commit 9cc1e644 authored by wanzhang's avatar wanzhang Committed by Michael Niedermayer

ffplay: Fix auto insertion point of rotation filter

Fixes watermark rotation for videos using auto rotation

Closes #141
parent b83d8be6
......@@ -1905,7 +1905,7 @@ static int configure_video_filters(AVFilterGraph *graph, VideoState *is, const c
char sws_flags_str[512] = "";
char buffersrc_args[256];
int ret;
AVFilterContext *filt_src = NULL, *filt_out = NULL, *last_filter = NULL;
AVFilterContext *filt_src = NULL, *filt_out = NULL, *head_filter, *last_filter = NULL;
AVCodecContext *codec = is->video_st->codec;
AVRational fr = av_guess_frame_rate(is->ic, is->video_st, NULL);
AVDictionaryEntry *e = NULL;
......@@ -1945,6 +1945,7 @@ static int configure_video_filters(AVFilterGraph *graph, VideoState *is, const c
goto fail;
last_filter = filt_out;
head_filter = filt_src;
/* Note: this macro adds a filter before the lastly added filter, so the
* processing order of the filters is in reverse */
......@@ -1957,11 +1958,11 @@ static int configure_video_filters(AVFilterGraph *graph, VideoState *is, const c
if (ret < 0) \
goto fail; \
\
ret = avfilter_link(filt_ctx, 0, last_filter, 0); \
ret = avfilter_link(head_filter, 0, filt_ctx, 0); \
if (ret < 0) \
goto fail; \
\
last_filter = filt_ctx; \
head_filter = filt_ctx; \
} while (0)
/* SDL YUV code is not handling odd width/height for some driver
......@@ -1985,7 +1986,7 @@ static int configure_video_filters(AVFilterGraph *graph, VideoState *is, const c
}
}
if ((ret = configure_filtergraph(graph, vfilters, filt_src, last_filter)) < 0)
if ((ret = configure_filtergraph(graph, vfilters, head_filter, last_filter)) < 0)
goto fail;
is->in_video_filter = filt_src;
......
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