OSDN Git Service

ffplay: simplify code by using avfilter_unref_bufferp()
authorStefano Sabatini <stefasab@gmail.com>
Tue, 26 Jun 2012 13:17:24 +0000 (15:17 +0200)
committerStefano Sabatini <stefasab@gmail.com>
Thu, 28 Jun 2012 20:27:05 +0000 (22:27 +0200)
ffplay.c

index c4b8f8e..ab4eae5 100644 (file)
--- a/ffplay.c
+++ b/ffplay.c
@@ -908,10 +908,7 @@ static void stream_close(VideoState *is)
     for (i = 0; i < VIDEO_PICTURE_QUEUE_SIZE; i++) {
         vp = &is->pictq[i];
 #if CONFIG_AVFILTER
-        if (vp->picref) {
-            avfilter_unref_buffer(vp->picref);
-            vp->picref = NULL;
-        }
+        avfilter_unref_bufferp(&vp->picref);
 #endif
         if (vp->bmp) {
             SDL_FreeYUVOverlay(vp->bmp);
@@ -1317,9 +1314,7 @@ static void alloc_picture(AllocEventProps *event_props)
         SDL_FreeYUVOverlay(vp->bmp);
 
 #if CONFIG_AVFILTER
-    if (vp->picref)
-        avfilter_unref_buffer(vp->picref);
-    vp->picref = NULL;
+    avfilter_unref_bufferp(&vp->picref);
 #endif
 
     vp->width   = frame->width;
@@ -1425,8 +1420,7 @@ static int queue_picture(VideoState *is, AVFrame *src_frame, double pts1, int64_
     if (vp->bmp) {
         AVPicture pict = { { 0 } };
 #if CONFIG_AVFILTER
-        if (vp->picref)
-            avfilter_unref_buffer(vp->picref);
+        avfilter_unref_bufferp(&vp->picref);
         vp->picref = src_frame->opaque;
 #endif