hal: Fix progress bar issue during compress offload playback
During MP3 (with no gapless meta data) playback in 'repeat one song' mode observed that from second iteration onwards the progress bar continues to increase beyond the clip duration. At the end of second iteration the drain command is not reaching the driver as the compress_set_gapless_metadata() is not called. Fix the issue by ensuring that it gets called for every iteration. Change-Id: If71c145c5a02c99ff55f528522f1f36e20ec8871
This commit is contained in:
parent
91335bdacd
commit
38e6fe35ea
|
@ -1214,6 +1214,8 @@ static void *offload_thread_loop(void *context)
|
||||||
ALOGE("%s: Next track returned error %d",__func__, ret);
|
ALOGE("%s: Next track returned error %d",__func__, ret);
|
||||||
send_callback = true;
|
send_callback = true;
|
||||||
event = STREAM_CBK_EVENT_DRAIN_READY;
|
event = STREAM_CBK_EVENT_DRAIN_READY;
|
||||||
|
/* Resend the metadata for next iteration */
|
||||||
|
out->send_new_metadata = 1;
|
||||||
break;
|
break;
|
||||||
case OFFLOAD_CMD_DRAIN:
|
case OFFLOAD_CMD_DRAIN:
|
||||||
ALOGD("copl(%p):calling compress_drain", out);
|
ALOGD("copl(%p):calling compress_drain", out);
|
||||||
|
@ -1230,6 +1232,7 @@ static void *offload_thread_loop(void *context)
|
||||||
out->offload_thread_blocked = false;
|
out->offload_thread_blocked = false;
|
||||||
pthread_cond_signal(&out->cond);
|
pthread_cond_signal(&out->cond);
|
||||||
if (send_callback) {
|
if (send_callback) {
|
||||||
|
ALOGVV("%s: sending offload_callback event %d", __func__, event);
|
||||||
out->offload_callback(event, NULL, out->offload_cookie);
|
out->offload_callback(event, NULL, out->offload_cookie);
|
||||||
}
|
}
|
||||||
free(cmd);
|
free(cmd);
|
||||||
|
|
Loading…
Reference in New Issue