Stop GraphicBufferSource's looper without locking

Before this CL, the following sequence of events could cause a deadlock:
- Binder thread: Acquires the mutex (mMutex) inside release().
- Looper thread: Blocks inside onMessageReceived() as it tries to
acquire the mutex.
- Binder thread: Calls mLooper->stop() inside release(), which waits for
the looper thread to finish executing onMessageReceived().

Test: make cts -j123 && cts-tradefed run cts-dev -m \
CtsMediaTestCases --compatibility:module-arg \
CtsMediaTestCases:include-annotation:\
android.platform.test.annotations.RequiresDevice

Bug: 74170420
Change-Id: Ie63b19107f10937f7a301fe74b38f15076cc0ed9
1 file changed