audio: Fix the lifetime of the StreamWorker's logic part
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
Loading
Please register or sign in to comment