Android MediaExtractor Construction & Destruction,mediaextractor
投稿于 被查看 27040 次 评论:259
Android MediaExtractor Construction & Destruction,mediaextractor
1. Loadlibrary
(1) MediaExtractor
file: MediaExtractor.java
static {
System.loadLibrary("media_jni");
native_init();
}
(2)android_media_MediaExtractor_native_init
file: android_media_MediaExtractor.cpp
2. new
(1)android_media_MediaExtractor_native_setup
file: android_media_MediaExtractor.cpp
static void android_media_MediaExtractor_native_setup(
JNIEnv *env, jobject thiz) {
sp<JMediaExtractor> extractor = new JMediaExtractor(env, thiz);
setMediaExtractor(env,thiz, extractor);
}
(2) setMediaExtractor
static sp<JMediaExtractor> setMediaExtractor(
JNIEnv *env, jobject thiz, const sp<JMediaExtractor> &extractor) {
sp<JMediaExtractor> old =
(JMediaExtractor *)env->GetLongField(thiz, gFields.context);
if (extractor != NULL) {
extractor->incStrong(thiz);
}
if (old != NULL) {
old->decStrong(thiz);
}
env->SetLongField(thiz, gFields.context, (jlong)extractor.get());
return old;
}
3. finalize
(1)native_finalize
(2) android_media_MediaExtractor_release
(3)setMediaExtractor(env, thiz, null)
版权声明:本文为博主原创文章,未经博主允许不得转载。
用户评论