open-content-decryption-module-cdmi
open-content-decryption-module-cdmi copied to clipboard
CDMi skeleton platform component implementation to be used with Open Content Decryption Module
Patch is here rpc_response_generic* rpc_open_cdm_is_type_supported_1_svc( rpc_request_is_type_supported *type, struct svc_req *) { static CDMi_RESULT cr = CDMi_SUCCESS; rpc_response_generic *response = reinterpret_cast( malloc(sizeof(rpc_response_generic))); cout mime_type.mime_type_val), reinterpret_cast(type->key_system.key_system_val))){ cr = CDMi_S_FALSE; } } else...
I found cdmiservice would leak fd when we perform the following steps on OpenCDM side 1. MediaKeysCreateSession 2. MediaKeySessionUpdate 3. OpenCdmMediaengineImpl 4. Decrypt 5. MediaKeySessionRelease after the 5 steps you...
We know that there exist a OS level semaphore leakage at OpenCDM side, at your source trunk, you never free it but it is not correct. the following patch can...
In function rpc_open_cdm_mediakeysession_release_1_svc() or rpc_open_cdm_mediakeysession_update_1_svc() `p_mediaKeySession = g_mediaKeySessions[params->session_id.session_id_val];` `if (p_mediaKeySession) {` It seems not safty. If params->session_id.session_id_val matches the key of an element in the map, it will return a...
if (g_pMediaKeys) { IMediaKeySession *p_mediaKeySession = reinterpret_cast(malloc(sizeof(IMediaKeySession))); I think you should not allocate IMediaKeySession at here, replace the code to IMediaKeySession *p_mediaKeySession = NULL; and just call g_pMediaKeys->CreateMediaKeySession() function Thanks...
virtual void OnKeyMessage( const uint8_t *pbKeyMessage, uint32_t cbKeyMessage, char *f_pszUrl) { uint8_t *pbChallenge = NULL; uint32_t cbChallenge = 0; string message; // pbChallenge would always null because you never assign...