Bring videoeditor copies of internal code in sync with recent changes to the originals
Change-Id: Ie534360f9f1f7757c57cffabb0fa4b4903422ecb
related-to-bug: 4193552
diff --git a/libvideoeditor/lvpp/VideoEditorAudioPlayer.cpp b/libvideoeditor/lvpp/VideoEditorAudioPlayer.cpp
index c9ff690..5dc3970 100755
--- a/libvideoeditor/lvpp/VideoEditorAudioPlayer.cpp
+++ b/libvideoeditor/lvpp/VideoEditorAudioPlayer.cpp
@@ -421,6 +421,9 @@
M4OSA_Int16 *pPTMdata=NULL;
M4OSA_UInt32 uiPCMsize = 0;
+ bool postSeekComplete = false;
+ bool postEOS = false;
+
while ((size_remaining > 0)&&(err==M4NO_ERROR)) {
MediaSource::ReadOptions options;
@@ -443,8 +446,9 @@
}
mSeeking = false;
+
if (mObserver) {
- mObserver->postAudioSeekComplete();
+ postSeekComplete = true;
}
}
}
@@ -622,7 +626,7 @@
if (status != OK) {
LOGV("fillBuffer: mSource->read returned err %d", status);
if (mObserver && !mReachedEOS) {
- mObserver->postAudioEOS();
+ postEOS = true;
}
mReachedEOS = true;
@@ -666,8 +670,18 @@
size_remaining -= copy;
}
- Mutex::Autolock autoLock(mLock);
- mNumFramesPlayed += size_done / mFrameSize;
+ {
+ Mutex::Autolock autoLock(mLock);
+ mNumFramesPlayed += size_done / mFrameSize;
+ }
+
+ if (postEOS) {
+ mObserver->postAudioEOS();
+ }
+
+ if (postSeekComplete) {
+ mObserver->postAudioSeekComplete();
+ }
return size_done;
}