CSD: Fix possible crash when accessing nullptr

The output sink can be cleared before calling
start/stopMelComputation_l. Add check for nullptr.

Test: SoundDoseInteractiveTest
Bug: 271013496
Bug: 273898338
Change-Id: I5778de2ebadab770dab5d9f8a6613b1144cc3fe5
diff --git a/services/audioflinger/Threads.cpp b/services/audioflinger/Threads.cpp
index 694b846..e113efb 100644
--- a/services/audioflinger/Threads.cpp
+++ b/services/audioflinger/Threads.cpp
@@ -3488,14 +3488,18 @@
         const sp<audio_utils::MelProcessor>& processor)
 {
     auto outputSink = static_cast<AudioStreamOutSink*>(mOutputSink.get());
-    outputSink->startMelComputation(processor);
+    if (outputSink != nullptr) {
+        outputSink->startMelComputation(processor);
+    }
 }
 
 // stopMelComputation_l() must be called with AudioFlinger::mLock held
 void AudioFlinger::PlaybackThread::stopMelComputation_l()
 {
     auto outputSink = static_cast<AudioStreamOutSink*>(mOutputSink.get());
-    outputSink->stopMelComputation();
+    if (outputSink != nullptr) {
+        outputSink->stopMelComputation();
+    }
 }
 
 void AudioFlinger::PlaybackThread::threadLoop_drain()