bug 7253033 clean up before closing an output

An output can only be closed if there is no lock contention that
 prevents ThreadBase::exit() from being blocked. If an output
 device is waiting for an operation to complete (here a write
 in the remote_submix module, because the pipe is full), signal
 the module that it's entering the "exiting" state.

Change-Id: I8248add60da543e90c25a4c809866cdb26255651
2 files changed