我正在尝试通过使用AVAssetReaderVideoCompositionOutput作为帧输入,将GPUImage库中的GPUImageMovie扩展为AVComposition。 但到达时:
- (void)processMovieFrame:(CMSampleBufferRef)movieSampleBuffer {
..
CVReturn err = CVOpenGLESTextureCacheCreateTextureFromImage(kCFAllocatorDefault,
coreVideoTextureCache, movieFrame, NULL, GL_TEXTURE_2D, GL_RGBA, bufferWidth,
bufferHeight, GL_BGRA, GL_UNSIGNED_BYTE, 0, &texture);
...
我得到: 无法创建IOSurface图像(纹理) 电影CVOpenGLESTextureCacheCreateTextureFromImage失败(错误:-6683)
原来是: kCVReturnPixelBufferNotOpenGLCompatible -6683
由于缓冲区大小,像素格式或属性不受支持,像素缓冲区与OpenGL不兼容。 适用于iOS 4.0及更高版本
任何想法? 感谢