After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 752661 - gl : passing immutable gst structure to gst_structure_id_take_value
gl : passing immutable gst structure to gst_structure_id_take_value
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-bad
git master
Other All
: Normal normal
: 1.5.90
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2015-07-21 11:19 UTC by Hyunjun Ko
Modified: 2015-08-16 13:39 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
basetransform: Avoid increasing query reference (1.67 KB, patch)
2015-07-21 17:30 UTC, Nicolas Dufresne (ndufresne)
committed Details | Review

Description Hyunjun Ko 2015-07-21 11:19:21 UTC
Since the commit(2fb862) last night, with glimagesink, gst-launch always show this error.

(gst-launch-1.0:27090): GStreamer-CRITICAL **: gst_structure_id_take_value: assertion `IS_MUTABLE (structure)' failed

This is because decide_query's ref count in _gst_gl_upload_element_propose_allocation is 2.

This is ref-counted already in gst_base_transform_default_query.

I'm not sure how to fix this.
Remove gst_query_ref in gst_base_transform_default_query?
Or fix something in gl?
Comment 1 Hyunjun Ko 2015-07-21 14:21:22 UTC
Reproduce step.
gst-launch-1.0 playbin uri=file://something video-sink="glimagesink"
Comment 2 Luis de Bethencourt 2015-07-21 14:46:41 UTC
Direct link to patch mentioned:
http://cgit.freedesktop.org/gstreamer/gst-plugins-bad/commit/?id=2fb862b34fbe1f7713381144800f863aad1ef16f
Comment 3 Nicolas Dufresne (ndufresne) 2015-07-21 17:30:37 UTC
Created attachment 307847 [details] [review]
basetransform: Avoid increasing query reference

gst_query_find_allocation_meta() requires the query to be
writable to work. This patch ensure avoids taking a reference
on the query, so we can now check if a certain allocation meta
is present.
Comment 4 Nicolas Dufresne (ndufresne) 2015-07-21 17:31:59 UTC
This is one possible fix. Changing gstquery.c to not write into the structure seemed tricky.
Comment 5 Nicolas Dufresne (ndufresne) 2015-07-22 21:13:33 UTC
Can't find anything better. With 1 reader and 1 writer, this should work.

Attachment 307847 [details] pushed as f9aa306 - basetransform: Avoid increasing query reference