Solved my problem. It seems for this phone, it cannot support both recording and image capture surfaces at the same time, it works if I remove either captureReader?.surface?.let { surface -> surfaceList.add(surface) }
or
recorderSurface?.let { surface -> surfaceList.add(surface) }