summaryrefslogtreecommitdiffstats
path: root/media/libstagefright/tests
diff options
context:
space:
mode:
authorDaniel Lam <dalam@google.com>2012-04-16 22:47:07 -0700
committerDaniel Lam <dalam@google.com>2012-04-16 22:47:07 -0700
commit9d06df4ecfe39e7e46873f7cd75a71e32a01d4f7 (patch)
treeef69b0f39d2992098afab3e530bdf2a51da83bb6 /media/libstagefright/tests
parenta98db787397633155fd71b06ecaa765a7ad20cf2 (diff)
downloadframeworks_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.cpp9
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());