ezuikit-js 7.7.1 → 7.7.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (119) hide show
  1. package/CHANGELOG.md +115 -109
  2. package/README.md +490 -474
  3. package/ezuikit.js +57998 -54638
  4. package/ezuikit_static/v65/v1/js/jsPluginV1-1.0.0.min.js +4 -18
  5. package/ezuikit_static/v65/v3/js/jsPluginV3-1.0.0.min.js +434 -6
  6. package/package.json +6 -1
  7. package/demos/EZUIKitHD/EZUIKitHD.html +0 -171
  8. package/demos/EZUIKitHD/js/jsWebControl-1.0.0.min.js +0 -80
  9. package/demos/base-demo/base.html +0 -117
  10. package/demos/base-demo/ezuikit.js +0 -33480
  11. package/demos/base-demo/ezuikit_static/v65/v1/css/theme.css +0 -121
  12. package/demos/base-demo/ezuikit_static/v65/v1/js/AudioRenderer.js +0 -225
  13. package/demos/base-demo/ezuikit_static/v65/v1/js/SuperRender_10.js +0 -395
  14. package/demos/base-demo/ezuikit_static/v65/v1/js/SystemTransform.js +0 -22
  15. package/demos/base-demo/ezuikit_static/v65/v1/js/SystemTransform.js.mem +0 -0
  16. package/demos/base-demo/ezuikit_static/v65/v1/js/jsPluginV1-1.0.0.min.js +0 -26
  17. package/demos/base-demo/ezuikit_static/v65/v1/js/playctrl/AudioRenderer.js +0 -225
  18. package/demos/base-demo/ezuikit_static/v65/v1/js/playctrl/DecodeWorker.js +0 -618
  19. package/demos/base-demo/ezuikit_static/v65/v1/js/playctrl/Decoder.js +0 -1
  20. package/demos/base-demo/ezuikit_static/v65/v1/js/playctrl/JSPlaySDKInterface.js +0 -2052
  21. package/demos/base-demo/ezuikit_static/v65/v1/js/playctrl/SuperRender_10.js +0 -396
  22. package/demos/base-demo/ezuikit_static/v65/v1/js/playctrl/SuperRender_20.js +0 -1
  23. package/demos/base-demo/ezuikit_static/v65/v1/js/transform/SystemTransform.js +0 -22
  24. package/demos/base-demo/ezuikit_static/v65/v1/js/transform/SystemTransform.js.mem +0 -0
  25. package/demos/base-demo/ezuikit_static/v65/v1/js/transform/systemTransform-worker.min.js +0 -1
  26. package/demos/base-demo/ezuikit_static/v65/v1/js/tts-v4.js +0 -346
  27. package/demos/base-demo/ezuikit_static/v65/v1/rec/datepicker.js +0 -1522
  28. package/demos/base-demo/ezuikit_static/v65/v1/rec/datepicker.min.css +0 -36
  29. package/demos/base-demo/ezuikit_static/v65/v1/rec/datepicker.zh-CN.js +0 -19
  30. package/demos/base-demo/ezuikit_static/v65/v1/rec/jquery.min.js +0 -2
  31. package/demos/base-demo/ezuikit_static/v65/v1/speed/speed.css +0 -145
  32. package/demos/base-demo/ezuikit_static/v65/v1/talk/adapeter.js +0 -5497
  33. package/demos/base-demo/ezuikit_static/v65/v1/talk/janus.js +0 -3507
  34. package/demos/base-demo/ezuikit_static/v65/v1/talk/tts-v4.js +0 -346
  35. package/demos/base-demo/ezuikit_static/v65/v2/css/theme.css +0 -121
  36. package/demos/base-demo/ezuikit_static/v65/v2/js/Decoder.js +0 -9198
  37. package/demos/base-demo/ezuikit_static/v65/v2/js/Decoder.wasm +0 -0
  38. package/demos/base-demo/ezuikit_static/v65/v2/js/jsPluginV2-2.0.1.min.js +0 -4595
  39. package/demos/base-demo/ezuikit_static/v65/v2/rec/datepicker.js +0 -1522
  40. package/demos/base-demo/ezuikit_static/v65/v2/rec/datepicker.min.css +0 -36
  41. package/demos/base-demo/ezuikit_static/v65/v2/rec/datepicker.zh-CN.js +0 -19
  42. package/demos/base-demo/ezuikit_static/v65/v2/rec/jquery.min.js +0 -2
  43. package/demos/base-demo/ezuikit_static/v65/v2/speed/speed.css +0 -145
  44. package/demos/base-demo/ezuikit_static/v65/v2/talk/adapeter.js +0 -5497
  45. package/demos/base-demo/ezuikit_static/v65/v2/talk/janus.js +0 -3507
  46. package/demos/base-demo/ezuikit_static/v65/v2/talk/tts-v4.js +0 -343
  47. package/demos/base-demo/hls.html +0 -24
  48. package/demos/base-demo/index.html +0 -117
  49. package/demos/base-demo/localDecoder.html +0 -118
  50. package/demos/base-demo/mobileLive.html +0 -117
  51. package/demos/base-demo/mobileRec.html +0 -116
  52. package/demos/base-demo/multi.html +0 -129
  53. package/demos/base-demo/pcLive.html +0 -117
  54. package/demos/base-demo/pcRec.html +0 -116
  55. package/demos/base-demo/template.html +0 -124
  56. package/demos/base-demo/themeData.html +0 -232
  57. package/demos/nginx-demo/conf/fastcgi.conf +0 -26
  58. package/demos/nginx-demo/conf/fastcgi_params +0 -25
  59. package/demos/nginx-demo/conf/koi-utf +0 -109
  60. package/demos/nginx-demo/conf/koi-win +0 -103
  61. package/demos/nginx-demo/conf/mime.types +0 -95
  62. package/demos/nginx-demo/conf/nginx.conf +0 -121
  63. package/demos/nginx-demo/conf/scgi_params +0 -17
  64. package/demos/nginx-demo/conf/uwsgi_params +0 -17
  65. package/demos/nginx-demo/conf/win-utf +0 -126
  66. package/demos/nginx-demo/contrib/README +0 -21
  67. package/demos/nginx-demo/contrib/geo2nginx.pl +0 -58
  68. package/demos/nginx-demo/contrib/unicode2nginx/koi-utf +0 -131
  69. package/demos/nginx-demo/contrib/unicode2nginx/unicode-to-nginx.pl +0 -48
  70. package/demos/nginx-demo/contrib/unicode2nginx/win-utf +0 -130
  71. package/demos/nginx-demo/contrib/vim/ftdetect/nginx.vim +0 -4
  72. package/demos/nginx-demo/contrib/vim/ftplugin/nginx.vim +0 -1
  73. package/demos/nginx-demo/contrib/vim/indent/nginx.vim +0 -11
  74. package/demos/nginx-demo/contrib/vim/syntax/nginx.vim +0 -2268
  75. package/demos/nginx-demo/docs/CHANGES +0 -8115
  76. package/demos/nginx-demo/docs/CHANGES.ru +0 -8252
  77. package/demos/nginx-demo/docs/LICENSE +0 -26
  78. package/demos/nginx-demo/docs/OpenSSL.LICENSE +0 -127
  79. package/demos/nginx-demo/docs/PCRE.LICENCE +0 -93
  80. package/demos/nginx-demo/docs/README +0 -3
  81. package/demos/nginx-demo/docs/zlib.LICENSE +0 -20
  82. package/demos/nginx-demo/html/50x.html +0 -21
  83. package/demos/nginx-demo/html/ezuikit5/ezuikit.js +0 -36107
  84. package/demos/nginx-demo/html/ezuikit5/index.html +0 -117
  85. package/demos/nginx-demo/html/ezuikit5/server.js +0 -67
  86. package/demos/nginx-demo/html/index.html +0 -16
  87. package/demos/nginx-demo/html/js/adapeter.js +0 -5497
  88. package/demos/nginx-demo/html/js/janus.js +0 -3507
  89. package/demos/nginx-demo/html/js/jquery.min.js +0 -2
  90. package/demos/nginx-demo/html/js/sts.js +0 -340
  91. package/demos/nginx-demo/logs/access.log +0 -109
  92. package/demos/nginx-demo/logs/error.log +0 -15
  93. package/demos/nginx-demo/logs/nginx.pid +0 -1
  94. package/demos/nginx-demo/nginx.exe +0 -0
  95. package/demos/react-demo/README.md +0 -68
  96. package/demos/react-demo/package.json +0 -36
  97. package/demos/react-demo/public/favicon.ico +0 -0
  98. package/demos/react-demo/public/index.html +0 -43
  99. package/demos/react-demo/public/logo192.png +0 -0
  100. package/demos/react-demo/public/logo512.png +0 -0
  101. package/demos/react-demo/public/manifest.json +0 -25
  102. package/demos/react-demo/public/robots.txt +0 -3
  103. package/demos/react-demo/src/App.css +0 -38
  104. package/demos/react-demo/src/App.js +0 -114
  105. package/demos/react-demo/src/App.test.js +0 -9
  106. package/demos/react-demo/src/index.css +0 -13
  107. package/demos/react-demo/src/index.js +0 -17
  108. package/demos/react-demo/src/logo.svg +0 -7
  109. package/demos/react-demo/src/serviceWorker.js +0 -141
  110. package/demos/react-demo/src/setupTests.js +0 -5
  111. package/demos/vue-demo/README.md +0 -24
  112. package/demos/vue-demo/babel.config.js +0 -5
  113. package/demos/vue-demo/package.json +0 -43
  114. package/demos/vue-demo/public/favicon.ico +0 -0
  115. package/demos/vue-demo/public/index.html +0 -17
  116. package/demos/vue-demo/src/App.vue +0 -27
  117. package/demos/vue-demo/src/assets/logo.png +0 -0
  118. package/demos/vue-demo/src/components/EZUIKitJs.vue +0 -115
  119. package/demos/vue-demo/src/main.js +0 -8
@@ -1,395 +0,0 @@
1
- "use strict";
2
- //顶点着色器
3
- //attribute修饰符用于声明由浏览器(javascript)传输给顶点着色器的变量值;
4
- // vertexPos即我们定义的顶点坐标;
5
- // gl_Position是一个内建的传出变量。
6
- var vertexYUVShader = [
7
- 'attribute vec4 vertexPos;',
8
- 'attribute vec2 texturePos;',
9
- 'varying vec2 textureCoord;',
10
-
11
- 'void main()',
12
- '{',
13
- 'gl_Position = vertexPos;',
14
- 'textureCoord = texturePos;',
15
- '}'
16
- ].join('\n');
17
- //像素着色器(yuv->rgb)
18
- var fragmentYUVShader = [
19
- 'precision highp float;',
20
- 'varying highp vec2 textureCoord;',
21
- 'uniform sampler2D ySampler;',
22
- 'uniform sampler2D uSampler;',
23
- 'uniform sampler2D vSampler;',
24
- 'const mat4 YUV2RGB = mat4',
25
- '(',
26
- '1.1643828125, 0, 1.59602734375, -.87078515625,',
27
- '1.1643828125, -.39176171875, -.81296875, .52959375,',
28
- '1.1643828125, 2.017234375, 0, -1.081390625,',
29
- '0, 0, 0, 1',
30
- ');',
31
-
32
- 'void main(void) {',
33
- 'highp float y = texture2D(ySampler, textureCoord).r;',
34
- 'highp float u = texture2D(uSampler, textureCoord).r;',
35
- 'highp float v = texture2D(vSampler, textureCoord).r;',
36
- 'gl_FragColor = vec4(y, u, v, 1) * YUV2RGB;',
37
- '}'
38
- ].join('\n');
39
-
40
- (function (root, factory) {
41
- root.SuperRender = factory();
42
- }(this, function () {
43
-
44
- function RenderManager(canvas) {
45
-
46
- this.canvasElement = document.getElementById(canvas);
47
-
48
- this.initContextGL();
49
-
50
- if(this.contextGL) {
51
- this.YUVProgram = this.initProgram(vertexYUVShader, fragmentYUVShader);
52
- this.initBuffers();
53
- this.initTextures();
54
- }
55
- };
56
-
57
- /**
58
- * 初始化WebGL上下文
59
- */
60
- RenderManager.prototype.initContextGL = function() {
61
-
62
- var canvas = this.canvasElement;
63
-
64
- var gl = null;
65
-
66
- try {
67
- gl = canvas.getContext("webgl") || canvas.getContext("experimental-webgl");
68
- } catch (e) {
69
- gl = null;
70
- }
71
-
72
- if(!gl || typeof gl.getParameter !== "function") {
73
- gl = null;
74
- }
75
-
76
- this.contextGL = gl;
77
-
78
- console.log("WebGL1.0");
79
- };
80
-
81
- /**
82
- * 初始化着色器程序
83
- * @param vertexShaderScript 顶点着色器脚本
84
- * @param fragmentShaderScript 片段着色器脚本
85
- */
86
- RenderManager.prototype.initProgram = function(vertexShaderScript, fragmentShaderScript) {
87
-
88
- var gl = this.contextGL;
89
-
90
- var vertexShader = gl.createShader(gl.VERTEX_SHADER); //创建定点着色器
91
- gl.shaderSource(vertexShader, vertexShaderScript);
92
- gl.compileShader(vertexShader);
93
- if(!gl.getShaderParameter(vertexShader, gl.COMPILE_STATUS)) {
94
- console.log('Vertex shader failed to compile: ' + gl.getShaderInfoLog(vertexShader));
95
- }
96
-
97
- var fragmentShader = gl.createShader(gl.FRAGMENT_SHADER);
98
- gl.shaderSource(fragmentShader, fragmentShaderScript);
99
- gl.compileShader(fragmentShader);
100
- if(!gl.getShaderParameter(fragmentShader, gl.COMPILE_STATUS)) {
101
- console.log('Fragment shader failed to compile: ' + gl.getShaderInfoLog(fragmentShader));
102
- }
103
-
104
- var program = gl.createProgram();
105
- gl.attachShader(program, vertexShader);
106
- gl.attachShader(program, fragmentShader);
107
- gl.linkProgram(program);
108
- if(!gl.getProgramParameter(program, gl.LINK_STATUS)) {
109
- console.log('Program failed to compile: ' + gl.getProgramInfoLog(program));
110
- }
111
-
112
- gl.deleteShader(vertexShader);
113
- gl.deleteShader(fragmentShader);
114
-
115
- return program;
116
- };
117
-
118
- /**
119
- * 初始化数据缓存
120
- */
121
- RenderManager.prototype.initBuffers = function() {
122
-
123
- var gl = this.contextGL;
124
-
125
- var vertexPosBuffer = gl.createBuffer();
126
- gl.bindBuffer(gl.ARRAY_BUFFER, vertexPosBuffer);
127
- gl.bufferData(gl.ARRAY_BUFFER, new Float32Array([1, 1, -1, 1, 1, -1, -1, -1]), gl.STATIC_DRAW);
128
- gl.bindBuffer(gl.ARRAY_BUFFER, null);
129
-
130
- var texturePosBuffer = gl.createBuffer();
131
- gl.bindBuffer(gl.ARRAY_BUFFER, texturePosBuffer);
132
- gl.bufferData(gl.ARRAY_BUFFER, new Float32Array([1, 0, 0, 0, 1, 1, 0, 1]), gl.DYNAMIC_DRAW);
133
- gl.bindBuffer(gl.ARRAY_BUFFER, null);
134
-
135
- this.vertexPosBuffer = vertexPosBuffer;
136
- this.texturePosBuffer = texturePosBuffer;
137
- };
138
-
139
- /**
140
- * 创建纹理
141
- */
142
- RenderManager.prototype.initTexture = function() {
143
-
144
- var gl = this.contextGL;
145
-
146
- var textureRef = gl.createTexture();
147
- gl.bindTexture(gl.TEXTURE_2D, textureRef);
148
- gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.LINEAR);
149
- gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.LINEAR);
150
- gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE);
151
- gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE);
152
- gl.bindTexture(gl.TEXTURE_2D, null);
153
-
154
- return textureRef;
155
- };
156
-
157
- /**
158
- * 初始化YUV纹理
159
- */
160
- RenderManager.prototype.initTextures = function() {
161
-
162
- var gl = this.contextGL;
163
-
164
- var program = this.YUVProgram;
165
- gl.useProgram(program);
166
-
167
- var yTextureRef = this.initTexture();
168
- var ySamplerRef = gl.getUniformLocation(program, 'ySampler');
169
- gl.uniform1i(ySamplerRef, 0);
170
- this.yTextureRef = yTextureRef;
171
-
172
- var uTextureRef = this.initTexture();
173
- var uSamplerRef = gl.getUniformLocation(program, 'uSampler');
174
- gl.uniform1i(uSamplerRef, 1);
175
- this.uTextureRef = uTextureRef;
176
-
177
- var vTextureRef = this.initTexture();
178
- var vSamplerRef = gl.getUniformLocation(program, 'vSampler');
179
- gl.uniform1i(vSamplerRef, 2);
180
- this.vTextureRef = vTextureRef;
181
-
182
- gl.useProgram(null);
183
- };
184
-
185
- /**
186
- * 显示帧数据
187
- * @param nWidth 宽度
188
- * @param nHeight 高度
189
- * @param nHeight 帧数据
190
- */
191
- RenderManager.prototype.SR_DisplayFrameData = function(nWidth, nHeight, pData,dWidth,dHeight) {
192
-
193
- if(nWidth <= 0 || nHeight <= 0)
194
- {
195
- return;
196
- }
197
-
198
- var gl = this.contextGL;
199
-
200
- if(null == pData)
201
- {
202
- gl.clearColor(0.0, 0.0, 0.0, 0.0);
203
- gl.clear(gl.COLOR_BUFFER_BIT | gl.DEPTH_BUFFER_BIT);
204
- return;
205
- }
206
-
207
- var canvas = this.canvasElement;
208
-
209
- this.nWindowWidth = canvas.width;
210
- this.nWindowHeight = canvas.height;
211
-
212
- var nWindowWidth = this.nWindowWidth;
213
- var nWindowHeight = this.nWindowHeight;
214
-
215
- gl.clearColor(0.8, 0.8, 1.0, 1.0);
216
- gl.clear(gl.COLOR_BUFFER_BIT | gl.DEPTH_BUFFER_BIT);
217
-
218
- gl.viewport(0, 0, nWindowWidth, nWindowHeight);
219
-
220
- this.updateFrameData(nWidth, nHeight, pData,dWidth,dHeight);
221
-
222
- var program = this.YUVProgram;
223
- gl.useProgram(program);
224
-
225
- var vertexPosBuffer = this.vertexPosBuffer;
226
- gl.bindBuffer(gl.ARRAY_BUFFER, vertexPosBuffer);
227
- var vertexPosRef = gl.getAttribLocation(program, 'vertexPos');
228
- gl.enableVertexAttribArray(vertexPosRef);
229
- gl.vertexAttribPointer(vertexPosRef, 2, gl.FLOAT, false, 0, 0);
230
- gl.bindBuffer(gl.ARRAY_BUFFER, null);
231
-
232
- var texturePosBuffer = this.texturePosBuffer;
233
- gl.bindBuffer(gl.ARRAY_BUFFER, texturePosBuffer);
234
- var texturePosRef = gl.getAttribLocation(program, 'texturePos');
235
- gl.enableVertexAttribArray(texturePosRef);
236
- gl.vertexAttribPointer(texturePosRef, 2, gl.FLOAT, false, 0, 0);
237
- gl.bindBuffer(gl.ARRAY_BUFFER, null);
238
-
239
- gl.drawArrays(gl.TRIANGLE_STRIP, 0, 4);
240
-
241
- gl.disableVertexAttribArray(vertexPosRef);
242
- gl.disableVertexAttribArray(texturePosRef);
243
-
244
- gl.useProgram(null);
245
- };
246
-
247
- /**
248
- * 上传YUV数据到纹理
249
- * @param nWidth 宽度
250
- * @param nHeight 高度
251
- * @param nHeight 帧数据
252
- */
253
- RenderManager.prototype.updateFrameData = function(width, height, data,dWidth,dHeight) {
254
-
255
- var gl = this.contextGL;
256
-
257
- var yTextureRef = this.yTextureRef;
258
- var uTextureRef = this.uTextureRef;
259
- var vTextureRef = this.vTextureRef;
260
-
261
- var i420Data = data;
262
- // debugger;
263
- if(width == dWidth && height == dHeight)
264
- {
265
- var yDataLength = width * height;
266
- var yData = i420Data.subarray(0, yDataLength);
267
- gl.activeTexture(gl.TEXTURE0);
268
- gl.bindTexture(gl.TEXTURE_2D, yTextureRef);
269
- gl.texImage2D(gl.TEXTURE_2D, 0, gl.LUMINANCE, width, height, 0, gl.LUMINANCE, gl.UNSIGNED_BYTE, yData);
270
-
271
- var cbDataLength = width/2 * height/2;
272
- var cbData = i420Data.subarray(width*height, width*height + cbDataLength);
273
- gl.activeTexture(gl.TEXTURE1);
274
- gl.bindTexture(gl.TEXTURE_2D, uTextureRef);
275
- gl.texImage2D(gl.TEXTURE_2D, 0, gl.LUMINANCE, width/2, height/2, 0, gl.LUMINANCE, gl.UNSIGNED_BYTE, cbData);
276
-
277
- var crDataLength = cbDataLength;
278
- var crData = i420Data.subarray(width*height + width*height/4, width*height + width*height/4 + crDataLength);
279
- gl.activeTexture(gl.TEXTURE2);
280
- gl.bindTexture(gl.TEXTURE_2D, vTextureRef);
281
- gl.texImage2D(gl.TEXTURE_2D, 0, gl.LUMINANCE, width/2, height/2, 0, gl.LUMINANCE, gl.UNSIGNED_BYTE, crData);
282
-
283
- }
284
- else
285
- {
286
- // //裁剪宽
287
- var yDataLength = dWidth * dHeight;
288
- var yData=new Uint8Array(yDataLength) ;
289
- for(var i=0;i<dHeight;i++)
290
- {
291
- //var ySonData=new Uint8Array(dWidth) ;
292
- var ySonData = i420Data.subarray(i*width, i*width+dWidth);
293
- for (var j = 0; j < dWidth; j++) {
294
- yData[i*dWidth + j] = ySonData[j];
295
- }
296
- }
297
- gl.activeTexture(gl.TEXTURE0);
298
- gl.bindTexture(gl.TEXTURE_2D, yTextureRef);
299
- gl.texImage2D(gl.TEXTURE_2D, 0, gl.LUMINANCE, dWidth, dHeight, 0, gl.LUMINANCE, gl.UNSIGNED_BYTE, yData);
300
- yData=null;
301
- ySonData=null;
302
-
303
- var cbDataLength = dWidth/2 * dHeight/2;
304
- var cbData =new Uint8Array(cbDataLength);
305
- //var cbSonData=new Uint8Array(dWidth/2) ;
306
- for(var i=0;i<dHeight/2;i++)
307
- {
308
- var cbSonData = i420Data.subarray(width*height+i*width/2, width*height+i*width/2+dWidth/2);
309
- for (var j = 0; j < dWidth/2; j++) {
310
- cbData[i*dWidth/2 + j] = cbSonData[j];
311
- }
312
- }
313
- gl.activeTexture(gl.TEXTURE1);
314
- gl.bindTexture(gl.TEXTURE_2D, uTextureRef);
315
- gl.texImage2D(gl.TEXTURE_2D, 0, gl.LUMINANCE, dWidth/2, dHeight/2, 0, gl.LUMINANCE, gl.UNSIGNED_BYTE, cbData);
316
- cbData=null;
317
- cbSonData=null;
318
-
319
- var crDataLength = cbDataLength;
320
- var crData = new Uint8Array(crDataLength);
321
- for(var i=0;i<dHeight/2;i++)
322
- {
323
- var crSonData = i420Data.subarray(width*height*5/4+i*width/2, width*height*5/4+i*width/2+dWidth/2);
324
- for (var j = 0; j < dWidth/2; j++) {
325
- crData[i*dWidth/2 + j] = crSonData[j];
326
- }
327
- }
328
- gl.activeTexture(gl.TEXTURE2);
329
- gl.bindTexture(gl.TEXTURE_2D, vTextureRef);
330
- gl.texImage2D(gl.TEXTURE_2D, 0, gl.LUMINANCE, dWidth/2, dHeight/2, 0, gl.LUMINANCE, gl.UNSIGNED_BYTE, crData);
331
- crData=null;
332
- crSonData=null;
333
- }
334
-
335
- };
336
-
337
- /**
338
- * 设置显示区域
339
- * @param stDisplayRect 显示区域
340
- */
341
- RenderManager.prototype.SR_SetDisplayRect = function(stDisplayRect) {
342
-
343
- var gl = this.contextGL;
344
-
345
- var nWindowWidth = this.nWindowWidth;
346
- var nWindowHeight = this.nWindowHeight;
347
-
348
- var texturePosValues = null;
349
-
350
- if(stDisplayRect && nWindowWidth > 0 && nWindowHeight > 0) {
351
- var fLeft = stDisplayRect.left / nWindowWidth;
352
- var fTop = stDisplayRect.top / nWindowHeight;
353
- var fRight = stDisplayRect.right / nWindowWidth;
354
- var fBottom = stDisplayRect.bottom / nWindowHeight;
355
-
356
- texturePosValues = new Float32Array([fRight, fTop, fLeft, fTop, fRight, fBottom, fLeft, fBottom]);
357
- }
358
- else {
359
- texturePosValues = new Float32Array([1, 0, 0, 0, 1, 1, 0, 1]);
360
- }
361
-
362
- var texturePosBuffer = this.texturePosBuffer;
363
-
364
- gl.bindBuffer(gl.ARRAY_BUFFER, texturePosBuffer);
365
- gl.bufferSubData(gl.ARRAY_BUFFER, 0, texturePosValues);
366
- gl.bindBuffer(gl.ARRAY_BUFFER, null);
367
- };
368
-
369
- /**
370
- * 释放显示资源
371
- */
372
- RenderManager.prototype.SR_Destroy = function() {
373
-
374
- var gl = this.contextGL;
375
-
376
- var YUVProgram = this.YUVProgram;
377
- gl.deleteProgram(YUVProgram);
378
-
379
- var vertexPosBuffer = this.vertexPosBuffer;
380
- var texturePosBuffer = this.texturePosBuffer;
381
-
382
- gl.deleteBuffer(vertexPosBuffer);
383
- gl.deleteBuffer(texturePosBuffer);
384
-
385
- var yTextureRef = this.yTextureRef;
386
- var uTextureRef = this.uTextureRef;
387
- var vTextureRef = this.vTextureRef;
388
- gl.deleteTexture(yTextureRef);
389
- gl.deleteTexture(uTextureRef);
390
- gl.deleteTexture(vTextureRef);
391
- };
392
-
393
- return RenderManager;
394
-
395
- }));