diff --git a/src/surface.c b/src/surface.c index 341637c..2bf0aba 100644 --- a/src/surface.c +++ b/src/surface.c @@ -339,7 +339,18 @@ VAStatus RequestSyncSurface(VADriverContextP context, VASurfaceID surface_id) * since iter4 (`74d8dd1`), so REINIT is no longer compromised by * the cluster-validation EINVAL pattern. */ - rc = media_request_reinit(request_fd); + /* + * iter19 α-23 TEST: skip REINIT to test mechanism 2. + * If kernel sees correct controls after this change, REINIT was + * clearing the request between S_EXT_CTRLS and IOC_QUEUE — but + * looking at the code, REINIT runs AFTER wait_completion (i.e., + * AFTER decode is done), so this should only affect NEXT frame's + * request reuse — not the current frame. Test it anyway since + * libva uses 16 request_fds in rotation per output_pool slot; + * each request_fd is REINIT'd before being reused next time. + */ + (void)media_request_reinit; + rc = 0; /* media_request_reinit(request_fd); */ if (rc < 0) { status = VA_STATUS_ERROR_OPERATION_FAILED; goto error;