ios: Do not leak texture cache objects

Do not recreate m_textureCache if it already exists. This changes the
memory allocation behavior of a simple iOS example program from
linearly increasing to constant over time.

Change-Id: I6ff13b586c653fb7b4cadfa9f4ebf985b07ee455
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
This commit is contained in:
Frank Osterfeld
2015-02-22 13:15:03 +01:00
committed by Yoann Lopes
parent 39bb642cb2
commit b0f283b65e

View File

@@ -240,14 +240,16 @@ void AVFVideoFrameRenderer::initRenderer()
//Need current context
m_glContext->makeCurrent(m_offscreenSurface);
// Create a new open gl texture cache
CVReturn err = CVOGLTextureCacheCreate(kCFAllocatorDefault, NULL,
[EAGLContext currentContext],
NULL, &m_textureCache);
if (err) {
#ifdef QT_DEBUG_AVF
qWarning("Error at CVOGLTextureCacheCreate %d", err);
#endif
if (!m_textureCache) {
// Create a new open gl texture cache
CVReturn err = CVOGLTextureCacheCreate(kCFAllocatorDefault, NULL,
[EAGLContext currentContext],
NULL, &m_textureCache);
if (err) {
#ifdef QT_DEBUG_AVF
qWarning("Error at CVOGLTextureCacheCreate %d", err);
#endif
}
}
}