diff --git a/ffplay.c b/ffplay.c index cb62614f36972874f9bdee78375a90013e7ae777..c8d768fb270894efe54d849cf9595e7c4281b186 100644 --- a/ffplay.c +++ b/ffplay.c @@ -1504,7 +1504,8 @@ static int get_video_frame(VideoState *is, AVFrame *frame, int64_t *pts, AVPacke return 0; } - avcodec_decode_video2(is->video_st->codec, frame, &got_picture, pkt); + if(avcodec_decode_video2(is->video_st->codec, frame, &got_picture, pkt) < 0) + return -1; if (got_picture) { int ret = 1; @@ -1667,6 +1668,7 @@ static int video_thread(void *arg) while (is->paused && !is->videoq.abort_request) SDL_Delay(10); + avcodec_get_frame_defaults(frame); ret = get_video_frame(is, frame, &pts_int, &pkt); if (ret < 0) goto the_end;