Open moonpfe opened 4 years ago
Program is freezed on calling again i965_put_surface_dri() after i965_put_surface_dri() is failed with VA_STATUS_ERROR_ALLOCATION_FAILED. This is because i965_put_surface_dri lock mutex, but ASSERT_RET does not unlock mutex.
i965_put_surface_dri
ASSERT_RET
https://github.com/intel/intel-vaapi-driver/blob/567a22c8d1e495807d3ece471fe417c3fe0428f5/src/i965_output_dri.c#L147-L160
(gdb) bt #0 0x00007ffff39d9620 in __lll_lock_wait () at /usr/lib/libpthread.so.0 #1 0x00007ffff39d1df3 in pthread_mutex_lock () at /usr/lib/libpthread.so.0 #2 0x00007fffe78f9544 in i965_put_surface_dri () at /usr/lib/dri/i965_drv_video.so #3 0x00007fffe789f44f in i965_PutSurface () at /usr/lib/dri/i965_drv_video.so #4 0x00005555557349d5 in edc_va_put_surface (surface_id=0x4000140, drawable=<optimized out>, width=<optimized out>, height=<optimized out>, src_x=<optimized out>, src_y=<optimized out>, src_width=1280, src_height=720, dest_width=298, dest_height=200, deinterlace=<optimized out>) at ../edc/edc-va.c:1167 ...
Program is freezed on calling again
i965_put_surface_dri
() afteri965_put_surface_dri
() is failed with VA_STATUS_ERROR_ALLOCATION_FAILED. This is becausei965_put_surface_dri
lock mutex, butASSERT_RET
does not unlock mutex.https://github.com/intel/intel-vaapi-driver/blob/567a22c8d1e495807d3ece471fe417c3fe0428f5/src/i965_output_dri.c#L147-L160