]> git.sesse.net Git - ffmpeg/blobdiff - libavfilter/vf_vflip.c
rtsp: Support mpegts in raw udp packets
[ffmpeg] / libavfilter / vf_vflip.c
index c9a6c05be8fe6223f075cea2191b7e99dde26d66..f0fb32aadcf57f9e17da3df3390cf06ff0b5c852 100644 (file)
@@ -52,6 +52,9 @@ static AVFilterBufferRef *get_video_buffer(AVFilterLink *link, int perms,
         return ff_default_get_video_buffer(link, perms, w, h);
 
     picref = ff_get_video_buffer(link->dst->outputs[0], perms, w, h);
+    if (!picref)
+        return NULL;
+
     for (i = 0; i < 4; i ++) {
         int vsub = i == 1 || i == 2 ? flip->vsub : 0;
 
@@ -70,6 +73,9 @@ static int start_frame(AVFilterLink *link, AVFilterBufferRef *inpicref)
     AVFilterBufferRef *outpicref = avfilter_ref_buffer(inpicref, ~0);
     int i;
 
+    if (!outpicref)
+        return AVERROR(ENOMEM);
+
     for (i = 0; i < 4; i ++) {
         int vsub = i == 1 || i == 2 ? flip->vsub : 0;
 
@@ -82,11 +88,11 @@ static int start_frame(AVFilterLink *link, AVFilterBufferRef *inpicref)
     return ff_start_frame(link->dst->outputs[0], outpicref);
 }
 
-static void draw_slice(AVFilterLink *link, int y, int h, int slice_dir)
+static int draw_slice(AVFilterLink *link, int y, int h, int slice_dir)
 {
     AVFilterContext *ctx = link->dst;
 
-    ff_draw_slice(ctx->outputs[0], link->h - (y+h), h, -1 * slice_dir);
+    return ff_draw_slice(ctx->outputs[0], link->h - (y+h), h, -1 * slice_dir);
 }
 
 AVFilter avfilter_vf_vflip = {