Loading media/libmedia/IDrm.cpp +124 −30 Original line number Diff line number Diff line Loading @@ -67,7 +67,10 @@ struct BpDrm : public BpInterface<IDrm> { virtual status_t initCheck() const { Parcel data, reply; data.writeInterfaceToken(IDrm::getInterfaceDescriptor()); remote()->transact(INIT_CHECK, data, &reply); status_t status = remote()->transact(INIT_CHECK, data, &reply); if (status != OK) { return status; } return reply.readInt32(); } Loading @@ -77,7 +80,11 @@ struct BpDrm : public BpInterface<IDrm> { data.writeInterfaceToken(IDrm::getInterfaceDescriptor()); data.write(uuid, 16); data.writeString8(mimeType); remote()->transact(IS_CRYPTO_SUPPORTED, data, &reply); status_t status = remote()->transact(IS_CRYPTO_SUPPORTED, data, &reply); if (status != OK) { ALOGE("isCryptoSchemeSupported: binder call failed: %d", status); return false; } return reply.readInt32() != 0; } Loading @@ -87,7 +94,10 @@ struct BpDrm : public BpInterface<IDrm> { data.writeInterfaceToken(IDrm::getInterfaceDescriptor()); data.write(uuid, 16); remote()->transact(CREATE_PLUGIN, data, &reply); status_t status = remote()->transact(CREATE_PLUGIN, data, &reply); if (status != OK) { return status; } return reply.readInt32(); } Loading @@ -95,7 +105,10 @@ struct BpDrm : public BpInterface<IDrm> { virtual status_t destroyPlugin() { Parcel data, reply; data.writeInterfaceToken(IDrm::getInterfaceDescriptor()); remote()->transact(DESTROY_PLUGIN, data, &reply); status_t status = remote()->transact(DESTROY_PLUGIN, data, &reply); if (status != OK) { return status; } return reply.readInt32(); } Loading @@ -104,7 +117,10 @@ struct BpDrm : public BpInterface<IDrm> { Parcel data, reply; data.writeInterfaceToken(IDrm::getInterfaceDescriptor()); remote()->transact(OPEN_SESSION, data, &reply); status_t status = remote()->transact(OPEN_SESSION, data, &reply); if (status != OK) { return status; } readVector(reply, sessionId); return reply.readInt32(); Loading @@ -115,7 +131,10 @@ struct BpDrm : public BpInterface<IDrm> { data.writeInterfaceToken(IDrm::getInterfaceDescriptor()); writeVector(data, sessionId); remote()->transact(CLOSE_SESSION, data, &reply); status_t status = remote()->transact(CLOSE_SESSION, data, &reply); if (status != OK) { return status; } return reply.readInt32(); } Loading @@ -140,7 +159,11 @@ struct BpDrm : public BpInterface<IDrm> { data.writeString8(optionalParameters.keyAt(i)); data.writeString8(optionalParameters.valueAt(i)); } remote()->transact(GET_KEY_REQUEST, data, &reply); status_t status = remote()->transact(GET_KEY_REQUEST, data, &reply); if (status != OK) { return status; } readVector(reply, request); defaultUrl = reply.readString8(); Loading @@ -156,7 +179,12 @@ struct BpDrm : public BpInterface<IDrm> { data.writeInterfaceToken(IDrm::getInterfaceDescriptor()); writeVector(data, sessionId); writeVector(data, response); remote()->transact(PROVIDE_KEY_RESPONSE, data, &reply); status_t status = remote()->transact(PROVIDE_KEY_RESPONSE, data, &reply); if (status != OK) { return status; } readVector(reply, keySetId); return reply.readInt32(); Loading @@ -167,7 +195,10 @@ struct BpDrm : public BpInterface<IDrm> { data.writeInterfaceToken(IDrm::getInterfaceDescriptor()); writeVector(data, keySetId); remote()->transact(REMOVE_KEYS, data, &reply); status_t status = remote()->transact(REMOVE_KEYS, data, &reply); if (status != OK) { return status; } return reply.readInt32(); } Loading @@ -179,7 +210,10 @@ struct BpDrm : public BpInterface<IDrm> { writeVector(data, sessionId); writeVector(data, keySetId); remote()->transact(RESTORE_KEYS, data, &reply); status_t status = remote()->transact(RESTORE_KEYS, data, &reply); if (status != OK) { return status; } return reply.readInt32(); } Loading @@ -190,7 +224,10 @@ struct BpDrm : public BpInterface<IDrm> { data.writeInterfaceToken(IDrm::getInterfaceDescriptor()); writeVector(data, sessionId); remote()->transact(QUERY_KEY_STATUS, data, &reply); status_t status = remote()->transact(QUERY_KEY_STATUS, data, &reply); if (status != OK) { return status; } infoMap.clear(); size_t count = reply.readInt32(); Loading @@ -211,7 +248,10 @@ struct BpDrm : public BpInterface<IDrm> { data.writeString8(certType); data.writeString8(certAuthority); remote()->transact(GET_PROVISION_REQUEST, data, &reply); status_t status = remote()->transact(GET_PROVISION_REQUEST, data, &reply); if (status != OK) { return status; } readVector(reply, request); defaultUrl = reply.readString8(); Loading @@ -226,7 +266,10 @@ struct BpDrm : public BpInterface<IDrm> { data.writeInterfaceToken(IDrm::getInterfaceDescriptor()); writeVector(data, response); remote()->transact(PROVIDE_PROVISION_RESPONSE, data, &reply); status_t status = remote()->transact(PROVIDE_PROVISION_RESPONSE, data, &reply); if (status != OK) { return status; } readVector(reply, certificate); readVector(reply, wrappedKey); Loading @@ -238,7 +281,10 @@ struct BpDrm : public BpInterface<IDrm> { Parcel data, reply; data.writeInterfaceToken(IDrm::getInterfaceDescriptor()); remote()->transact(UNPROVISION_DEVICE, data, &reply); status_t status = remote()->transact(UNPROVISION_DEVICE, data, &reply); if (status != OK) { return status; } return reply.readInt32(); } Loading @@ -247,7 +293,10 @@ struct BpDrm : public BpInterface<IDrm> { Parcel data, reply; data.writeInterfaceToken(IDrm::getInterfaceDescriptor()); remote()->transact(GET_SECURE_STOPS, data, &reply); status_t status = remote()->transact(GET_SECURE_STOPS, data, &reply); if (status != OK) { return status; } secureStops.clear(); uint32_t count = reply.readInt32(); Loading @@ -264,7 +313,10 @@ struct BpDrm : public BpInterface<IDrm> { data.writeInterfaceToken(IDrm::getInterfaceDescriptor()); writeVector(data, ssid); remote()->transact(GET_SECURE_STOP, data, &reply); status_t status = remote()->transact(GET_SECURE_STOP, data, &reply); if (status != OK) { return status; } readVector(reply, secureStop); return reply.readInt32(); Loading @@ -275,7 +327,10 @@ struct BpDrm : public BpInterface<IDrm> { data.writeInterfaceToken(IDrm::getInterfaceDescriptor()); writeVector(data, ssRelease); remote()->transact(RELEASE_SECURE_STOPS, data, &reply); status_t status = remote()->transact(RELEASE_SECURE_STOPS, data, &reply); if (status != OK) { return status; } return reply.readInt32(); } Loading @@ -284,7 +339,10 @@ struct BpDrm : public BpInterface<IDrm> { Parcel data, reply; data.writeInterfaceToken(IDrm::getInterfaceDescriptor()); remote()->transact(RELEASE_ALL_SECURE_STOPS, data, &reply); status_t status = remote()->transact(RELEASE_ALL_SECURE_STOPS, data, &reply); if (status != OK) { return status; } return reply.readInt32(); } Loading @@ -294,7 +352,10 @@ struct BpDrm : public BpInterface<IDrm> { data.writeInterfaceToken(IDrm::getInterfaceDescriptor()); data.writeString8(name); remote()->transact(GET_PROPERTY_STRING, data, &reply); status_t status = remote()->transact(GET_PROPERTY_STRING, data, &reply); if (status != OK) { return status; } value = reply.readString8(); return reply.readInt32(); Loading @@ -305,7 +366,10 @@ struct BpDrm : public BpInterface<IDrm> { data.writeInterfaceToken(IDrm::getInterfaceDescriptor()); data.writeString8(name); remote()->transact(GET_PROPERTY_BYTE_ARRAY, data, &reply); status_t status = remote()->transact(GET_PROPERTY_BYTE_ARRAY, data, &reply); if (status != OK) { return status; } readVector(reply, value); return reply.readInt32(); Loading @@ -317,7 +381,10 @@ struct BpDrm : public BpInterface<IDrm> { data.writeString8(name); data.writeString8(value); remote()->transact(SET_PROPERTY_STRING, data, &reply); status_t status = remote()->transact(SET_PROPERTY_STRING, data, &reply); if (status != OK) { return status; } return reply.readInt32(); } Loading @@ -329,7 +396,10 @@ struct BpDrm : public BpInterface<IDrm> { data.writeString8(name); writeVector(data, value); remote()->transact(SET_PROPERTY_BYTE_ARRAY, data, &reply); status_t status = remote()->transact(SET_PROPERTY_BYTE_ARRAY, data, &reply); if (status != OK) { return status; } return reply.readInt32(); } Loading @@ -342,7 +412,10 @@ struct BpDrm : public BpInterface<IDrm> { writeVector(data, sessionId); data.writeString8(algorithm); remote()->transact(SET_CIPHER_ALGORITHM, data, &reply); status_t status = remote()->transact(SET_CIPHER_ALGORITHM, data, &reply); if (status != OK) { return status; } return reply.readInt32(); } Loading @@ -353,7 +426,10 @@ struct BpDrm : public BpInterface<IDrm> { writeVector(data, sessionId); data.writeString8(algorithm); remote()->transact(SET_MAC_ALGORITHM, data, &reply); status_t status = remote()->transact(SET_MAC_ALGORITHM, data, &reply); if (status != OK) { return status; } return reply.readInt32(); } Loading @@ -370,7 +446,10 @@ struct BpDrm : public BpInterface<IDrm> { writeVector(data, input); writeVector(data, iv); remote()->transact(ENCRYPT, data, &reply); status_t status = remote()->transact(ENCRYPT, data, &reply); if (status != OK) { return status; } readVector(reply, output); return reply.readInt32(); Loading @@ -389,7 +468,10 @@ struct BpDrm : public BpInterface<IDrm> { writeVector(data, input); writeVector(data, iv); remote()->transact(DECRYPT, data, &reply); status_t status = remote()->transact(DECRYPT, data, &reply); if (status != OK) { return status; } readVector(reply, output); return reply.readInt32(); Loading @@ -406,7 +488,10 @@ struct BpDrm : public BpInterface<IDrm> { writeVector(data, keyId); writeVector(data, message); remote()->transact(SIGN, data, &reply); status_t status = remote()->transact(SIGN, data, &reply); if (status != OK) { return status; } readVector(reply, signature); return reply.readInt32(); Loading @@ -425,7 +510,10 @@ struct BpDrm : public BpInterface<IDrm> { writeVector(data, message); writeVector(data, signature); remote()->transact(VERIFY, data, &reply); status_t status = remote()->transact(VERIFY, data, &reply); if (status != OK) { return status; } match = (bool)reply.readInt32(); return reply.readInt32(); } Loading @@ -443,7 +531,10 @@ struct BpDrm : public BpInterface<IDrm> { writeVector(data, message); writeVector(data, wrappedKey); remote()->transact(SIGN_RSA, data, &reply); status_t status = remote()->transact(SIGN_RSA, data, &reply); if (status != OK) { return status; } readVector(reply, signature); return reply.readInt32(); Loading @@ -453,7 +544,10 @@ struct BpDrm : public BpInterface<IDrm> { Parcel data, reply; data.writeInterfaceToken(IDrm::getInterfaceDescriptor()); data.writeStrongBinder(IInterface::asBinder(listener)); remote()->transact(SET_LISTENER, data, &reply); status_t status = remote()->transact(SET_LISTENER, data, &reply); if (status != OK) { return status; } return reply.readInt32(); } Loading Loading
media/libmedia/IDrm.cpp +124 −30 Original line number Diff line number Diff line Loading @@ -67,7 +67,10 @@ struct BpDrm : public BpInterface<IDrm> { virtual status_t initCheck() const { Parcel data, reply; data.writeInterfaceToken(IDrm::getInterfaceDescriptor()); remote()->transact(INIT_CHECK, data, &reply); status_t status = remote()->transact(INIT_CHECK, data, &reply); if (status != OK) { return status; } return reply.readInt32(); } Loading @@ -77,7 +80,11 @@ struct BpDrm : public BpInterface<IDrm> { data.writeInterfaceToken(IDrm::getInterfaceDescriptor()); data.write(uuid, 16); data.writeString8(mimeType); remote()->transact(IS_CRYPTO_SUPPORTED, data, &reply); status_t status = remote()->transact(IS_CRYPTO_SUPPORTED, data, &reply); if (status != OK) { ALOGE("isCryptoSchemeSupported: binder call failed: %d", status); return false; } return reply.readInt32() != 0; } Loading @@ -87,7 +94,10 @@ struct BpDrm : public BpInterface<IDrm> { data.writeInterfaceToken(IDrm::getInterfaceDescriptor()); data.write(uuid, 16); remote()->transact(CREATE_PLUGIN, data, &reply); status_t status = remote()->transact(CREATE_PLUGIN, data, &reply); if (status != OK) { return status; } return reply.readInt32(); } Loading @@ -95,7 +105,10 @@ struct BpDrm : public BpInterface<IDrm> { virtual status_t destroyPlugin() { Parcel data, reply; data.writeInterfaceToken(IDrm::getInterfaceDescriptor()); remote()->transact(DESTROY_PLUGIN, data, &reply); status_t status = remote()->transact(DESTROY_PLUGIN, data, &reply); if (status != OK) { return status; } return reply.readInt32(); } Loading @@ -104,7 +117,10 @@ struct BpDrm : public BpInterface<IDrm> { Parcel data, reply; data.writeInterfaceToken(IDrm::getInterfaceDescriptor()); remote()->transact(OPEN_SESSION, data, &reply); status_t status = remote()->transact(OPEN_SESSION, data, &reply); if (status != OK) { return status; } readVector(reply, sessionId); return reply.readInt32(); Loading @@ -115,7 +131,10 @@ struct BpDrm : public BpInterface<IDrm> { data.writeInterfaceToken(IDrm::getInterfaceDescriptor()); writeVector(data, sessionId); remote()->transact(CLOSE_SESSION, data, &reply); status_t status = remote()->transact(CLOSE_SESSION, data, &reply); if (status != OK) { return status; } return reply.readInt32(); } Loading @@ -140,7 +159,11 @@ struct BpDrm : public BpInterface<IDrm> { data.writeString8(optionalParameters.keyAt(i)); data.writeString8(optionalParameters.valueAt(i)); } remote()->transact(GET_KEY_REQUEST, data, &reply); status_t status = remote()->transact(GET_KEY_REQUEST, data, &reply); if (status != OK) { return status; } readVector(reply, request); defaultUrl = reply.readString8(); Loading @@ -156,7 +179,12 @@ struct BpDrm : public BpInterface<IDrm> { data.writeInterfaceToken(IDrm::getInterfaceDescriptor()); writeVector(data, sessionId); writeVector(data, response); remote()->transact(PROVIDE_KEY_RESPONSE, data, &reply); status_t status = remote()->transact(PROVIDE_KEY_RESPONSE, data, &reply); if (status != OK) { return status; } readVector(reply, keySetId); return reply.readInt32(); Loading @@ -167,7 +195,10 @@ struct BpDrm : public BpInterface<IDrm> { data.writeInterfaceToken(IDrm::getInterfaceDescriptor()); writeVector(data, keySetId); remote()->transact(REMOVE_KEYS, data, &reply); status_t status = remote()->transact(REMOVE_KEYS, data, &reply); if (status != OK) { return status; } return reply.readInt32(); } Loading @@ -179,7 +210,10 @@ struct BpDrm : public BpInterface<IDrm> { writeVector(data, sessionId); writeVector(data, keySetId); remote()->transact(RESTORE_KEYS, data, &reply); status_t status = remote()->transact(RESTORE_KEYS, data, &reply); if (status != OK) { return status; } return reply.readInt32(); } Loading @@ -190,7 +224,10 @@ struct BpDrm : public BpInterface<IDrm> { data.writeInterfaceToken(IDrm::getInterfaceDescriptor()); writeVector(data, sessionId); remote()->transact(QUERY_KEY_STATUS, data, &reply); status_t status = remote()->transact(QUERY_KEY_STATUS, data, &reply); if (status != OK) { return status; } infoMap.clear(); size_t count = reply.readInt32(); Loading @@ -211,7 +248,10 @@ struct BpDrm : public BpInterface<IDrm> { data.writeString8(certType); data.writeString8(certAuthority); remote()->transact(GET_PROVISION_REQUEST, data, &reply); status_t status = remote()->transact(GET_PROVISION_REQUEST, data, &reply); if (status != OK) { return status; } readVector(reply, request); defaultUrl = reply.readString8(); Loading @@ -226,7 +266,10 @@ struct BpDrm : public BpInterface<IDrm> { data.writeInterfaceToken(IDrm::getInterfaceDescriptor()); writeVector(data, response); remote()->transact(PROVIDE_PROVISION_RESPONSE, data, &reply); status_t status = remote()->transact(PROVIDE_PROVISION_RESPONSE, data, &reply); if (status != OK) { return status; } readVector(reply, certificate); readVector(reply, wrappedKey); Loading @@ -238,7 +281,10 @@ struct BpDrm : public BpInterface<IDrm> { Parcel data, reply; data.writeInterfaceToken(IDrm::getInterfaceDescriptor()); remote()->transact(UNPROVISION_DEVICE, data, &reply); status_t status = remote()->transact(UNPROVISION_DEVICE, data, &reply); if (status != OK) { return status; } return reply.readInt32(); } Loading @@ -247,7 +293,10 @@ struct BpDrm : public BpInterface<IDrm> { Parcel data, reply; data.writeInterfaceToken(IDrm::getInterfaceDescriptor()); remote()->transact(GET_SECURE_STOPS, data, &reply); status_t status = remote()->transact(GET_SECURE_STOPS, data, &reply); if (status != OK) { return status; } secureStops.clear(); uint32_t count = reply.readInt32(); Loading @@ -264,7 +313,10 @@ struct BpDrm : public BpInterface<IDrm> { data.writeInterfaceToken(IDrm::getInterfaceDescriptor()); writeVector(data, ssid); remote()->transact(GET_SECURE_STOP, data, &reply); status_t status = remote()->transact(GET_SECURE_STOP, data, &reply); if (status != OK) { return status; } readVector(reply, secureStop); return reply.readInt32(); Loading @@ -275,7 +327,10 @@ struct BpDrm : public BpInterface<IDrm> { data.writeInterfaceToken(IDrm::getInterfaceDescriptor()); writeVector(data, ssRelease); remote()->transact(RELEASE_SECURE_STOPS, data, &reply); status_t status = remote()->transact(RELEASE_SECURE_STOPS, data, &reply); if (status != OK) { return status; } return reply.readInt32(); } Loading @@ -284,7 +339,10 @@ struct BpDrm : public BpInterface<IDrm> { Parcel data, reply; data.writeInterfaceToken(IDrm::getInterfaceDescriptor()); remote()->transact(RELEASE_ALL_SECURE_STOPS, data, &reply); status_t status = remote()->transact(RELEASE_ALL_SECURE_STOPS, data, &reply); if (status != OK) { return status; } return reply.readInt32(); } Loading @@ -294,7 +352,10 @@ struct BpDrm : public BpInterface<IDrm> { data.writeInterfaceToken(IDrm::getInterfaceDescriptor()); data.writeString8(name); remote()->transact(GET_PROPERTY_STRING, data, &reply); status_t status = remote()->transact(GET_PROPERTY_STRING, data, &reply); if (status != OK) { return status; } value = reply.readString8(); return reply.readInt32(); Loading @@ -305,7 +366,10 @@ struct BpDrm : public BpInterface<IDrm> { data.writeInterfaceToken(IDrm::getInterfaceDescriptor()); data.writeString8(name); remote()->transact(GET_PROPERTY_BYTE_ARRAY, data, &reply); status_t status = remote()->transact(GET_PROPERTY_BYTE_ARRAY, data, &reply); if (status != OK) { return status; } readVector(reply, value); return reply.readInt32(); Loading @@ -317,7 +381,10 @@ struct BpDrm : public BpInterface<IDrm> { data.writeString8(name); data.writeString8(value); remote()->transact(SET_PROPERTY_STRING, data, &reply); status_t status = remote()->transact(SET_PROPERTY_STRING, data, &reply); if (status != OK) { return status; } return reply.readInt32(); } Loading @@ -329,7 +396,10 @@ struct BpDrm : public BpInterface<IDrm> { data.writeString8(name); writeVector(data, value); remote()->transact(SET_PROPERTY_BYTE_ARRAY, data, &reply); status_t status = remote()->transact(SET_PROPERTY_BYTE_ARRAY, data, &reply); if (status != OK) { return status; } return reply.readInt32(); } Loading @@ -342,7 +412,10 @@ struct BpDrm : public BpInterface<IDrm> { writeVector(data, sessionId); data.writeString8(algorithm); remote()->transact(SET_CIPHER_ALGORITHM, data, &reply); status_t status = remote()->transact(SET_CIPHER_ALGORITHM, data, &reply); if (status != OK) { return status; } return reply.readInt32(); } Loading @@ -353,7 +426,10 @@ struct BpDrm : public BpInterface<IDrm> { writeVector(data, sessionId); data.writeString8(algorithm); remote()->transact(SET_MAC_ALGORITHM, data, &reply); status_t status = remote()->transact(SET_MAC_ALGORITHM, data, &reply); if (status != OK) { return status; } return reply.readInt32(); } Loading @@ -370,7 +446,10 @@ struct BpDrm : public BpInterface<IDrm> { writeVector(data, input); writeVector(data, iv); remote()->transact(ENCRYPT, data, &reply); status_t status = remote()->transact(ENCRYPT, data, &reply); if (status != OK) { return status; } readVector(reply, output); return reply.readInt32(); Loading @@ -389,7 +468,10 @@ struct BpDrm : public BpInterface<IDrm> { writeVector(data, input); writeVector(data, iv); remote()->transact(DECRYPT, data, &reply); status_t status = remote()->transact(DECRYPT, data, &reply); if (status != OK) { return status; } readVector(reply, output); return reply.readInt32(); Loading @@ -406,7 +488,10 @@ struct BpDrm : public BpInterface<IDrm> { writeVector(data, keyId); writeVector(data, message); remote()->transact(SIGN, data, &reply); status_t status = remote()->transact(SIGN, data, &reply); if (status != OK) { return status; } readVector(reply, signature); return reply.readInt32(); Loading @@ -425,7 +510,10 @@ struct BpDrm : public BpInterface<IDrm> { writeVector(data, message); writeVector(data, signature); remote()->transact(VERIFY, data, &reply); status_t status = remote()->transact(VERIFY, data, &reply); if (status != OK) { return status; } match = (bool)reply.readInt32(); return reply.readInt32(); } Loading @@ -443,7 +531,10 @@ struct BpDrm : public BpInterface<IDrm> { writeVector(data, message); writeVector(data, wrappedKey); remote()->transact(SIGN_RSA, data, &reply); status_t status = remote()->transact(SIGN_RSA, data, &reply); if (status != OK) { return status; } readVector(reply, signature); return reply.readInt32(); Loading @@ -453,7 +544,10 @@ struct BpDrm : public BpInterface<IDrm> { Parcel data, reply; data.writeInterfaceToken(IDrm::getInterfaceDescriptor()); data.writeStrongBinder(IInterface::asBinder(listener)); remote()->transact(SET_LISTENER, data, &reply); status_t status = remote()->transact(SET_LISTENER, data, &reply); if (status != OK) { return status; } return reply.readInt32(); } Loading