processing the frame is outside the mutex