GNOME Bugzilla – Bug 747408
vtdec: vtdec ! glimagesync broken on OS X
Last modified: 2016-09-22 07:50:02 UTC
I suspect issue is GLMemory and NV12, since vtdec ! videoflip method=clockwise ! glimagesink works.
I can reproduce the problem too.
Note the following from the Video Toolbox WWDC lecture: "But let's say you were possessed to add BGRA request to your PixelBufferAttributes. So just like before, the decoder inside of our VTDecompressionSession will decode to a YUV format and will ask whether this CVPixelBuffer is compatible with the requested output requirements. And it is OpenGL ES compatible, but it's certainly not BGRA. So it will need to do an extra buffer copy to convert that YUV data to BGRA data. So extra buffer copies are bad. They decrease efficiency and they can lead to decreased battery life." Basically, he's saying that the native format is YUV, and specifying BGRA will cause a conversion and a buffer copy. Therefore, we should strive to have glimagesink draw YUV rather than ask vtdec to decode to BGRA. (Ditto in avfvideosrc ! glimagesink, probably.)
Link to the text of the WWDC session on Video Toolbox: http://asciiwwdc.com/2014/sessions/513
Does this still happen? If so, could you attach a *:6 debug log of it failing?
This most likely fixed by the numerous commits to applemedia integrating with gstgl. As the required information was not provided, marking as incomplete. If you have any more information to provide, please reopen and provide the necessary information.