Loading drm/java/android/drm/DrmManagerClient.java +1 −1 Original line number Original line Diff line number Diff line Loading @@ -116,7 +116,7 @@ public class DrmManagerClient { private static final int ACTION_PROCESS_DRM_INFO = 1002; private static final int ACTION_PROCESS_DRM_INFO = 1002; private int mUniqueId; private int mUniqueId; private int mNativeContext; private long mNativeContext; private volatile boolean mReleased; private volatile boolean mReleased; private Context mContext; private Context mContext; private InfoHandler mInfoHandler; private InfoHandler mInfoHandler; Loading drm/jni/android_drm_DrmManagerClient.cpp +17 −14 Original line number Original line Diff line number Diff line Loading @@ -182,25 +182,27 @@ static sp<DrmManagerClientImpl> setDrmManagerClientImpl( JNIEnv* env, jobject thiz, const sp<DrmManagerClientImpl>& client) { JNIEnv* env, jobject thiz, const sp<DrmManagerClientImpl>& client) { Mutex::Autolock l(sLock); Mutex::Autolock l(sLock); jclass clazz = env->FindClass("android/drm/DrmManagerClient"); jclass clazz = env->FindClass("android/drm/DrmManagerClient"); jfieldID fieldId = env->GetFieldID(clazz, "mNativeContext", "I"); jfieldID fieldId = env->GetFieldID(clazz, "mNativeContext", "J"); sp<DrmManagerClientImpl> old = (DrmManagerClientImpl*)env->GetIntField(thiz, fieldId); jlong oldHandle = env->GetLongField(thiz, fieldId); sp<DrmManagerClientImpl> old = reinterpret_cast<DrmManagerClientImpl*>(oldHandle); if (client.get()) { if (client.get()) { client->incStrong(thiz); client->incStrong(thiz); } } if (old != 0) { if (old != 0) { old->decStrong(thiz); old->decStrong(thiz); } } env->SetIntField(thiz, fieldId, (int)client.get()); env->SetLongField(thiz, fieldId, reinterpret_cast<jlong>(client.get())); return old; return old; } } static sp<DrmManagerClientImpl> getDrmManagerClientImpl(JNIEnv* env, jobject thiz) { static sp<DrmManagerClientImpl> getDrmManagerClientImpl(JNIEnv* env, jobject thiz) { Mutex::Autolock l(sLock); Mutex::Autolock l(sLock); jclass clazz = env->FindClass("android/drm/DrmManagerClient"); jclass clazz = env->FindClass("android/drm/DrmManagerClient"); jfieldID fieldId = env->GetFieldID(clazz, "mNativeContext", "I"); jfieldID fieldId = env->GetFieldID(clazz, "mNativeContext", "J"); DrmManagerClientImpl* const client = (DrmManagerClientImpl*)env->GetIntField(thiz, fieldId); jlong clientHandle = env->GetLongField(thiz, fieldId); DrmManagerClientImpl* const client = reinterpret_cast<DrmManagerClientImpl*>(clientHandle); return sp<DrmManagerClientImpl>(client); return sp<DrmManagerClientImpl>(client); } } Loading @@ -214,7 +216,7 @@ static jint android_drm_DrmManagerClient_initialize( setDrmManagerClientImpl(env, thiz, drmManager); setDrmManagerClientImpl(env, thiz, drmManager); ALOGV("initialize - Exit"); ALOGV("initialize - Exit"); return uniqueId; return static_cast<jint>(uniqueId); } } static void android_drm_DrmManagerClient_setListeners( static void android_drm_DrmManagerClient_setListeners( Loading Loading @@ -406,7 +408,7 @@ static jint android_drm_DrmManagerClient_saveRights( delete[] mData; mData = NULL; delete[] mData; mData = NULL; ALOGV("saveRights - Exit"); ALOGV("saveRights - Exit"); return result; return static_cast<jint>(result); } } static jboolean android_drm_DrmManagerClient_canHandle( static jboolean android_drm_DrmManagerClient_canHandle( Loading Loading @@ -583,7 +585,7 @@ static jint android_drm_DrmManagerClient_getDrmObjectType( ->getDrmObjectType(uniqueId, Utility::getStringValue(env, path), ->getDrmObjectType(uniqueId, Utility::getStringValue(env, path), Utility::getStringValue(env, mimeType)); Utility::getStringValue(env, mimeType)); ALOGV("getDrmObjectType Exit"); ALOGV("getDrmObjectType Exit"); return drmObjectType; return static_cast<jint>(drmObjectType); } } static jstring android_drm_DrmManagerClient_getOriginalMimeType( static jstring android_drm_DrmManagerClient_getOriginalMimeType( Loading @@ -609,20 +611,21 @@ static jint android_drm_DrmManagerClient_checkRightsStatus( = getDrmManagerClientImpl(env, thiz) = getDrmManagerClientImpl(env, thiz) ->checkRightsStatus(uniqueId, Utility::getStringValue(env, path), action); ->checkRightsStatus(uniqueId, Utility::getStringValue(env, path), action); ALOGV("checkRightsStatus Exit"); ALOGV("checkRightsStatus Exit"); return rightsStatus; return static_cast<jint>(rightsStatus); } } static jint android_drm_DrmManagerClient_removeRights( static jint android_drm_DrmManagerClient_removeRights( JNIEnv* env, jobject thiz, jint uniqueId, jstring path) { JNIEnv* env, jobject thiz, jint uniqueId, jstring path) { ALOGV("removeRights"); ALOGV("removeRights"); return getDrmManagerClientImpl(env, thiz) return static_cast<jint>(getDrmManagerClientImpl(env, thiz) ->removeRights(uniqueId, Utility::getStringValue(env, path)); ->removeRights(uniqueId, Utility::getStringValue(env, path))); } } static jint android_drm_DrmManagerClient_removeAllRights( static jint android_drm_DrmManagerClient_removeAllRights( JNIEnv* env, jobject thiz, jint uniqueId) { JNIEnv* env, jobject thiz, jint uniqueId) { ALOGV("removeAllRights"); ALOGV("removeAllRights"); return getDrmManagerClientImpl(env, thiz)->removeAllRights(uniqueId); return static_cast<jint>(getDrmManagerClientImpl(env, thiz) ->removeAllRights(uniqueId)); } } static jint android_drm_DrmManagerClient_openConvertSession( static jint android_drm_DrmManagerClient_openConvertSession( Loading @@ -632,7 +635,7 @@ static jint android_drm_DrmManagerClient_openConvertSession( = getDrmManagerClientImpl(env, thiz) = getDrmManagerClientImpl(env, thiz) ->openConvertSession(uniqueId, Utility::getStringValue(env, mimeType)); ->openConvertSession(uniqueId, Utility::getStringValue(env, mimeType)); ALOGV("openConvertSession Exit"); ALOGV("openConvertSession Exit"); return convertId; return static_cast<jint>(convertId); } } static jobject GetConvertedStatus(JNIEnv* env, DrmConvertedStatus* pDrmConvertedStatus) { static jobject GetConvertedStatus(JNIEnv* env, DrmConvertedStatus* pDrmConvertedStatus) { Loading Loading @@ -686,7 +689,7 @@ static jobject android_drm_DrmManagerClient_convertData( } } static jobject android_drm_DrmManagerClient_closeConvertSession( static jobject android_drm_DrmManagerClient_closeConvertSession( JNIEnv* env, jobject thiz, int uniqueId, jint convertId) { JNIEnv* env, jobject thiz, jint uniqueId, jint convertId) { ALOGV("closeConvertSession Enter"); ALOGV("closeConvertSession Enter"); Loading Loading
drm/java/android/drm/DrmManagerClient.java +1 −1 Original line number Original line Diff line number Diff line Loading @@ -116,7 +116,7 @@ public class DrmManagerClient { private static final int ACTION_PROCESS_DRM_INFO = 1002; private static final int ACTION_PROCESS_DRM_INFO = 1002; private int mUniqueId; private int mUniqueId; private int mNativeContext; private long mNativeContext; private volatile boolean mReleased; private volatile boolean mReleased; private Context mContext; private Context mContext; private InfoHandler mInfoHandler; private InfoHandler mInfoHandler; Loading
drm/jni/android_drm_DrmManagerClient.cpp +17 −14 Original line number Original line Diff line number Diff line Loading @@ -182,25 +182,27 @@ static sp<DrmManagerClientImpl> setDrmManagerClientImpl( JNIEnv* env, jobject thiz, const sp<DrmManagerClientImpl>& client) { JNIEnv* env, jobject thiz, const sp<DrmManagerClientImpl>& client) { Mutex::Autolock l(sLock); Mutex::Autolock l(sLock); jclass clazz = env->FindClass("android/drm/DrmManagerClient"); jclass clazz = env->FindClass("android/drm/DrmManagerClient"); jfieldID fieldId = env->GetFieldID(clazz, "mNativeContext", "I"); jfieldID fieldId = env->GetFieldID(clazz, "mNativeContext", "J"); sp<DrmManagerClientImpl> old = (DrmManagerClientImpl*)env->GetIntField(thiz, fieldId); jlong oldHandle = env->GetLongField(thiz, fieldId); sp<DrmManagerClientImpl> old = reinterpret_cast<DrmManagerClientImpl*>(oldHandle); if (client.get()) { if (client.get()) { client->incStrong(thiz); client->incStrong(thiz); } } if (old != 0) { if (old != 0) { old->decStrong(thiz); old->decStrong(thiz); } } env->SetIntField(thiz, fieldId, (int)client.get()); env->SetLongField(thiz, fieldId, reinterpret_cast<jlong>(client.get())); return old; return old; } } static sp<DrmManagerClientImpl> getDrmManagerClientImpl(JNIEnv* env, jobject thiz) { static sp<DrmManagerClientImpl> getDrmManagerClientImpl(JNIEnv* env, jobject thiz) { Mutex::Autolock l(sLock); Mutex::Autolock l(sLock); jclass clazz = env->FindClass("android/drm/DrmManagerClient"); jclass clazz = env->FindClass("android/drm/DrmManagerClient"); jfieldID fieldId = env->GetFieldID(clazz, "mNativeContext", "I"); jfieldID fieldId = env->GetFieldID(clazz, "mNativeContext", "J"); DrmManagerClientImpl* const client = (DrmManagerClientImpl*)env->GetIntField(thiz, fieldId); jlong clientHandle = env->GetLongField(thiz, fieldId); DrmManagerClientImpl* const client = reinterpret_cast<DrmManagerClientImpl*>(clientHandle); return sp<DrmManagerClientImpl>(client); return sp<DrmManagerClientImpl>(client); } } Loading @@ -214,7 +216,7 @@ static jint android_drm_DrmManagerClient_initialize( setDrmManagerClientImpl(env, thiz, drmManager); setDrmManagerClientImpl(env, thiz, drmManager); ALOGV("initialize - Exit"); ALOGV("initialize - Exit"); return uniqueId; return static_cast<jint>(uniqueId); } } static void android_drm_DrmManagerClient_setListeners( static void android_drm_DrmManagerClient_setListeners( Loading Loading @@ -406,7 +408,7 @@ static jint android_drm_DrmManagerClient_saveRights( delete[] mData; mData = NULL; delete[] mData; mData = NULL; ALOGV("saveRights - Exit"); ALOGV("saveRights - Exit"); return result; return static_cast<jint>(result); } } static jboolean android_drm_DrmManagerClient_canHandle( static jboolean android_drm_DrmManagerClient_canHandle( Loading Loading @@ -583,7 +585,7 @@ static jint android_drm_DrmManagerClient_getDrmObjectType( ->getDrmObjectType(uniqueId, Utility::getStringValue(env, path), ->getDrmObjectType(uniqueId, Utility::getStringValue(env, path), Utility::getStringValue(env, mimeType)); Utility::getStringValue(env, mimeType)); ALOGV("getDrmObjectType Exit"); ALOGV("getDrmObjectType Exit"); return drmObjectType; return static_cast<jint>(drmObjectType); } } static jstring android_drm_DrmManagerClient_getOriginalMimeType( static jstring android_drm_DrmManagerClient_getOriginalMimeType( Loading @@ -609,20 +611,21 @@ static jint android_drm_DrmManagerClient_checkRightsStatus( = getDrmManagerClientImpl(env, thiz) = getDrmManagerClientImpl(env, thiz) ->checkRightsStatus(uniqueId, Utility::getStringValue(env, path), action); ->checkRightsStatus(uniqueId, Utility::getStringValue(env, path), action); ALOGV("checkRightsStatus Exit"); ALOGV("checkRightsStatus Exit"); return rightsStatus; return static_cast<jint>(rightsStatus); } } static jint android_drm_DrmManagerClient_removeRights( static jint android_drm_DrmManagerClient_removeRights( JNIEnv* env, jobject thiz, jint uniqueId, jstring path) { JNIEnv* env, jobject thiz, jint uniqueId, jstring path) { ALOGV("removeRights"); ALOGV("removeRights"); return getDrmManagerClientImpl(env, thiz) return static_cast<jint>(getDrmManagerClientImpl(env, thiz) ->removeRights(uniqueId, Utility::getStringValue(env, path)); ->removeRights(uniqueId, Utility::getStringValue(env, path))); } } static jint android_drm_DrmManagerClient_removeAllRights( static jint android_drm_DrmManagerClient_removeAllRights( JNIEnv* env, jobject thiz, jint uniqueId) { JNIEnv* env, jobject thiz, jint uniqueId) { ALOGV("removeAllRights"); ALOGV("removeAllRights"); return getDrmManagerClientImpl(env, thiz)->removeAllRights(uniqueId); return static_cast<jint>(getDrmManagerClientImpl(env, thiz) ->removeAllRights(uniqueId)); } } static jint android_drm_DrmManagerClient_openConvertSession( static jint android_drm_DrmManagerClient_openConvertSession( Loading @@ -632,7 +635,7 @@ static jint android_drm_DrmManagerClient_openConvertSession( = getDrmManagerClientImpl(env, thiz) = getDrmManagerClientImpl(env, thiz) ->openConvertSession(uniqueId, Utility::getStringValue(env, mimeType)); ->openConvertSession(uniqueId, Utility::getStringValue(env, mimeType)); ALOGV("openConvertSession Exit"); ALOGV("openConvertSession Exit"); return convertId; return static_cast<jint>(convertId); } } static jobject GetConvertedStatus(JNIEnv* env, DrmConvertedStatus* pDrmConvertedStatus) { static jobject GetConvertedStatus(JNIEnv* env, DrmConvertedStatus* pDrmConvertedStatus) { Loading Loading @@ -686,7 +689,7 @@ static jobject android_drm_DrmManagerClient_convertData( } } static jobject android_drm_DrmManagerClient_closeConvertSession( static jobject android_drm_DrmManagerClient_closeConvertSession( JNIEnv* env, jobject thiz, int uniqueId, jint convertId) { JNIEnv* env, jobject thiz, jint uniqueId, jint convertId) { ALOGV("closeConvertSession Enter"); ALOGV("closeConvertSession Enter"); Loading