add buf ref

Change-Id: Ie9194755593641fdc3f208f7e7a52d0690f91918
diff --git a/src/gstamlvideosink.c b/src/gstamlvideosink.c
index f748e00..b017cf0 100644
--- a/src/gstamlvideosink.c
+++ b/src/gstamlvideosink.c
@@ -405,6 +405,7 @@
     RenderBuffer *tunnel_lib_buf_wrap = NULL;
 
     GST_OBJECT_LOCK(vsink);
+    GST_LOG_OBJECT(sink, "revice buffer:%p, from pool:%p", buffer, buffer->pool);
 
     if (!sink_priv->render_device_handle)
     {
@@ -525,13 +526,15 @@
     {
     case MSG_RELEASE_BUFFER:
     {
+        GST_LOG_OBJECT(sink, "get message: MSG_RELEASE_BUFFER from tunnel lib");
         GstAmlVideoSinkPrivate *sink_priv = GST_AML_VIDEO_SINK_GET_PRIVATE(sink);
         RenderBuffer *tunnel_lib_buf_wrap = (RenderBuffer *)msg;
         GstBuffer *buffer = (GstBuffer *)tunnel_lib_buf_wrap->priv;
 
         if (buffer)
         {
-            GST_DEBUG_OBJECT(sink, "GstBuffer:%p rendered", buffer);
+            GST_LOG_OBJECT(sink, "get message: MSG_RELEASE_BUFFER from tunnel lib, buffer:%p, from pool:%p", buffer, buffer->pool);
+            GstMiniObject *mini_obj_buf = GST_MINI_OBJECT_CAST (buffer);
             gst_buffer_unref(buffer);
         }
         else
@@ -620,6 +623,7 @@
         ret = FALSE;
         goto error;
     }
+    gst_buffer_ref(gst_buf);
     n_mem = gst_buffer_n_memory(gst_buf);
     vmeta = gst_buffer_get_video_meta (gst_buf);
     if(vmeta == NULL)
@@ -681,6 +685,7 @@
     tunnel_lib_buf_wrap->flag = BUFFER_FLAG_EXTER_DMA_BUFFER;
     tunnel_lib_buf_wrap->pts = GST_BUFFER_PTS(gst_buf);
     tunnel_lib_buf_wrap->priv = (void *)gst_buf;
+    GST_DEBUG_OBJECT(vsink, "set tunnel lib buf priv:%p from pool:%p", tunnel_lib_buf_wrap->priv, gst_buf->pool);
     
     return ret;
 
diff --git a/test/run.sh b/test/run.sh
index 6c6e7e3..ee34cfd 100755
--- a/test/run.sh
+++ b/test/run.sh
@@ -1,4 +1,5 @@
 #!/bin/bash
+sync
 echo 1 > /sys/module/amvdec_ports/parameters/multiplanar
 echo 1 > /sys/module/amvdec_ports/parameters/bypass_vpp
 echo 0 > /sys/module/amvdec_ports/parameters/enable_drm_mode