]> git.sesse.net Git - ffmpeg/blobdiff - libavfilter/vsrc_movie.c
libavutil: drop offsetof() fallback definition
[ffmpeg] / libavfilter / vsrc_movie.c
index 11769d03398b9b397607bdd5bc8d821dc900f0ea..926d57dff5da9ddc3733bff732c2a27a2998cdad 100644 (file)
@@ -289,13 +289,24 @@ static int request_frame(AVFilterLink *outlink)
         return ret;
 
     outpicref = avfilter_ref_buffer(movie->picref, ~0);
-    ff_start_frame(outlink, outpicref);
-    ff_draw_slice(outlink, 0, outlink->h, 1);
-    ff_end_frame(outlink);
-    avfilter_unref_buffer(movie->picref);
-    movie->picref = NULL;
+    if (!outpicref) {
+        ret = AVERROR(ENOMEM);
+        goto fail;
+    }
 
-    return 0;
+    ret = ff_start_frame(outlink, outpicref);
+    if (ret < 0)
+        goto fail;
+
+    ret = ff_draw_slice(outlink, 0, outlink->h, 1);
+    if (ret < 0)
+        goto fail;
+
+    ret = ff_end_frame(outlink);
+fail:
+    avfilter_unref_bufferp(&movie->picref);
+
+    return ret;
 }
 
 AVFilter avfilter_vsrc_movie = {