15 Commits

Author SHA1 Message Date
James Dong
d1ba6ed945 Separate sniffing from session initialization
This avoid lengthy/duplicate sniffing for drm plugins when a decrypt session is opened

o The change is backward compatibile in that no update is required
  for existing drm plug-ins if they do not plan to provide separate
  sniffer/extractor

related-to-bug: 5725548

Change-Id: I7fc4caf82d77472da4e2bc7b5d31060fb54fd84c
2012-01-12 16:25:12 -08:00
Gloria Wang
a17d454fd0 Fix for bug 4371230.
- Generate unique ID for each DrmManagerClient in native side
- Fix the bug where multiple clients could use the same ID
- Return the correct unique ID back to Java
- Add a flag in the unique ID to separate native client and Java client

Change-Id: Ia4574b6b0a526f2335a65380975dc62f9a6e7f9b
2011-07-25 16:09:58 -07:00
Gloria Wang
503b111b24 am ed7b688c: am aac43ea1: am b8b85ea2: Merge "Fix for bug 4126624. Change the mDrmManagerClientImpl to sp to avoid double delete the pointer." into honeycomb-mr1
* commit 'ed7b688c015dbd064b81dfaed5dd6c7ed6728ac3':
  Fix for bug 4126624. Change the mDrmManagerClientImpl to sp to avoid double delete the pointer.
2011-03-25 10:11:49 -07:00
Gloria Wang
4c87a75073 Fix for bug 4126624.
Change the mDrmManagerClientImpl to sp to avoid double delete the pointer.

Change-Id: I7aacea1bc58ab6425ef6f6f09472c6f2970ebb4d
2011-03-24 13:14:02 -07:00
Gloria Wang
09ba5cebb2 resolved conflicts for merge of c761a80d to master
Change-Id: I0c0474b95d66c23310d04b7a7f4c9571a211582c
2011-03-14 11:56:39 -07:00
Gloria Wang
192b591cdc - Some change on the DrmManager in order to support feature request 4082089.
In DrmManager, we currently lock both processDrmInfo() and onInfo() which is
    ok for now since processDrmInfo() is async call, and it will return without
    waiting for onInfo() call. However, if we send an event in processDrmInfo(),
    we will got deadlock here because we need to invoke onInf() which will wait
    for processDrmInfo() to release the lock. Use different lock for onInfo().
- Remove some redundent mutex lock.

Change-Id: I59c794f95ba1693425723224114fa975cf9b235f
2011-03-11 14:54:23 -08:00
Gloria Wang
ae7752798a Fix for bug 3477330
This patch fixs a crash bug caused by using a NULL DecryptHandle pointer.
Fix by using sp<DecryptHandle> instead.

Change-Id: Icbd59858385e8256125a615a3c82656b25319d44
2011-03-10 16:20:48 -08:00
Gloria Wang
3b7983cfea am 9e0bb6d5: am 0544d059: Merge "DRM Framework bug fixes."
* commit '9e0bb6d5eef5dfe2da60c50f3aaa39512307d11d':
  DRM Framework bug fixes.
2011-01-11 14:55:56 -08:00
Takeshi Aimi
f05913aaa0 DRM Framework bug fixes.
- Make sure to clean-up obsolete listeners.
- Close cursor after using it.
- Add virtual destructor to the base class of OnInfoListener.

Changes are made by SEMC and Sony.

Change-Id: Ibb6dd625ef48e3597188f0d7c90f9d4c780b6139
2010-11-30 16:27:42 +09:00
Gloria Wang
35f2d3997e am 24a90c26: am d9334934: Merge "Update of DRM Framework."
* commit '24a90c2674270fee0783bafa54fd5d845bdf0c18':
  Update of DRM Framework.
2010-11-22 21:29:08 -08:00
Gloria Wang
5fc3edb13e 64-bit file size/offset support for DRM framework
Change-Id: I0ba7147607825234df9fa28732e1bba344e82e79
2010-11-19 15:52:32 -08:00
Takeshi Aimi
dc91865622 Update of DRM Framework.
-Access permission handling
  Introduce an internal function which allows the desired process to
  access decryption flow. This new function is just for reference and
  each OEM manufacturer should implement/replace with their solutions.
-New API, getMetadata()
  This API is for retrieving media metadata from container-based DRM,
  such as OMA forward-lock content. This API asks DRM agent to retrieve
  media metadata hiddein inside of DRM special container.
-New API, acquireRights()
  This API wraps acquireDrmInfo() and processDrmInfo().
  If DRM agent has valid implementation of both APIs,
  Application can acquire DrmRights only by calling this API.
-Bug fix in event loop of OnInfoListener.
  Separate OnInfo event loop from mail thread loop so as to avoid
  the issue that message is not dispatched when mail thread is busy.

Changes are made by SEMC and Sony.

Change-Id: I04ee3e0988152a71e221f2256d83253749a29da0
2010-11-19 22:02:51 +09:00
Takeshi Aimi
c7b3ccc564 Update of DRM framework
- Overload openDecryptSession() with uri parameter
   in order to accept URI of DRM content,
   Following API is added,
       DecryptHandle*openDecryptSession(const char* uri);.
 - Unify texisting three event types of processDrmInfo()
   so that caller of DRM framework does not have to handle many event types.
 - Let DrmManagerService call load/unload plugins API so that
   client of DRM framework does not have to manage plug-in load/unload.
 - Trivial fix in DrmManagerClient.java is also incorporated.

Changes are made by Sony Corporation.

Change-Id: If62b47fa0360718fdc943e6e6143671d7db26adc
2010-11-02 08:06:06 +09:00
Takeshi Aimi
dc549d60f9 Update of DRM framework.
- Change "void" type of return value to "int" for returning status.
  - Add some of overloaded Java APIs which accept database Uri as input.
  - Add asynchronous APIs
  - Add OnEventListener and OnErrorListener for asynchronous APIs
  - Disable debug log
  - Change decrypt() API to accept an optional buffer needed by some of DRM schemes

Changes are incorporated by Sony Corporation.

Change-Id: I414a165e22cc79be6ea7cd28041788aa2b6b8f7c
2010-10-04 22:14:53 +09:00
aimitakeshi
d074e30ce4 Initial contribution from Sony Corporation.
Add DRM Framework to support DRM content playback
  together with StageFright.

  - DRM Framework code is added
     - include/drm
     - drm
  - api/current.xml is updated to include DRM Framework Java APIs
  - cmds/servicemanager/service_manager.c is modified
    to add drmManager and drmIOService.

Change-Id: I6d7bc9c7067362b500e530988a9ce241761866fb
2010-09-01 15:40:00 +09:00