Rename MediaExtractor symbols to log session id
Test: atest CtsMediaHostTestCases
Bug: 167036690
Change-Id: I2e71d460e6907400daeba21fd6a76fa0ea5e0922
Merged-In: I2e71d460e6907400daeba21fd6a76fa0ea5e0922
diff --git a/media/java/android/media/MediaExtractor.java b/media/java/android/media/MediaExtractor.java
index 283f1f1..5f56a73 100644
--- a/media/java/android/media/MediaExtractor.java
+++ b/media/java/android/media/MediaExtractor.java
@@ -774,7 +774,7 @@
*/
public void setLogSessionId(@NonNull LogSessionId logSessionId) {
mLogSessionId = Objects.requireNonNull(logSessionId);
- // TODO: implement native_setPlaybackId(playbackId);
+ native_setLogSessionId(logSessionId.getStringId());
}
/**
@@ -802,6 +802,7 @@
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 6a622c5a..7c5f58e 100644
--- a/media/jni/android_media_MediaExtractor.cpp
+++ b/media/jni/android_media_MediaExtractor.cpp
@@ -295,6 +295,10 @@
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 @@
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 @@
{"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 f5ba92e..7f48f70 100644
--- a/media/jni/android_media_MediaExtractor.h
+++ b/media/jni/android_media_MediaExtractor.h
@@ -70,6 +70,8 @@
status_t getAudioPresentations(size_t trackIdx,
AudioPresentationCollection *presentations) const;
+ status_t setLogSessionId(const String8& LogSessionId);
+
protected:
virtual ~JMediaExtractor();