summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Gloria Wang <gwang@google.com> 2011-09-15 15:28:43 -0700
committer Gloria Wang <gwang@google.com> 2011-09-15 15:38:36 -0700
commit81b37d8bde34ef3bb8eb8dfd7492761a39a8fd09 (patch)
treedbab2126f8f4d8e26a596c25f2138d803f9c5ac7
parentc286b2cc26d57efa5fef42c085bb2eb330021114 (diff)
If media player has died already, do not dec the old surface texture reference.
Otherwise segfault will occur. For bug 5327664. Do not merge. Change-Id: I03ea7bc047aa99a106f1e010dac74f75a833ef84
-rw-r--r--media/jni/android_media_MediaPlayer.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/media/jni/android_media_MediaPlayer.cpp b/media/jni/android_media_MediaPlayer.cpp
index f16a029a36cf..c270f21a7b25 100644
--- a/media/jni/android_media_MediaPlayer.cpp
+++ b/media/jni/android_media_MediaPlayer.cpp
@@ -247,6 +247,11 @@ getVideoSurfaceTexture(JNIEnv* env, jobject thiz) {
static void
decVideoSurfaceRef(JNIEnv *env, jobject thiz)
{
+ sp<MediaPlayer> mp = getMediaPlayer(env, thiz);
+ if (mp == NULL) {
+ return;
+ }
+
sp<ISurfaceTexture> old_st = getVideoSurfaceTexture(env, thiz);
if (old_st != NULL) {
old_st->decStrong(thiz);