i965_drv_video: fix return values to vaRenderPicture().
authorGwenole Beauchesne <gwenole.beauchesne@intel.com>
Mon, 17 Oct 2011 13:13:39 +0000 (15:13 +0200)
committerGwenole Beauchesne <gwenole.beauchesne@intel.com>
Mon, 17 Oct 2011 13:18:33 +0000 (15:18 +0200)
Undefined status was returned from vaRenderPicture() with no VA buffer.
Likewise, any failure to process a VA buffer could still lead to success.

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
src/i965_drv_video.c

index 89c01be..4ba1aa6 100644 (file)
@@ -1286,10 +1286,10 @@ i965_decoder_render_picture(VADriverContextP ctx,
 {
     struct i965_driver_data *i965 = i965_driver_data(ctx); 
     struct object_context *obj_context = CONTEXT(context);
-    VAStatus vaStatus;
+    VAStatus vaStatus = VA_STATUS_SUCCESS;
     int i;
 
-    for (i = 0; i < num_buffers; i++) {
+    for (i = 0; i < num_buffers && vaStatus == VA_STATUS_SUCCESS; i++) {
         struct object_buffer *obj_buffer = BUFFER(buffers[i]);
         assert(obj_buffer);
 
@@ -1422,10 +1422,10 @@ i965_encoder_render_picture(VADriverContextP ctx,
 {
     struct i965_driver_data *i965 = i965_driver_data(ctx); 
     struct object_context *obj_context = CONTEXT(context);
-    VAStatus vaStatus;
+    VAStatus vaStatus = VA_STATUS_SUCCESS;
     int i;
 
-    for (i = 0; i < num_buffers; i++) {  
+    for (i = 0; i < num_buffers && vaStatus == VA_STATUS_SUCCESS; i++) {
         struct object_buffer *obj_buffer = BUFFER(buffers[i]);
         assert(obj_buffer);