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 748956 - glimagesink: Allocate glupload if necessary in ::propose_allocation()
glimagesink: Allocate glupload if necessary in ::propose_allocation()
Status: RESOLVED OBSOLETE
Product: GStreamer
Classification: Platform
Component: gst-plugins-bad
git master
Other Linux
: Normal normal
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2015-05-05 14:16 UTC by Matthieu Bouron
Modified: 2016-05-15 08:43 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
glimagesink: Allocate glupload if necessary in ::propose_allocation() (1.63 KB, patch)
2015-05-05 14:18 UTC, Matthieu Bouron
none Details | Review

Description Matthieu Bouron 2015-05-05 14:16:41 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.
Comment 1 Matthieu Bouron 2015-05-05 14:18:17 UTC
Created attachment 302929 [details] [review]
glimagesink: Allocate glupload if necessary in ::propose_allocation()
Comment 2 Nicolas Dufresne (ndufresne) 2015-05-05 14:20:06 UTC
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 ?
Comment 3 Matthieu Bouron 2015-05-05 14:45:03 UTC
(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.
Comment 4 Matthew Waters (ystreet00) 2015-05-07 05:07:01 UTC
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.
Comment 5 Matthew Waters (ystreet00) 2016-05-15 08:43:43 UTC
Does not apply anymore with a separate glupload element.