diff options
| -rw-r--r-- | services/core/jni/com_android_server_tv_TvInputHal.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/services/core/jni/com_android_server_tv_TvInputHal.cpp b/services/core/jni/com_android_server_tv_TvInputHal.cpp index 89b2a47d73c6..01acdeffb853 100644 --- a/services/core/jni/com_android_server_tv_TvInputHal.cpp +++ b/services/core/jni/com_android_server_tv_TvInputHal.cpp @@ -414,12 +414,9 @@ int JTvInputHal::removeStream(int deviceId, int streamId) { return NO_ERROR; } if (Surface::isValid(connection.mSurface)) { - connection.mSurface.clear(); - } - if (connection.mSurface != NULL) { connection.mSurface->setSidebandStream(NULL); - connection.mSurface.clear(); } + connection.mSurface.clear(); if (connection.mThread != NULL) { connection.mThread->shutdown(); connection.mThread.clear(); @@ -616,6 +613,9 @@ static int nativeAddOrUpdateStream(JNIEnv* env, jclass clazz, return BAD_VALUE; } sp<Surface> surface(android_view_Surface_getSurface(env, jsurface)); + if (!Surface::isValid(surface)) { + return BAD_VALUE; + } return tvInputHal->addOrUpdateStream(deviceId, streamId, surface); } |