Fix for the issue: TestPreviewWithTransition fails (4133108)
Change-Id: I53eb798f4f86e83f8a4668c7256241367c1ccbe4
diff --git a/libvideoeditor/lvpp/PreviewPlayer.cpp b/libvideoeditor/lvpp/PreviewPlayer.cpp
index babe957..8618221 100755
--- a/libvideoeditor/lvpp/PreviewPlayer.cpp
+++ b/libvideoeditor/lvpp/PreviewPlayer.cpp
@@ -594,9 +594,15 @@
LOGV("MEDIA_PLAYBACK_COMPLETE");
//pause before sending event
pause_l(true /* at eos */);
+
+ //This lock is used to syncronize onStreamDone() in PreviewPlayer and
+ //stopPreview() in PreviewController
+ Mutex::Autolock autoLock(mLockControl);
notifyListener_l(MEDIA_PLAYBACK_COMPLETE);
mFlags |= AT_EOS;
+ LOGV("onStreamDone end");
+ return;
}
}
@@ -1490,6 +1496,16 @@
return OK;
}
+void PreviewPlayer::acquireLock() {
+ LOGV("acquireLock");
+ mLockControl.lock();
+}
+
+void PreviewPlayer::releaseLock() {
+ LOGV("releaseLock");
+ mLockControl.unlock();
+}
+
status_t PreviewPlayer::resume() {
LOGV("resume");
Mutex::Autolock autoLock(mLock);