diff options
author | Daniel Lam <dalam@google.com> | 2012-04-16 22:47:07 -0700 |
---|---|---|
committer | Daniel Lam <dalam@google.com> | 2012-04-16 22:47:07 -0700 |
commit | 9d06df4ecfe39e7e46873f7cd75a71e32a01d4f7 (patch) | |
tree | ef69b0f39d2992098afab3e530bdf2a51da83bb6 /media/libstagefright/tests | |
parent | a98db787397633155fd71b06ecaa765a7ad20cf2 (diff) | |
download | frameworks_av-9d06df4ecfe39e7e46873f7cd75a71e32a01d4f7.zip frameworks_av-9d06df4ecfe39e7e46873f7cd75a71e32a01d4f7.tar.gz frameworks_av-9d06df4ecfe39e7e46873f7cd75a71e32a01d4f7.tar.bz2 |
Fixed leaks in SurfaceMediaSource_test
mEglSurface was being reused which resulted in
EGLSurfaces being lost.
Change-Id: Ica07cd24b0e4f3d4b2156f55b7de8e83d5466136
Diffstat (limited to 'media/libstagefright/tests')
-rw-r--r-- | media/libstagefright/tests/SurfaceMediaSource_test.cpp | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/media/libstagefright/tests/SurfaceMediaSource_test.cpp b/media/libstagefright/tests/SurfaceMediaSource_test.cpp index 10713fe..466f521 100644 --- a/media/libstagefright/tests/SurfaceMediaSource_test.cpp +++ b/media/libstagefright/tests/SurfaceMediaSource_test.cpp @@ -486,6 +486,10 @@ void SurfaceMediaSourceGLTest::setUpEGLSurfaceFromMediaRecorder(sp<MediaRecorder mSTC = new SurfaceTextureClient(iST); mANW = mSTC; + if (mEglSurface != EGL_NO_SURFACE) { + EXPECT_TRUE(eglDestroySurface(mEglDisplay, mEglSurface)); + mEglSurface = EGL_NO_SURFACE; + } mEglSurface = eglCreateWindowSurface(mEglDisplay, mGlConfig, mANW.get(), NULL); ASSERT_EQ(EGL_SUCCESS, eglGetError()); @@ -783,6 +787,11 @@ TEST_F(SurfaceMediaSourceGLTest, ChooseAndroidRecordableEGLConfigDummyWriter) { DummyRecorder writer(mSMS); writer.start(); + if (mEglSurface != EGL_NO_SURFACE) { + EXPECT_TRUE(eglDestroySurface(mEglDisplay, mEglSurface)); + mEglSurface = EGL_NO_SURFACE; + } + mEglSurface = eglCreateWindowSurface(mEglDisplay, mGlConfig, mANW.get(), NULL); ASSERT_EQ(EGL_SUCCESS, eglGetError()); |