You are right, documentation clearly says bus needs to be taken and used: 77e6c98f
However, this is somewhat unobvious and can be surprising. From pipeline API it looks like pipeline can be created and used without fetching messages from bus.
Do we use concept of ownership here? Message references its sender but does not own it. Pipeline "provides" bus but does not fully manage it.
Maybe GstMessage
should have weak reference to src
?
Pipelines in my app live long, creating and removing sinks when necessary. I wasn't interested in bus messages, so I didn't add bus callback. Those sinks were posting messages on bus and got referenced, so removing them from pipeline (last reference) wasn't enough to dispose of them.
With bus watch attached, everything is okay. But probably whether sink should be disposed or not should not depend on whether user added bus watch.
Kyrylo Polezhaiev (887b4095) at 13 Sep 10:34
msdkvpp: Enable HDR-to-SDR tone mapping
... and 98946 more commits
In bug.xges
bottom layer is green and top layer is red. Z-order is discarded so the output image looks green, not red.
(set scale-x
to 1.0 to hide the bug)
The only way for zorder
and alpha
to pass something like glupload ! gltransformation ! gldownload
effect is when gst_base_transform_set_passthrough
set to TRUE
.