Merge "AudioTrack offload: fix EVENT_STREAM_END not called"
diff --git a/media/libaudioclient/AudioTrack.cpp b/media/libaudioclient/AudioTrack.cpp
index 8b35a85..96fccae 100644
--- a/media/libaudioclient/AudioTrack.cpp
+++ b/media/libaudioclient/AudioTrack.cpp
@@ -810,6 +810,13 @@
if (t != 0) {
if (!isOffloaded_l()) {
t->pause();
+ } else if (mTransfer == TRANSFER_SYNC_NOTIF_CALLBACK) {
+ const sp<AudioTrackThread> t = mAudioTrackThread;
+ if (t != 0) {
+ // causes wake up of the playback thread, that will callback the client for
+ // EVENT_STREAM_END in processAudioBuffer()
+ t->wake();
+ }
}
} else {
setpriority(PRIO_PROCESS, 0, mPreviousPriority);