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;
 }