32 bit variable is used for storing number of bytes copied to DSP, which can overflow when playback duration goes beyond 24 hours. Change data type for this variable to uint64_t to prevent overflow and related playback anomaly.
below are the steps used to reproduce Steps:- 1. play all clips from music app with Repeat All Songs enabled 2. one of clip is 1hr duration - 5.1_16bit_192khz_1hr.m4a 3. ACTUAL BEHAVIOUR:- there is no audio playback & progress bar was at end of stream, but time stamp continues to update till 31hrs for 1hr clip
Raghu Bankapur (1): ASoC: msm: fix integer overflow for long duration offload playback
include/uapi/sound/compress_offload.h | 2 +- sound/core/compress_offload.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-)