diff options
author | Santiago Seifert <aquilescanta@google.com> | 2021-05-01 10:51:09 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2021-05-01 10:51:09 +0000 |
commit | 9642d628ab8f944572864408567d97fbf006c79b (patch) | |
tree | e6c809d4f73eec077e0239795260e1617c727526 | |
parent | a8559261ac53ddbd8158ef1f79586898c21a81a9 (diff) | |
parent | 14cdc32bd02b9e973016f3b7f6e21b3fd6d2823b (diff) |
Merge "Rename MediaExtractor symbols to log session id" into sc-dev
-rw-r--r-- | media/java/android/media/MediaExtractor.java | 3 | ||||
-rw-r--r-- | media/jni/android_media_MediaExtractor.cpp | 24 | ||||
-rw-r--r-- | media/jni/android_media_MediaExtractor.h | 2 |
3 files changed, 28 insertions, 1 deletions
diff --git a/media/java/android/media/MediaExtractor.java b/media/java/android/media/MediaExtractor.java index 283f1f1d69a2..5f56a73ea388 100644 --- a/media/java/android/media/MediaExtractor.java +++ b/media/java/android/media/MediaExtractor.java @@ -774,7 +774,7 @@ public final class MediaExtractor { */ public void setLogSessionId(@NonNull LogSessionId logSessionId) { mLogSessionId = Objects.requireNonNull(logSessionId); - // TODO: implement native_setPlaybackId(playbackId); + native_setLogSessionId(logSessionId.getStringId()); } /** @@ -802,6 +802,7 @@ public final class MediaExtractor { return bundle; } + private native void native_setLogSessionId(String logSessionId); private native PersistableBundle native_getMetrics(); private static native final void native_init(); diff --git a/media/jni/android_media_MediaExtractor.cpp b/media/jni/android_media_MediaExtractor.cpp index 6a622c5a1566..7c5f58e31108 100644 --- a/media/jni/android_media_MediaExtractor.cpp +++ b/media/jni/android_media_MediaExtractor.cpp @@ -295,6 +295,10 @@ status_t JMediaExtractor::getAudioPresentations(size_t trackIdx, AudioPresentationCollection *presentations) const { return mImpl->getAudioPresentations(trackIdx, presentations); } + +status_t JMediaExtractor::setLogSessionId(const String8 &LogSessionId) { + return mImpl->setLogSessionId(LogSessionId); +} } // namespace android //////////////////////////////////////////////////////////////////////////////// @@ -920,6 +924,23 @@ android_media_MediaExtractor_native_getMetrics(JNIEnv * env, jobject thiz) return mybundle; } +static void +android_media_MediaExtractor_native_setLogSessionId( + JNIEnv * env, jobject thiz, jstring logSessionIdJString) +{ + ALOGV("android_media_MediaExtractor_native_setLogSessionId"); + + sp<JMediaExtractor> extractor = getMediaExtractor(env, thiz); + if (extractor == nullptr) { + jniThrowException(env, "java/lang/IllegalStateException", nullptr); + } + + const char* logSessionId = env->GetStringUTFChars(logSessionIdJString, nullptr); + if (extractor->setLogSessionId(String8(logSessionId)) != OK) { + ALOGE("setLogSessionId failed"); + } + env->ReleaseStringUTFChars(logSessionIdJString, logSessionId); +} static const JNINativeMethod gMethods[] = { { "release", "()V", (void *)android_media_MediaExtractor_release }, @@ -990,6 +1011,9 @@ static const JNINativeMethod gMethods[] = { {"native_getMetrics", "()Landroid/os/PersistableBundle;", (void *)android_media_MediaExtractor_native_getMetrics}, + { "native_setLogSessionId", "(Ljava/lang/String;)V", + (void *)android_media_MediaExtractor_native_setLogSessionId}, + { "native_getAudioPresentations", "(I)Ljava/util/List;", (void *)android_media_MediaExtractor_getAudioPresentations }, }; diff --git a/media/jni/android_media_MediaExtractor.h b/media/jni/android_media_MediaExtractor.h index f5ba92e38455..7f48f70734bd 100644 --- a/media/jni/android_media_MediaExtractor.h +++ b/media/jni/android_media_MediaExtractor.h @@ -70,6 +70,8 @@ struct JMediaExtractor : public RefBase { status_t getAudioPresentations(size_t trackIdx, AudioPresentationCollection *presentations) const; + status_t setLogSessionId(const String8& LogSessionId); + protected: virtual ~JMediaExtractor(); |