<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Handling of QVideoFrame with GLTextureHandle handle type]]></title><description><![CDATA[<p dir="auto">MacOS with Qt 5.9.1.<br />
I'm using QMediaPlayer to play local video files. My implementation of QAbstractVideoSurface is set as QMediaPlayer VideoOutput and "present" slot fires only once with (QVideoFrame::handleType() == QAbstractVideoBuffer::GLTextureHandle). How can I change handle type to have access to fame buffer and operate with it's each byte or how can I get openGL texture data to work with it? I found on forum this <a href="https://www.khronos.org/opengl/wiki/Pixel_Transfer" target="_blank" rel="noopener noreferrer nofollow ugc">link</a>, but I still can't get data from GPU memory. Maybe I just need to bind correct context to work with, because this call returns 0:</p>
<pre><code>QOpenGLContext::currentContext()
</code></pre>
<p dir="auto">On windows the same implementation returns "NoHandle" handle type and fires "present" slot for every new frame.<br />
Application instantiates QGuiApplication (QMediaPlayer crashed on "void setVideoOutput(QAbstractVideoSurface *surface)" call with QCoreApplication) and works with glfw OpenGL context, but there is no any Qt windows.</p>
]]></description><link>https://forum.qt.io/topic/83889/handling-of-qvideoframe-with-gltexturehandle-handle-type</link><generator>RSS for Node</generator><lastBuildDate>Fri, 23 Oct 2026 00:48:27 GMT</lastBuildDate><atom:link href="https://forum.qt.io/topic/83889.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 05 Oct 2017 08:42:16 GMT</pubDate><ttl>60</ttl></channel></rss>