audio/aidl/common/StreamWorker.cpp
0 → 100644
+160
−0
Loading
Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more
Fix the mistake of making StreamWorker to inherit from the part which provides actual thread logic (Impl). The lifetime of the logic object must be longer than the lifetime of the StreamWorker's thread. Otherwise, the thread could still have running while the logic has already been destroyed (consider the order of destructors in C++ class inheritance). With this fix, the StreamWorker class does not have to be a template anymore, thus reorganize the code to move big methods into a .cpp file. Bug: 205884982 Test: atest libaudioaidlcommon_test --iterations Change-Id: I5bc2c8fd9d78a0fbc9fddab67456cc5214584045