[FFmpeg-cvslog] avfilter/src_movie: Check that the pixel format hasnt changed
Michael Niedermayer
git at videolan.org
Tue Mar 18 13:25:07 CET 2014
ffmpeg | branch: master | Michael Niedermayer <michaelni at gmx.at> | Tue Mar 18 03:57:41 2014 +0100| [48f7d5f0cfd246642f8e3d695152ceb69d27852f] | committer: Michael Niedermayer
avfilter/src_movie: Check that the pixel format hasnt changed
Fixes assertion failure
Signed-off-by: Michael Niedermayer <michaelni at gmx.at>
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=48f7d5f0cfd246642f8e3d695152ceb69d27852f
---
libavfilter/src_movie.c | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/libavfilter/src_movie.c b/libavfilter/src_movie.c
index a1bb843..82bcc56 100644
--- a/libavfilter/src_movie.c
+++ b/libavfilter/src_movie.c
@@ -540,6 +540,16 @@ static int movie_push_frame(AVFilterContext *ctx, unsigned out_id)
av_dlog(ctx, "movie_push_frame(): file:'%s' %s\n", movie->file_name,
describe_frame_to_str((char[1024]){0}, 1024, movie->frame, frame_type, outlink));
+ if (st->st->codec->codec_type == AVMEDIA_TYPE_VIDEO) {
+ if (movie->frame->format != outlink->format) {
+ av_log(ctx, AV_LOG_ERROR, "Format changed %s -> %s, discarding frame\n",
+ av_get_pix_fmt_name(outlink->format),
+ av_get_pix_fmt_name(movie->frame->format)
+ );
+ av_frame_free(&movie->frame);
+ return 0;
+ }
+ }
ret = ff_filter_frame(outlink, movie->frame);
movie->frame = NULL;
More information about the ffmpeg-cvslog
mailing list