static void SurfaceTexture_init(JNIEnv* env, jobject thiz, jint texName,
jobject weakThiz, jboolean allowSynchronous)
{
- sp<GLConsumer> surfaceTexture(new GLConsumer(texName, allowSynchronous));
+ sp<BufferQueue> bq = new BufferQueue(allowSynchronous);
+ sp<GLConsumer> surfaceTexture(new GLConsumer(bq, texName));
if (surfaceTexture == 0) {
jniThrowException(env, OutOfResourcesException,
"Unable to create native SurfaceTexture");
nativeFormat = Image_getPixelFormat(env, format);
- sp<CpuConsumer> consumer = new CpuConsumer(maxImages);
+ sp<BufferQueue> bq = new BufferQueue();
+ sp<CpuConsumer> consumer = new CpuConsumer(bq, maxImages);
// TODO: throw dvm exOutOfMemoryError?
if (consumer == NULL) {
jniThrowRuntimeException(env, "Failed to allocate native CpuConsumer");
}
// Create dummy surface using a GLConsumer
- surfaceTexture_ = new GLConsumer(0);
+ sp<BufferQueue> bq = new BufferQueue();
+ surfaceTexture_ = new GLConsumer(bq, 0);
window_ = new Surface(static_cast<sp<IGraphicBufferProducer> >(
surfaceTexture_->getBufferQueue()));