r_submix: keep the signed value for offset calculation in AIDL implementation

otherwise a negative offset will result in long sleep

Bug: 295055755
Test: atest android.media.audio.cts.AudioPlaybackCaptureTest
Change-Id: Ie941cc2525e3ea42b53106ae3a65242794b1dd1b
diff --git a/audio/aidl/default/r_submix/StreamRemoteSubmix.cpp b/audio/aidl/default/r_submix/StreamRemoteSubmix.cpp
index 11838f8..3134b86 100644
--- a/audio/aidl/default/r_submix/StreamRemoteSubmix.cpp
+++ b/audio/aidl/default/r_submix/StreamRemoteSubmix.cpp
@@ -348,9 +348,9 @@
     // recording (including this call): it's converted to usec and compared to how long we've been
     // recording for, which gives us how long we must wait to sync the projected recording time, and
     // the observed recording time.
-    const size_t projectedVsObservedOffsetUs = static_cast<size_t>(
+    const int projectedVsObservedOffsetUs =
             std::roundf((readCounterFrames * MICROS_PER_SECOND / mStreamConfig.sampleRate) -
-                        recordDurationUs.count()));
+                        recordDurationUs.count());
 
     LOG(VERBOSE) << __func__ << ": record duration " << recordDurationUs.count()
                  << " microseconds, will wait: " << projectedVsObservedOffsetUs << " microseconds";