GNOME Bugzilla – Bug 748956
glimagesink: Allocate glupload if necessary in ::propose_allocation()
Last modified: 2016-05-15 08:43:43 UTC
Fix a crash when ::propose_allocation() is called before glimagesink has set its caps. This could occur when the decoder early negotiate and doesn't have set its caps yet.
Created attachment 302929 [details] [review] glimagesink: Allocate glupload if necessary in ::propose_allocation()
Review of attachment 302929 [details] [review]: I still don't understand how one can reliably offer a pool without caps. How come it's suddenly considered right to do an allocation query before negotiating the caps ?
(In reply to Nicolas Dufresne (stormer) from comment #2) > Review of attachment 302929 [details] [review] [review]: > > I still don't understand how one can reliably offer a pool without caps. How > come it's suddenly considered right to do an allocation query before > negotiating the caps ? I've faced the issue while working on https://bugzilla.gnome.org/show_bug.cgi?id=742924. I have a current WIP that allows the query allocation to reach downstream using the autoplug-query signal while the decoder is still not linked with downstream so it can still try to negotiate early, otherwise any attempt of doing a query allocation in ::set_format() will fail. Aren't the caps contained in the allocation query itself enough to negotiate a pool ? I don't suddenly consider it right as this approach at fixing #742924 might be wrong or not. If you can give me your input on the issue, that would be helpful.
Review of attachment 302929 [details] [review]: If this does get in, this really should be refactored out into a separate function (maybe _init_upload?) that is called by both propose_allocation and the other invocation (set_caps?). Although with the current state as of now wrt bug 743974 comment 23, this might be now handled by the gluploadelement.
Does not apply anymore with a separate glupload element.