Refine tuner aidl hal threads.

Bug: 197763854
Test: VtsHalTvTunerTargetTest
Test: atest android.media.tv.tuner.cts
Test: sampletunertvinput
Change-Id: Id707438178ed93731919f0155cab805436147f86
diff --git a/tv/tuner/aidl/vts/functional/DvrTests.h b/tv/tuner/aidl/vts/functional/DvrTests.h
index bda57b3..6662637 100644
--- a/tv/tuner/aidl/vts/functional/DvrTests.h
+++ b/tv/tuner/aidl/vts/functional/DvrTests.h
@@ -22,9 +22,11 @@
 #include <log/log.h>
 #include <utils/Condition.h>
 #include <utils/Mutex.h>
+#include <atomic>
 #include <fstream>
 #include <iostream>
 #include <map>
+#include <thread>
 
 #include <aidl/android/hardware/tv/tuner/BnDvrCallback.h>
 #include <aidl/android/hardware/tv/tuner/IDvr.h>
@@ -94,7 +96,7 @@
     static void* __threadLoopPlayback(void* user);
     static void* __threadLoopRecord(void* threadArgs);
     void playbackThreadLoop();
-    void recordThreadLoop(RecordSettings* recordSetting, bool* keepWritingPlaybackFMQ);
+    void recordThreadLoop();
 
     bool readRecordFMQ();
 
@@ -115,16 +117,14 @@
     std::map<uint32_t, EventFlag*> mFilterMQEventFlag;
 
     android::Mutex mMsgLock;
-    android::Mutex mPlaybackThreadLock;
-    android::Mutex mRecordThreadLock;
     android::Condition mMsgCondition;
 
-    bool mKeepWritingPlaybackFMQ = true;
-    bool mKeepReadingRecordFMQ = true;
-    bool mPlaybackThreadRunning;
-    bool mRecordThreadRunning;
-    pthread_t mPlaybackThread;
-    pthread_t mRecordThread;
+    std::atomic<bool> mKeepWritingPlaybackFMQ = true;
+    std::atomic<bool> mKeepReadingRecordFMQ = true;
+    std::atomic<bool> mPlaybackThreadRunning;
+    std::atomic<bool> mRecordThreadRunning;
+    std::thread mPlaybackThread;
+    std::thread mRecordThread;
     string mInputDataFile;
     PlaybackSettings mPlaybackSettings;