omx_camera: fix deadlock on PLAYING->PAUSED state change
authorVincent Penquerc'h <vincent.penquerch@collabora.co.uk>
Tue, 25 Sep 2012 15:48:29 +0000 (15:48 +0000)
committerVincent Penquerc'h <vincent.penquerch@collabora.co.uk>
Tue, 25 Sep 2012 15:48:29 +0000 (15:48 +0000)
commit026630432e00989a9cb4aa058370cdb5d8709254
tree06e5eaf046ae673dc82ec125e232deb5a0363ef3
parent2b2afc52b5d4504f07a196ca5cf532ddd6923451
omx_camera: fix deadlock on PLAYING->PAUSED state change

We have a fairly high chance that, when used in camerabin2,
we're stopped while one of our ports is currently blocking
in request_buffer, waiting for the async queue to be filled.
Since this is done in create, and thus with the LIVE_LOCK
taken, we need to break it here before we call the base
class' change_state, which will acquire the LIVE_LOCK too.
omx/gstomx_camera.c