mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-09-28 23:02:22 +00:00
gloverlay: Fix various issues in allocation handling
* A copy-paste error was getting the information from the wrong query * The 'allocation_meta' GstStructure was being leaked * No check was done on whether the query existed (to try to set the resulting allocation meta on) CID: 1439872 CID: 1439873 CID: 1439874 CID: 1439875 CID: 1439876 CID: 1439877
This commit is contained in:
parent
51253830f3
commit
0200175d97
1 changed files with 8 additions and 5 deletions
|
@ -188,7 +188,7 @@ gst_gl_overlay_compositor_element_propose_allocation (GstBaseTransform * trans,
|
|||
decide_query, query))
|
||||
return FALSE;
|
||||
|
||||
if ((width == 0 || height == 0) && decide_query) {
|
||||
if (decide_query) {
|
||||
GstCaps *decide_caps;
|
||||
gst_query_parse_allocation (decide_query, &decide_caps, NULL);
|
||||
|
||||
|
@ -204,7 +204,7 @@ gst_gl_overlay_compositor_element_propose_allocation (GstBaseTransform * trans,
|
|||
|
||||
if ((width == 0 || height == 0) && query) {
|
||||
GstCaps *caps;
|
||||
gst_query_parse_allocation (decide_query, &caps, NULL);
|
||||
gst_query_parse_allocation (query, &caps, NULL);
|
||||
|
||||
if (caps) {
|
||||
GstVideoInfo vinfo;
|
||||
|
@ -224,9 +224,12 @@ gst_gl_overlay_compositor_element_propose_allocation (GstBaseTransform * trans,
|
|||
|
||||
GST_DEBUG_OBJECT (trans, "Adding overlay composition meta with size %ux%u",
|
||||
width, height);
|
||||
gst_query_add_allocation_meta (query,
|
||||
GST_VIDEO_OVERLAY_COMPOSITION_META_API_TYPE, allocation_meta);
|
||||
|
||||
if (allocation_meta) {
|
||||
if (query)
|
||||
gst_query_add_allocation_meta (query,
|
||||
GST_VIDEO_OVERLAY_COMPOSITION_META_API_TYPE, allocation_meta);
|
||||
gst_structure_free (allocation_meta);
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue