OLD | NEW |
1 /* | 1 /* |
2 * Copyright 2015 The WebRTC project authors. All Rights Reserved. | 2 * Copyright 2015 The WebRTC project authors. All Rights Reserved. |
3 * | 3 * |
4 * Use of this source code is governed by a BSD-style license | 4 * Use of this source code is governed by a BSD-style license |
5 * that can be found in the LICENSE file in the root of the source | 5 * that can be found in the LICENSE file in the root of the source |
6 * tree. An additional intellectual property rights grant can be found | 6 * tree. An additional intellectual property rights grant can be found |
7 * in the file PATENTS. All contributing project authors may | 7 * in the file PATENTS. All contributing project authors may |
8 * be found in the AUTHORS file in the root of the source tree. | 8 * be found in the AUTHORS file in the root of the source tree. |
9 */ | 9 */ |
10 | 10 |
11 package org.webrtc; | 11 package org.webrtc; |
12 | 12 |
13 import android.opengl.GLES11Ext; | 13 import android.opengl.GLES11Ext; |
14 import android.opengl.GLES20; | 14 import android.opengl.GLES20; |
15 | |
16 import java.nio.FloatBuffer; | 15 import java.nio.FloatBuffer; |
17 import java.util.IdentityHashMap; | 16 import java.util.IdentityHashMap; |
18 import java.util.Map; | 17 import java.util.Map; |
19 | 18 |
20 /** | 19 /** |
21 * Helper class to draw an opaque quad on the target viewport location. Rotation
, mirror, and | 20 * Helper class to draw an opaque quad on the target viewport location. Rotation
, mirror, and |
22 * cropping is specified using a 4x4 texture coordinate transform matrix. The fr
ame input can either | 21 * cropping is specified using a 4x4 texture coordinate transform matrix. The fr
ame input can either |
23 * be an OES texture or YUV textures in I420 format. The GL state must be preser
ved between draw | 22 * be an OES texture or YUV textures in I420 format. The GL state must be preser
ved between draw |
24 * calls, this is intentional to maximize performance. The function release() mu
st be called | 23 * calls, this is intentional to maximize performance. The function release() mu
st be called |
25 * manually to free the resources held by this object. | 24 * manually to free the resources held by this object. |
(...skipping 176 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
202 * Release all GLES resources. This needs to be done manually, otherwise the r
esources are leaked. | 201 * Release all GLES resources. This needs to be done manually, otherwise the r
esources are leaked. |
203 */ | 202 */ |
204 @Override | 203 @Override |
205 public void release() { | 204 public void release() { |
206 for (Shader shader : shaders.values()) { | 205 for (Shader shader : shaders.values()) { |
207 shader.glShader.release(); | 206 shader.glShader.release(); |
208 } | 207 } |
209 shaders.clear(); | 208 shaders.clear(); |
210 } | 209 } |
211 } | 210 } |
OLD | NEW |