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 732662 - glmixer didn't receive the GstGLContext from downstream basetransform
glmixer didn't receive the GstGLContext from downstream basetransform
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-bad
1.3.3
Other Linux
: Normal normal
: 1.5.1
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2014-07-03 03:26 UTC by comicfans44
Modified: 2014-08-11 13:40 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
videoaggregator: don't delay the caps event (3.31 KB, patch)
2014-08-07 10:06 UTC, Matthew Waters (ystreet00)
committed Details | Review

Description comicfans44 2014-07-03 03:26:07 UTC
I found this commit 

e1e2a88358c6aeba220d20ed9ff32af141cb2575
glmixer: send the stream-start event and the caps event after.

cause black screen if glvideomixer is not the last element before glimagesink

pipeline constructed as 

videotestsrc ! glvideomixer ! glfilterblur ! glimagesink

glmixer didn't got GstGLContext , then created a GstGLContext itself. 

but if pipeline constructed as 

videotestsrc ! glfilterblur ! glvideomixer ! glimagesink

everything seems OK
Comment 1 Matthew Waters (ystreet00) 2014-07-05 08:32:58 UTC
Right so it would seem that glvideomixer does an allocation query before videoaggregator has sent the caps event and so basetransform replies that it can't answer the allocation query yet (because it is not fully negotiated).  Thus no GL context sharing between elements.
Comment 2 Matthew Waters (ystreet00) 2014-08-07 10:06:24 UTC
Created attachment 282764 [details] [review]
videoaggregator: don't delay the caps event

This fixes the issue for me.  I'm not sure about its correctness though.
Comment 3 Thibault Saunier 2014-08-11 13:36:45 UTC
Review of attachment 282764 [details] [review]:

Just change that doc and push please.

::: gst-libs/gst/base/gstaggregator.c
@@ +341,3 @@
+ * gst_aggregator_set_src_caps:
+ * @self: The #GstAggregator
+ * @caps: The #GstCaps to set later on the src pad.

Please remove the "later" part :)
Comment 4 Matthew Waters (ystreet00) 2014-08-11 13:40:10 UTC
commit 7c016752d7b96f12d010134c606c0d587ad3534e
Author: Matthew Waters <ystreet00@gmail.com>
Date:   Thu Aug 7 19:54:36 2014 +1000

    videoaggregator: push the caps event as soon as we receive it
    
    Along with the required mandatory dependent events.
    
    Some elements need to perform an allocation query inside
    ::negotiated_caps().  Without the caps event being sent prior,
    downstream elements will be unable to answer and will return
    an error.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=732662

commit 44e84025d7d004276bb53a5485442ff9734dcfd2
Author: Matthew Waters <ystreet00@gmail.com>
Date:   Mon Aug 11 23:38:40 2014 +1000

    aggregator: fix up doc comment for set_src_caps
    
    It does not occur 'later' anymore
    
    https://bugzilla.gnome.org/show_bug.cgi?id=732662