mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-03-28 11:55:39 +00:00
libs: bufferproxy: remove GstMemory reference
Since bufferproxy and surface are not referenced circularly, there's no need to keep, in the buffer proxy, a reference to the GstMemory where it is held. This patch removes that handling.
This commit is contained in:
parent
e54671d4b3
commit
f1d13d1e08
3 changed files with 0 additions and 47 deletions
|
@ -85,11 +85,6 @@ gst_vaapi_buffer_proxy_finalize (GstVaapiBufferProxy * proxy)
|
|||
{
|
||||
gst_vaapi_buffer_proxy_release_handle (proxy);
|
||||
|
||||
if (proxy->mem) {
|
||||
gst_memory_unref (proxy->mem);
|
||||
proxy->mem = NULL;
|
||||
}
|
||||
|
||||
/* Notify the user function that the object is now destroyed */
|
||||
if (proxy->destroy_func)
|
||||
proxy->destroy_func (proxy->destroy_data);
|
||||
|
@ -130,7 +125,6 @@ gst_vaapi_buffer_proxy_new (guintptr handle, guint type, gsize size,
|
|||
proxy->va_info.type = VAImageBufferType;
|
||||
proxy->va_info.mem_type = from_GstVaapiBufferMemoryType (proxy->type);
|
||||
proxy->va_info.mem_size = size;
|
||||
proxy->mem = NULL;
|
||||
if (!proxy->va_info.mem_type)
|
||||
goto error_unsupported_mem_type;
|
||||
return proxy;
|
||||
|
@ -162,7 +156,6 @@ gst_vaapi_buffer_proxy_new_from_surface (GstMiniObject * surface,
|
|||
proxy->destroy_data = data;
|
||||
proxy->type = type;
|
||||
proxy->va_buf = buf_id;
|
||||
proxy->mem = NULL;
|
||||
memset (&proxy->va_info, 0, sizeof (proxy->va_info));
|
||||
proxy->va_info.mem_type = from_GstVaapiBufferMemoryType (proxy->type);
|
||||
if (!proxy->va_info.mem_type)
|
||||
|
@ -303,36 +296,3 @@ gst_vaapi_buffer_proxy_release_data (GstVaapiBufferProxy * proxy)
|
|||
proxy->destroy_data = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* gst_vaapi_buffer_proxy_set_mem:
|
||||
* @proxy: a #GstVaapiBufferProxy
|
||||
* @mem: a #GstMemory
|
||||
*
|
||||
* Relates @mem with @proxy, hence we later will know which memory
|
||||
* correspond to processed surface.
|
||||
*
|
||||
* This is useful when a dmabuf-based memory is instantiated and
|
||||
* associated with a surface.
|
||||
**/
|
||||
void
|
||||
gst_vaapi_buffer_proxy_set_mem (GstVaapiBufferProxy * proxy, GstMemory * mem)
|
||||
{
|
||||
gst_mini_object_replace ((GstMiniObject **) & proxy->mem,
|
||||
GST_MINI_OBJECT (mem));
|
||||
}
|
||||
|
||||
/**
|
||||
* gst_vaapi_buffer_proxy_peek_mem:
|
||||
* @proxy: a #GstVaapiBufferProxy
|
||||
*
|
||||
* This is useful when a dmabuf-based memory is instantiated and
|
||||
* associated with a surface.
|
||||
*
|
||||
* Returns: (transfer none): the assigned #GstMemory to the @proxy.
|
||||
**/
|
||||
GstMemory *
|
||||
gst_vaapi_buffer_proxy_peek_mem (GstVaapiBufferProxy * proxy)
|
||||
{
|
||||
return proxy->mem;
|
||||
}
|
||||
|
|
|
@ -101,12 +101,6 @@ gst_vaapi_buffer_proxy_get_size (GstVaapiBufferProxy * proxy);
|
|||
void
|
||||
gst_vaapi_buffer_proxy_release_data (GstVaapiBufferProxy * proxy);
|
||||
|
||||
void
|
||||
gst_vaapi_buffer_proxy_set_mem (GstVaapiBufferProxy * proxy, GstMemory * mem);
|
||||
|
||||
GstMemory *
|
||||
gst_vaapi_buffer_proxy_peek_mem (GstVaapiBufferProxy * proxy);
|
||||
|
||||
G_END_DECLS
|
||||
|
||||
#endif /* GST_VAAPI_BUFFER_PROXY_H */
|
||||
|
|
|
@ -69,7 +69,6 @@ struct _GstVaapiBufferProxy {
|
|||
guint type;
|
||||
VABufferID va_buf;
|
||||
VABufferInfo va_info;
|
||||
GstMemory *mem;
|
||||
};
|
||||
|
||||
G_GNUC_INTERNAL
|
||||
|
|
Loading…
Reference in a new issue