summaryrefslogtreecommitdiff
path: root/visualizer
diff options
context:
space:
mode:
authorMingshu Pang <mpang@codeaurora.org>2019-12-10 13:59:00 +0800
committerMingshu Pang <mpang@codeaurora.org>2020-01-19 17:44:54 +0800
commit3c694b4978393071c0500a8979a7a7780a83630f (patch)
tree759a30b5340eb133379208fdfd8612cc08f2331d /visualizer
parentacf12bbba2a6c7864e27974c234e702be7c27fcf (diff)
visualizer: fix sub-overflow
Fix visualizer crash due to sub-overflow. CRs-Fixed: 2593280 Change-Id: Id695dcadc6e5a4d333ddaabe7834db42ca52ed75
Diffstat (limited to 'visualizer')
-rw-r--r--visualizer/offload_visualizer.c6
1 files changed, 4 insertions, 2 deletions
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;