GNOME Bugzilla – Bug 787910
iOS vtdec/glimagesink: CAEAGLLayer not reusable
Last modified: 2017-11-03 21:28:18 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
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?