From 3c694b4978393071c0500a8979a7a7780a83630f Mon Sep 17 00:00:00 2001 From: Mingshu Pang Date: Tue, 10 Dec 2019 13:59:00 +0800 Subject: visualizer: fix sub-overflow Fix visualizer crash due to sub-overflow. CRs-Fixed: 2593280 Change-Id: Id695dcadc6e5a4d333ddaabe7834db42ca52ed75 --- visualizer/offload_visualizer.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'visualizer/offload_visualizer.c') diff --git a/visualizer/offload_visualizer.c b/visualizer/offload_visualizer.c index b1829537..e1a34a05 100644 --- a/visualizer/offload_visualizer.c +++ b/visualizer/offload_visualizer.c @@ -971,14 +971,16 @@ int visualizer_command(effect_context_t * context, uint32_t cmdCode, uint32_t cm 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; -- cgit v1.2.3