@@ -620,17 +620,8 @@ static jint android_drm_DrmManagerClient_openConvertSession(
620620 return convertId;
621621}
622622
623- static jobject android_drm_DrmManagerClient_convertData (
624- JNIEnv* env, jobject thiz, jint uniqueId, jint convertId, jbyteArray inputData) {
625- ALOGV (" convertData Enter" );
626-
627- int dataLength = 0 ;
628- char * mData = Utility::getByteArrayValue (env, inputData, &dataLength);
629- const DrmBuffer buffer (mData , dataLength);
630-
631- DrmConvertedStatus* pDrmConvertedStatus
632- = getDrmManagerClientImpl (env, thiz)->convertData (uniqueId, convertId, &buffer);
633-
623+ static jobject GetConvertedStatus (JNIEnv* env, DrmConvertedStatus* pDrmConvertedStatus) {
624+ ALOGV (" GetConvertedStatus - Enter" );
634625 jclass localRef = env->FindClass (" android/drm/DrmConvertedStatus" );
635626
636627 jobject drmConvertedStatus = NULL ;
@@ -642,8 +633,8 @@ static jobject android_drm_DrmManagerClient_convertData(
642633 if (NULL != pDrmConvertedStatus->convertedData ) {
643634 int length = pDrmConvertedStatus->convertedData ->length ;
644635 dataArray = env->NewByteArray (length);
645- env->SetByteArrayRegion (dataArray, 0 , length,
646- (jbyte*) pDrmConvertedStatus->convertedData ->data );
636+ env->SetByteArrayRegion (
637+ dataArray, 0 , length, (jbyte*) pDrmConvertedStatus->convertedData ->data );
647638
648639 delete [] pDrmConvertedStatus->convertedData ->data ;
649640 delete pDrmConvertedStatus->convertedData ; pDrmConvertedStatus->convertedData = NULL ;
@@ -654,48 +645,42 @@ static jobject android_drm_DrmManagerClient_convertData(
654645 statusCode, dataArray, pDrmConvertedStatus->offset );
655646 }
656647
657- delete[] mData ; mData = NULL ;
658648 delete pDrmConvertedStatus; pDrmConvertedStatus = NULL ;
659649
660- ALOGV (" convertData - Exit" );
650+ ALOGV (" GetConvertedStatus - Exit" );
661651 return drmConvertedStatus;
662652}
663653
664- static jobject android_drm_DrmManagerClient_closeConvertSession (
665- JNIEnv* env, jobject thiz, int uniqueId, jint convertId) {
654+ static jobject android_drm_DrmManagerClient_convertData (
655+ JNIEnv* env, jobject thiz, jint uniqueId, jint convertId, jbyteArray inputData) {
656+ ALOGV (" convertData Enter" );
666657
667- ALOGV (" closeConvertSession Enter" );
658+ int dataLength = 0 ;
659+ char * mData = Utility::getByteArrayValue (env, inputData, &dataLength);
660+ const DrmBuffer buffer (mData , dataLength);
668661
669662 DrmConvertedStatus* pDrmConvertedStatus
670- = getDrmManagerClientImpl (env, thiz)->closeConvertSession (uniqueId, convertId);
671-
672- jclass localRef = env->FindClass (" android/drm/DrmConvertedStatus" );
663+ = getDrmManagerClientImpl (env, thiz)->convertData (uniqueId, convertId, &buffer);
664+ jobject status = GetConvertedStatus (env, pDrmConvertedStatus);
673665
674- jobject drmConvertedStatus = NULL ;
666+ delete[] mData ;
667+ mData = NULL ;
675668
676- if (NULL != localRef && NULL != pDrmConvertedStatus) {
677- int statusCode = pDrmConvertedStatus->statusCode ;
669+ ALOGV (" convertData - Exit" );
670+ return status;
671+ }
678672
679- jbyteArray dataArray = NULL ;
680- if (NULL != pDrmConvertedStatus->convertedData ) {
681- int length = pDrmConvertedStatus->convertedData ->length ;
682- dataArray = env->NewByteArray (length);
683- env->SetByteArrayRegion (
684- dataArray, 0 , length, (jbyte*) pDrmConvertedStatus->convertedData ->data );
673+ static jobject android_drm_DrmManagerClient_closeConvertSession (
674+ JNIEnv* env, jobject thiz, int uniqueId, jint convertId) {
685675
686- delete [] pDrmConvertedStatus->convertedData ->data ;
687- delete pDrmConvertedStatus->convertedData ; pDrmConvertedStatus->convertedData = NULL ;
688- }
689- jmethodID constructorId = env->GetMethodID (localRef, " <init>" , " (I[BI)V" );
690- drmConvertedStatus
691- = env->NewObject (localRef, constructorId,
692- statusCode, dataArray, pDrmConvertedStatus->offset );
693- }
676+ ALOGV (" closeConvertSession Enter" );
694677
695- delete pDrmConvertedStatus; pDrmConvertedStatus = NULL ;
678+ DrmConvertedStatus* pDrmConvertedStatus
679+ = getDrmManagerClientImpl (env, thiz)->closeConvertSession (uniqueId, convertId);
680+ jobject status = GetConvertedStatus (env, pDrmConvertedStatus);
696681
697682 ALOGV (" closeConvertSession - Exit" );
698- return drmConvertedStatus ;
683+ return status ;
699684}
700685
701686static JNINativeMethod nativeMethods[] = {
0 commit comments