libvideorender: CB2 fix buffer exception release [1/1]

PD#SWPL-181759

Problem:
Timing error causes buffer to be unusually reused

Solution:
add a mutex.

Verify:
ap222

Change-Id: Ice7478330cb08978b476436a1265eb36f326c259
Signed-off-by: fei.deng <fei.deng@amlogic.com>
diff --git a/weston/wayland_buffer.cpp b/weston/wayland_buffer.cpp
index 5691d5e..7e537b9 100644
--- a/weston/wayland_buffer.cpp
+++ b/weston/wayland_buffer.cpp
@@ -85,8 +85,8 @@
     // if ( (waylandBuffer->mFrameWidth != fw || waylandBuffer->mFrameHeight != fh) &&
     //         waylandBuffer->mWaylandWlWrap) {
     //     TRACE(waylandBuffer->mLogCategory,"resolution changed,delete WaylandBuffer:%p,WaylandDmaBuffer:%p",waylandBuffer,waylandBuffer->mWaylandWlWrap);
-        delete waylandBuffer->mWaylandWlWrap;
         waylandBuffer->mLock.lock();
+        delete waylandBuffer->mWaylandWlWrap;
         waylandBuffer->mWaylandWlWrap = NULL;
         waylandBuffer->mLock.unlock();
     // }
@@ -139,10 +139,13 @@
     struct wl_buffer * wlbuffer = NULL;
     WaylandDisplay::AmlConfigAPIList *amlConfigAPI = mDisplay->getAmlConfigAPIList();
 
+    mLock.lock();
     mRenderBuffer = buf;
     if (mWaylandWlWrap) {
+        mLock.unlock();
         return NO_ERROR;
     }
+    mLock.unlock();
 
     if (buf->flag & BUFFER_FLAG_DMA_BUFFER) {
         WaylandDmaBuffer *waylanddma = new WaylandDmaBuffer(mDisplay, mLogCategory);