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:
Ravi Kumar Alamanda 2014-12-02 19:21:51 -08:00
parent 91335bdacd
commit 38e6fe35ea
1 changed files with 3 additions and 0 deletions

View File

@ -1214,6 +1214,8 @@ static void *offload_thread_loop(void *context)
ALOGE("%s: Next track returned error %d",__func__, ret);
send_callback = true;
event = STREAM_CBK_EVENT_DRAIN_READY;
/* Resend the metadata for next iteration */
out->send_new_metadata = 1;
break;
case OFFLOAD_CMD_DRAIN:
ALOGD("copl(%p):calling compress_drain", out);
@ -1230,6 +1232,7 @@ static void *offload_thread_loop(void *context)
out->offload_thread_blocked = false;
pthread_cond_signal(&out->cond);
if (send_callback) {
ALOGVV("%s: sending offload_callback event %d", __func__, event);
out->offload_callback(event, NULL, out->offload_cookie);
}
free(cmd);