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