summaryrefslogtreecommitdiff
path: root/avplay.c
diff options
context:
space:
mode:
Diffstat (limited to 'avplay.c')
-rw-r--r--avplay.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/avplay.c b/avplay.c
index 242b9aec87..98fd954be5 100644
--- a/avplay.c
+++ b/avplay.c
@@ -1580,8 +1580,10 @@ static int video_thread(void *arg)
AVFilterContext *filt_out = NULL, *filt_in = NULL;
int last_w = is->video_st->codec->width;
int last_h = is->video_st->codec->height;
- if (!graph)
+ if (!graph) {
+ av_frame_free(&frame);
return AVERROR(ENOMEM);
+ }
if ((ret = configure_video_filters(graph, is, vfilters)) < 0)
goto the_end;
@@ -1589,8 +1591,12 @@ static int video_thread(void *arg)
filt_out = is->out_video_filter;
#endif
- if (!frame)
+ if (!frame) {
+#if CONFIG_AVFILTER
+ avfilter_graph_free(&graph);
+#endif
return AVERROR(ENOMEM);
+ }
for (;;) {
#if CONFIG_AVFILTER