StreamHalHidl: Minor cleanup on destructor

Move binder command flush to base class destructor.

Test: Basic audio works
Bug: 177278988
Change-Id: I0f942a76355f4c63b56cbc2b270a4cbb254241e5
diff --git a/media/libaudiohal/impl/StreamHalHidl.cpp b/media/libaudiohal/impl/StreamHalHidl.cpp
index 3f9bccb..3a1fce8 100644
--- a/media/libaudiohal/impl/StreamHalHidl.cpp
+++ b/media/libaudiohal/impl/StreamHalHidl.cpp
@@ -61,6 +61,12 @@
     }
 }
 
+StreamHalHidl::~StreamHalHidl() {
+    // The last step is to flush all binder commands so that the deletion
+    // of IStreamIn / IStreamOut (mStream) is issued with less delay. See b/35394629.
+    hardware::IPCThreadState::self()->flushCommands();
+}
+
 status_t StreamHalHidl::getSampleRate(uint32_t *rate) {
     if (!mStream) return NO_INIT;
     return processReturn("getSampleRate", mStream->getSampleRate(), rate);