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 787910 - iOS vtdec/glimagesink: CAEAGLLayer not reusable
iOS vtdec/glimagesink: CAEAGLLayer not reusable
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-bad
1.x
Other Linux
: Normal normal
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2017-09-19 16:51 UTC by Nicola
Modified: 2017-11-03 21:28 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
modified iOS tutorial 4 that shows the issue (16.57 KB, text/x-objcsrc)
2017-09-19 16:51 UTC, Nicola
Details

Description Nicola 2017-09-19 16:51:48 UTC
Created attachment 360070 [details]
modified iOS tutorial 4 that shows the issue

On iOS a pipeline such this one:

souphttpsrc ! matroskademux ! queue ! vtdec ! glupload ! glcolorconvert ! glimagesink

works fine and the video is showed in the supplied CAEAGLLayer but if you set the pipeline to NULL and you create it again using the same CAEAGLLayer the pipeline run, you can hear audio but video is not refreshed, glimagesink logs shows that the video is sent to the CAEAGLLayer.

If you replace vtdec with avdec_h264 then all is fine and the CAEAGLLayer is reusable as expected. 

Seems something like a cleanup issue.

I can reproduce the issue using iOS tutorial 4 with small modifications. 

Please note that in the provided example you need to change this line 

g_object_set(self->pipeline, "uri", "http://192.168.1.50/test6.mkv", NULL);

to point to a reachable H.264 media
Comment 1 Nicola 2017-11-03 21:28:05 UTC
this bug is fixed in this commit

https://cgit.freedesktop.org/gstreamer/gst-plugins-bad/commit/?id=dc6c4ea5c24418e210bbd46bd517eb932ba21018

now I can see this bug 

https://bugzilla.gnome.org/show_bug.cgi?id=788280 

on iOS too, maybe a similar reference counting issue happen in glvideoflip?