I also tried to create a new surface from SurfaceComposerClient. Then feed the eglCreateWindowSurface with this surface just like the Bootup animation did. However, it will runtime crash because of lacking the permission of ACCESS_SURFACE_FLINGER. Seems this permission will not be granted to third-party application. So how can I setup the EGL environment without a native window? <_>
On Nov 28, 6:47 pm, xiaolu <[email protected]> wrote: > Hi, Guys: > > I have a question about the eglCreateWindowSurface usage. I want to > setup a EGL environment onto the movie view, set by the calling > MediaPlayer::setVideoSurface(xxx) from Java. Then use OpenGL to do the > video output work. > > I have refer to some demo code about the setup steps as below: > > 582 /////////////////////////////////// > 583 EGLint configAttribs[] = { > 584 EGL_SURFACE_TYPE, EGL_WINDOW_BIT, > 585 EGL_NONE > 586 }; > 587 > 588 EGLint majorVersion; > 589 EGLint minorVersion; > 590 EGLContext context; > 591 EGLConfig config; > 592 EGLint numConfigs=0; > 593 EGLSurface surface; > 594 EGLint w, h; > 595 EGLDisplay dpy; > 596 > 597 dpy = eglGetDisplay(EGL_DEFAULT_DISPLAY); > 598 eglInitialize(dpy, 0 ,0) ;//&majorVersion, &minorVersion); > 599 eglChooseConfig(dpy, configAttribs, &config, 1, &numConfigs); > 600 > 601 ANativeWindow* pW = (ANativeWindow*)(m_pSurfaceHolder->m_pSurface); > > 602 surface = eglCreateWindowSurface(dpy, config, > (EGLNativeWindowType)(pW), NULL); > 603 if (surface != EGL_NO_SURFACE) > 604 { > 605 LOGI("EGL Surface create successfully"); > 611 } > 612 LOGI("EGL surface %x", surface); > 613 /////////////////////////////////// > > However, I always got a result EGL_NO_SURFACE, and a error log like > this: > E/Surface ( 1393): invalid token (identity=0) > I guess it is because the video surface passed from UI is not proper > to setup EGL environment. So my question is: > What kind of window does eglCreateWindowSurface expect? Should it be > the same with the movie view set from UI, or should I create a new > surface? > > Thank you for your reply. -- You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/android-developers?hl=en

