diff --git a/libavformat/dvenc.c b/libavformat/dvenc.c index e99ac3ce7e..502cc26a06 100644 --- a/libavformat/dvenc.c +++ b/libavformat/dvenc.c @@ -250,6 +250,11 @@ static int dv_assemble_frame(DVMuxContext *c, AVStream* st, /* FIXME: we have to have more sensible approach than this one */ if (c->has_video) av_log(st->codec, AV_LOG_ERROR, "Can't process DV frame #%d. Insufficient audio data or severe sync problem.\n", c->frames); + if (data_size != c->sys->frame_size) { + av_log(st->codec, AV_LOG_ERROR, "Unexpected frame size, %d != %d\n", + data_size, c->sys->frame_size); + return AVERROR(ENOSYS); + } memcpy(*frame, data, c->sys->frame_size); c->has_video = 1;