Lines Matching refs:mObj

42     AMediaDrm *mObj;
46 DrmListener(AMediaDrm *obj, AMediaDrmEventListener listener) : mObj(obj), mListener(listener) {}
105 (*mListener)(mObj, &sessionId, ndkEventType, extra, data, dataSize);
199 AMediaDrm *mObj = new AMediaDrm();
200 mObj->mDrm = CreateDrmFromUUID(uuid);
201 return mObj;
205 void AMediaDrm_release(AMediaDrm *mObj) {
206 if (mObj->mDrm != NULL) {
207 mObj->mDrm->setListener(NULL);
208 mObj->mDrm->destroyPlugin();
209 mObj->mDrm.clear();
211 delete mObj;
215 media_status_t AMediaDrm_setOnEventListener(AMediaDrm *mObj, AMediaDrmEventListener listener) {
216 if (!mObj || mObj->mDrm == NULL) {
219 mObj->mListener = new DrmListener(mObj, listener);
220 mObj->mDrm->setListener(mObj->mListener);
225 static bool findId(AMediaDrm *mObj, const AMediaDrmByteArray &id, List<idvec_t>::iterator &iter) {
226 for (iter = mObj->mIds.begin(); iter != mObj->mIds.end(); ++iter) {
235 media_status_t AMediaDrm_openSession(AMediaDrm *mObj, AMediaDrmSessionId *sessionId) {
236 if (!mObj || mObj->mDrm == NULL) {
243 status_t status = mObj->mDrm->openSession(DrmPlugin::kSecurityLevelMax, session);
245 mObj->mIds.push_front(session);
246 List<idvec_t>::iterator iter = mObj->mIds.begin();
254 media_status_t AMediaDrm_closeSession(AMediaDrm *mObj, const AMediaDrmSessionId *sessionId) {
255 if (!mObj || mObj->mDrm == NULL) {
263 if (!findId(mObj, *sessionId, iter)) {
266 mObj->mDrm->closeSession(*iter);
267 mObj->mIds.erase(iter);
272 media_status_t AMediaDrm_getKeyRequest(AMediaDrm *mObj, const AMediaDrmScope *scope,
277 if (!mObj || mObj->mDrm == NULL) {
285 if (!findId(mObj, *scope, iter)) {
312 status_t status = mObj->mDrm->getKeyRequest(*iter, mdInit, String8(mimeType),
313 mdKeyType, mdOptionalParameters, mObj->mKeyRequest, defaultUrl,
318 *keyRequest = mObj->mKeyRequest.array();
319 *keyRequestSize = mObj->mKeyRequest.size();
325 media_status_t AMediaDrm_provideKeyResponse(AMediaDrm *mObj, const AMediaDrmScope *scope,
328 if (!mObj || mObj->mDrm == NULL) {
336 if (!findId(mObj, *scope, iter)) {
343 status_t status = mObj->mDrm->provideKeyResponse(*iter, mdResponse, mdKeySetId);
345 mObj->mIds.push_front(mdKeySetId);
346 List<idvec_t>::iterator iter = mObj->mIds.begin();
357 media_status_t AMediaDrm_restoreKeys(AMediaDrm *mObj, const AMediaDrmSessionId *sessionId,
360 if (!mObj || mObj->mDrm == NULL) {
367 if (!findId(mObj, *sessionId, iter)) {
372 return translateStatus(mObj->mDrm->restoreKeys(*iter, keySet));
376 media_status_t AMediaDrm_removeKeys(AMediaDrm *mObj, const AMediaDrmSessionId *keySetId) {
377 if (!mObj || mObj->mDrm == NULL) {
385 if (!findId(mObj, *keySetId, iter)) {
388 status = mObj->mDrm->removeKeys(keySet);
390 status = mObj->mDrm->removeKeys(*iter);
391 mObj->mIds.erase(iter);
397 media_status_t AMediaDrm_queryKeyStatus(AMediaDrm *mObj, const AMediaDrmSessionId *sessionId,
400 if (!mObj || mObj->mDrm == NULL) {
407 if (!findId(mObj, *sessionId, iter)) {
411 status_t status = mObj->mDrm->queryKeyStatus(*iter, mObj->mQueryResults);
417 if (mObj->mQueryResults.size() > *numPairs) {
418 *numPairs = mObj->mQueryResults.size();
422 for (size_t i = 0; i < mObj->mQueryResults.size(); i++) {
423 keyValuePairs[i].mKey = mObj->mQueryResults.keyAt(i).string();
424 keyValuePairs[i].mValue = mObj->mQueryResults.valueAt(i).string();
426 *numPairs = mObj->mQueryResults.size();
431 media_status_t AMediaDrm_getProvisionRequest(AMediaDrm *mObj, const uint8_t **provisionRequest,
433 if (!mObj || mObj->mDrm == NULL) {
440 status_t status = mObj->mDrm->getProvisionRequest(String8(""), String8(""),
441 mObj->mProvisionRequest, mObj->mProvisionUrl);
445 *provisionRequest = mObj->mProvisionRequest.array();
446 *provisionRequestSize = mObj->mProvisionRequest.size();
447 *serverUrl = mObj->mProvisionUrl.string();
453 media_status_t AMediaDrm_provideProvisionResponse(AMediaDrm *mObj,
455 if (!mObj || mObj->mDrm == NULL) {
466 return translateStatus(mObj->mDrm->provideProvisionResponse(mdResponse, unused, unused));
470 media_status_t AMediaDrm_getSecureStops(AMediaDrm *mObj,
473 if (!mObj || mObj->mDrm == NULL) {
479 status_t status = mObj->mDrm->getSecureStops(mObj->mSecureStops);
484 if (*numSecureStops < mObj->mSecureStops.size()) {
487 List<Vector<uint8_t> >::iterator iter = mObj->mSecureStops.begin();
489 while (iter != mObj->mSecureStops.end()) {
495 *numSecureStops = mObj->mSecureStops.size();
500 media_status_t AMediaDrm_releaseSecureStops(AMediaDrm *mObj,
503 if (!mObj || mObj->mDrm == NULL) {
512 return translateStatus(mObj->mDrm->releaseSecureStops(release));
517 media_status_t AMediaDrm_getPropertyString(AMediaDrm *mObj, const char *propertyName,
520 if (!mObj || mObj->mDrm == NULL) {
527 status_t status = mObj->mDrm->getPropertyString(String8(propertyName),
528 mObj->mPropertyString);
531 *propertyValue = mObj->mPropertyString.string();
539 media_status_t AMediaDrm_getPropertyByteArray(AMediaDrm *mObj,
541 if (!mObj || mObj->mDrm == NULL) {
548 status_t status = mObj->mDrm->getPropertyByteArray(String8(propertyName),
549 mObj->mPropertyByteArray);
552 propertyValue->ptr = mObj->mPropertyByteArray.array();
553 propertyValue->length = mObj->mPropertyByteArray.size();
562 media_status_t AMediaDrm_setPropertyString(AMediaDrm *mObj,
564 if (!mObj || mObj->mDrm == NULL) {
568 return translateStatus(mObj->mDrm->setPropertyString(String8(propertyName),
573 media_status_t AMediaDrm_setPropertyByteArray(AMediaDrm *mObj,
579 return translateStatus(mObj->mDrm->getPropertyByteArray(String8(propertyName),
584 static media_status_t encrypt_decrypt_common(AMediaDrm *mObj,
589 if (!mObj || mObj->mDrm == NULL) {
593 if (!findId(mObj, sessionId, iter)) {
597 status_t status = mObj->mDrm->setCipherAlgorithm(*iter, String8(cipherAlgorithm));
615 status = mObj->mDrm->encrypt(*iter, keyIdVec, inputVec, ivVec, outputVec);
617 status = mObj->mDrm->decrypt(*iter, keyIdVec, inputVec, ivVec, outputVec);
626 media_status_t AMediaDrm_encrypt(AMediaDrm *mObj, const AMediaDrmSessionId *sessionId,
632 return encrypt_decrypt_common(mObj, *sessionId, cipherAlgorithm, keyId, iv,
637 media_status_t AMediaDrm_decrypt(AMediaDrm *mObj, const AMediaDrmSessionId *sessionId,
643 return encrypt_decrypt_common(mObj, *sessionId, cipherAlgorithm, keyId, iv,
648 media_status_t AMediaDrm_sign(AMediaDrm *mObj, const AMediaDrmSessionId *sessionId,
652 if (!mObj || mObj->mDrm == NULL) {
659 if (!findId(mObj, *sessionId, iter)) {
663 status_t status = mObj->mDrm->setMacAlgorithm(*iter, String8(macAlgorithm));
676 status = mObj->mDrm->sign(*iter, keyIdVec, messageVec, signatureVec);
687 media_status_t AMediaDrm_verify(AMediaDrm *mObj, const AMediaDrmSessionId *sessionId,
691 if (!mObj || mObj->mDrm == NULL) {
698 if (!findId(mObj, *sessionId, iter)) {
702 status_t status = mObj->mDrm->setMacAlgorithm(*iter, String8(macAlgorithm));
718 status = mObj->mDrm->verify(*iter, keyIdVec, messageVec, signatureVec, match);