visualizer: fix sub-overflow

Fix visualizer crash due to sub-overflow.

CRs-Fixed: 2571235
Change-Id: Id695dcadc6e5a4d333ddaabe7834db42ca52ed75
diff --git a/visualizer/offload_visualizer.c b/visualizer/offload_visualizer.c
index b182953..e1a34a0 100644
--- a/visualizer/offload_visualizer.c
+++ b/visualizer/offload_visualizer.c
@@ -971,14 +971,16 @@
 
         if (context->state == EFFECT_STATE_ACTIVE) {
             int32_t latency_ms = visu_ctxt->latency;
-            const uint32_t delta_ms = visualizer_get_delta_time_ms_from_updated_time(visu_ctxt);
+            const int32_t delta_ms = visualizer_get_delta_time_ms_from_updated_time(visu_ctxt);
             latency_ms -= delta_ms;
             if (latency_ms < 0) {
                 latency_ms = 0;
             }
             const uint32_t delta_smp = context->config.inputCfg.samplingRate * latency_ms / 1000;
 
-            int64_t capture_point = visu_ctxt->capture_idx - visu_ctxt->capture_size - delta_smp;
+            int64_t capture_point = visu_ctxt->capture_idx;
+            capture_point -= visu_ctxt->capture_size;
+            capture_point -= delta_smp;
             int64_t capture_size = visu_ctxt->capture_size;
             if (capture_point < 0) {
                 int64_t size = -capture_point;