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 708668 - context: Potential regression
context: Potential regression
Product: GStreamer
Classification: Platform
Component: gstreamer (core)
git master
Other All
: Normal blocker
: 1.2.0
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Reported: 2013-09-24 10:06 UTC by A Ashley
Modified: 2013-09-24 14:58 UTC
See Also:
GNOME target: ---
GNOME version: ---

Patch to fakesink to show the issue (13.90 KB, patch)
2013-09-24 10:06 UTC, A Ashley
committed Details | Review

Description A Ashley 2013-09-24 10:06:57 UTC
Created attachment 255615 [details] [review]
Patch to fakesink to show the issue

Since the refactoring of GstContext I am no longer able to get a shared context for an element that is used twice in a pipeline. I used the documentation and eglglessink as my reference for implementing the GstContext logic.

As the code was tied to a hardware decoder, I have ported the GstContext code to fakesink to show the problem. Using the old API a single ExampleMgr instance was created, but using the new API each element is creating its own instance.

There is some gst-indent spam in the patch, but as the patch is only to explain the issue, hopefully that won't count against me :)
Comment 1 Sebastian Dröge (slomo) 2013-09-24 10:34:14 UTC
Thanks, unfortunately I can confirm this here with your patch :)
Comment 2 Sebastian Dröge (slomo) 2013-09-24 10:49:11 UTC
I'll put something like your test into the testsuite. Thanks

commit ccfca8f66f33bc2d571348ad8cbbe15aba7f6130
Author: Sebastian Dröge <>
Date:   Tue Sep 24 12:46:52 2013 +0200

    bin: Make sure to cache context types that we did not store yet

commit cac572ec5de99dde5f60927840097ac94452e0e6
Author: Sebastian Dröge <>
Date:   Tue Sep 24 12:47:26 2013 +0200

    playbin: Make sure to cache context types we did not store yet
Comment 3 A Ashley 2013-09-24 14:36:17 UTC
Thanks Sebastian

I can confirm that this fixes the problem for me.

With minutes to spare before the 1.2 release!

Should I be worrying about the message from gst-launch?
Got context from element 'fakesink1': gst.example.ExampleMgr=context, ExampleMgr=(GstExampleMgr)NULL;

I know the value is not null.
Comment 4 Sebastian Dröge (slomo) 2013-09-24 14:58:06 UTC
That's just because there is nothing to serialize it to a real value :) Nothing to worry about