summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSantiago Seifert <aquilescanta@google.com>2021-05-01 10:51:09 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2021-05-01 10:51:09 +0000
commit9642d628ab8f944572864408567d97fbf006c79b (patch)
treee6c809d4f73eec077e0239795260e1617c727526
parenta8559261ac53ddbd8158ef1f79586898c21a81a9 (diff)
parent14cdc32bd02b9e973016f3b7f6e21b3fd6d2823b (diff)
Merge "Rename MediaExtractor symbols to log session id" into sc-dev
-rw-r--r--media/java/android/media/MediaExtractor.java3
-rw-r--r--media/jni/android_media_MediaExtractor.cpp24
-rw-r--r--media/jni/android_media_MediaExtractor.h2
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();