diff options
| author | 2019-02-05 18:54:27 -0800 | |
|---|---|---|
| committer | 2019-02-06 18:00:04 -0800 | |
| commit | e7473877d5bde3da9e8d8bbb4e838b68cd5e019b (patch) | |
| tree | e3a3e89136459552c808ed61f1253e9024d6d408 | |
| parent | dd6125c0d2bac15181eb770f77ce33edbfa47857 (diff) | |
media: retain codec name for MediaCodec.getCodecInfo
Bug: 123962331
Change-Id: I4d349d673fcb62888681c96e7df325fa9e4b3b37
| -rw-r--r-- | media/jni/android_media_MediaCodec.cpp | 7 | ||||
| -rw-r--r-- | media/jni/android_media_MediaCodec.h | 1 |
2 files changed, 6 insertions, 2 deletions
diff --git a/media/jni/android_media_MediaCodec.cpp b/media/jni/android_media_MediaCodec.cpp index 406f9dd94bb4..f07f1e8fb62b 100644 --- a/media/jni/android_media_MediaCodec.cpp +++ b/media/jni/android_media_MediaCodec.cpp @@ -153,8 +153,12 @@ JMediaCodec::JMediaCodec( if (nameIsType) { mCodec = MediaCodec::CreateByType(mLooper, name, encoder, &mInitStatus); + if (mCodec == nullptr || mCodec->getName(&mNameAtCreation) != OK) { + mNameAtCreation = "(null)"; + } } else { mCodec = MediaCodec::CreateByComponentName(mLooper, name, &mInitStatus); + mNameAtCreation = name; } CHECK((mCodec != NULL) != (mInitStatus != OK)); } @@ -699,9 +703,8 @@ status_t JMediaCodec::getCodecInfo(JNIEnv *env, jobject *codecInfoObject) const return err; } - // TODO: get alias ScopedLocalRef<jstring> nameObject(env, - env->NewStringUTF(codecInfo->getCodecName())); + env->NewStringUTF(mNameAtCreation.c_str())); ScopedLocalRef<jstring> canonicalNameObject(env, env->NewStringUTF(codecInfo->getCodecName())); diff --git a/media/jni/android_media_MediaCodec.h b/media/jni/android_media_MediaCodec.h index 0a53f1a0e268..de08550fa3db 100644 --- a/media/jni/android_media_MediaCodec.h +++ b/media/jni/android_media_MediaCodec.h @@ -155,6 +155,7 @@ private: sp<ALooper> mLooper; sp<MediaCodec> mCodec; + AString mNameAtCreation; sp<AMessage> mCallbackNotification; sp<AMessage> mOnFrameRenderedNotification; |