summaryrefslogtreecommitdiff
path: root/fftools/ffplay.c
diff options
context:
space:
mode:
authorMarton Balint <cus@passwd.hu>2019-02-02 19:33:34 +0100
committerMarton Balint <cus@passwd.hu>2019-02-07 23:38:53 +0100
commitfe99a51c40d5daaab08851508b900848e0f64d83 (patch)
tree0c4dc30379d0e6a8fa8bd87ba7839de264aef5b6 /fftools/ffplay.c
parent28dd73a4437a61340bde29c8fac489ea371ba9cb (diff)
downloadffmpeg-fe99a51c40d5daaab08851508b900848e0f64d83.tar.gz
ffplay: add missing avfilter_graph_alloc result check
Also do not allocate a graph at start, we will reallocate it anyway. Signed-off-by: Marton Balint <cus@passwd.hu>
Diffstat (limited to 'fftools/ffplay.c')
-rw-r--r--fftools/ffplay.c17
1 files changed, 6 insertions, 11 deletions
diff --git a/fftools/ffplay.c b/fftools/ffplay.c
index 97009f322d..f84052a89b 100644
--- a/fftools/ffplay.c
+++ b/fftools/ffplay.c
@@ -2125,26 +2125,17 @@ static int video_thread(void *arg)
AVRational frame_rate = av_guess_frame_rate(is->ic, is->video_st, NULL);
#if CONFIG_AVFILTER
- AVFilterGraph *graph = avfilter_graph_alloc();
+ AVFilterGraph *graph = NULL;
AVFilterContext *filt_out = NULL, *filt_in = NULL;
int last_w = 0;
int last_h = 0;
enum AVPixelFormat last_format = -2;
int last_serial = -1;
int last_vfilter_idx = 0;
- if (!graph) {
- av_frame_free(&frame);
- return AVERROR(ENOMEM);
- }
-
#endif
- if (!frame) {
-#if CONFIG_AVFILTER
- avfilter_graph_free(&graph);
-#endif
+ if (!frame)
return AVERROR(ENOMEM);
- }
for (;;) {
ret = get_video_frame(is, frame);
@@ -2167,6 +2158,10 @@ static int video_thread(void *arg)
(const char *)av_x_if_null(av_get_pix_fmt_name(frame->format), "none"), is->viddec.pkt_serial);
avfilter_graph_free(&graph);
graph = avfilter_graph_alloc();
+ if (!graph) {
+ ret = AVERROR(ENOMEM);
+ goto the_end;
+ }
if ((ret = configure_video_filters(graph, is, vfilters_list ? vfilters_list[is->vfilter_idx] : NULL, frame)) < 0) {
SDL_Event event;
event.type = FF_QUIT_EVENT;