vdpauvideopostprocess: fix small bug
authorCarl-Anton Ingmarsson <ca.ingmarsson@gmail.com>
Tue, 8 Jun 2010 11:36:53 +0000 (13:36 +0200)
committerCarl-Anton Ingmarsson <ca.ingmarsson@gmail.com>
Wed, 23 Jun 2010 19:51:52 +0000 (21:51 +0200)
sys/vdpau/gstvdpvideopostprocess.c

index 506f6d2..822a88c 100644 (file)
@@ -328,7 +328,7 @@ gst_vdp_vpp_add_buffer (GstVdpVideoPostProcess * vpp, GstVdpVideoBuffer * buf)
     pic2.structure = VDP_VIDEO_MIXER_PICTURE_STRUCTURE_BOTTOM_FIELD;
   } else {
     pic1.structure = VDP_VIDEO_MIXER_PICTURE_STRUCTURE_BOTTOM_FIELD;
-    pic1.structure = VDP_VIDEO_MIXER_PICTURE_STRUCTURE_TOP_FIELD;
+    pic2.structure = VDP_VIDEO_MIXER_PICTURE_STRUCTURE_TOP_FIELD;
   }
 
   pic1.timestamp = GST_BUFFER_TIMESTAMP (buf);
@@ -700,6 +700,12 @@ gst_vdp_vpp_drain (GstVdpVideoPostProcess * vpp)
 
     continue;
 
+  invalid_caps:
+    gst_buffer_unref (GST_BUFFER (outbuf));
+    GST_ELEMENT_ERROR (vpp, STREAM, FAILED, ("Invalid output caps"), (NULL));
+    ret = GST_FLOW_ERROR;
+    break;
+
   render_error:
     gst_buffer_unref (GST_BUFFER (outbuf));
     GST_ELEMENT_ERROR (vpp, RESOURCE, READ,
@@ -707,11 +713,6 @@ gst_vdp_vpp_drain (GstVdpVideoPostProcess * vpp)
         ("Error returned from vdpau was: %s",
             device->vdp_get_error_string (status)));
     ret = GST_FLOW_ERROR;
-
-  invalid_caps:
-    gst_buffer_unref (GST_BUFFER (outbuf));
-    GST_ELEMENT_ERROR (vpp, STREAM, FAILED, ("Invalid output caps"), (NULL));
-    ret = GST_FLOW_ERROR;
     break;
 
   output_pad_error: