return NULL;
}
+static void
+i965_display_attributes_terminate(VADriverContextP ctx)
+{
+ struct i965_driver_data * const i965 = i965_driver_data(ctx);
+
+ if (i965->display_attributes) {
+ free(i965->display_attributes);
+ i965->display_attributes = NULL;
+ i965->num_display_attributes = 0;
+ }
+}
+
static bool
i965_display_attributes_init(VADriverContextP ctx)
{
i965->display_attributes = malloc(
i965->num_display_attributes * sizeof(i965->display_attributes[0]));
if (!i965->display_attributes)
- return false;
+ goto error;
memcpy(
i965->display_attributes,
);
i965->rotation_attrib = get_display_attribute(ctx, VADisplayAttribRotation);
- if (!i965->rotation_attrib)
- return false;
+ if (!i965->rotation_attrib) {
+ goto error;
+ }
return true;
-}
-
-static void
-i965_display_attributes_terminate(VADriverContextP ctx)
-{
- struct i965_driver_data * const i965 = i965_driver_data(ctx);
- if (i965->display_attributes) {
- free(i965->display_attributes);
- i965->display_attributes = NULL;
- i965->num_display_attributes = 0;
- }
+error:
+ i965_display_attributes_terminate(ctx);
+ return false;
}
/*