34 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
James Dong
29e97f169d am 3f6a7d1e: am d70c64db: Revert the following patches because they may lead to power regression because SHA/MD5 module is stuck 1. Revert "Fix drm flag setting missed in false drm recognition fix." This reverts commit 9f704f6c46a171357e49c411c83458b9d4565f3b.
* commit '3f6a7d1ee961a4544563932b7499535dc1cac1ec':
  Revert the following patches because they may lead to power regression because SHA/MD5 module is stuck 1. Revert "Fix drm flag setting missed in false drm recognition fix."    This reverts commit 9f704f6c46a171357e49c411c83458b9d4565f3b.
2011-12-14 13:53:31 -08:00
James Dong
d70c64db9f Revert the following patches because they may lead to power regression because SHA/MD5 module is stuck
1. Revert "Fix drm flag setting missed in false drm recognition fix."
   This reverts commit 9f704f6c46a171357e49c411c83458b9d4565f3b.

2. Revert "Fixed the false drm recognition."
   This reverts commit aadbd80b307c817698ce5110ff8e002804d1b230.

3. Revert "Fix drm enumeration order, resolves failure to play forward lock ringtones"
   This reverts commit a5cbf023e349f2394ba6fc58d73b4375cfec4369.

4. Revert "Fix ANRs due to Widevine DRM plugin sniff taking too long."
   This reverts commit d0d19db1ca1c289b069db33f4665bcb9386064e9.

As a result of the reverting, many ANRs from WV sniffing are back.

related-to-bug: 5739618
2011-12-14 11:01:59 -08:00
The Android Open Source Project
b34027bb2f am f14dc291: Merge from ics-mr1
* commit 'f14dc29104340f8ccf9d42aef8dba2cc23f7f5e1':
  Fix drm enumeration order, resolves failure to play forward lock ringtones
2011-12-12 15:39:17 -08:00
Jeff Tinker
a5cbf023e3 Fix drm enumeration order, resolves failure to play forward lock ringtones
Change-Id: I58e8a26849409bc3bf98b066c5e07c2a0c91e0c9
related-to-bug: 5735466
2011-12-09 20:04:17 -08:00
Glenn Kasten
91225183d6 Fix log message
Log did not have a tag, and was wrong level

Change-Id: I8d12895c80483e1e39f117a393b8be2f4bdd3e1d
2011-11-10 14:58:44 -08:00
Steve Block
71f2cf116a Rename (IF_)LOGV(_IF) to (IF_)ALOGV(_IF) DO NOT MERGE
See https://android-git.corp.google.com/g/#/c/143865

Bug: 5449033
Change-Id: I0122812ed6ff6f5b59fe4a43ab8bff0577adde0a
2011-10-26 09:57:54 +01:00
Edwin Wong
aab6fe21df Modified loadPlugIns to load from /vendor and /system; skip libraries that are already loaded.
BUG: 5284436

Change-Id: I99267c81a488860c3c7edb747100d44f3083bfc2
2011-09-21 21:50:31 -07: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
Jeff Brown
bd882b1c87 Remove the simulator target from all makefiles.
Bug: 5010576

Change-Id: I04d722f258951a3078fe07899f5bbe8aac02a8e8
2011-07-11 22:12:16 -07:00
James Dong
3f0341cbbd Fix memory leak from retrieval of getSupportedDrmInfo.
Change-Id: Ic2192a9791c0a3c5e5357b4367a2d8bfb15af20c
2011-04-24 12:40:16 -07:00
Gloria Wang
0e5e2e2b2b Merge "Bug fixes of DRM framework." 2011-03-15 14:10:30 -07:00
Glenn Kasten
e5eb43b5d9 am 7d7dcb5e: am 4528a7db: Merge "Bug 4016329 do full string comparisons" into honeycomb-mr1
* commit '7d7dcb5ea891ad4c3252ed832ebd06accc96153d':
  Bug 4016329 do full string comparisons
2011-03-15 13:51:17 -07:00
Gloria Wang
5c96c65f69 Bug fixes of DRM framework.
- Add death listener to clean-up drmserver appropriately
  when drmserver died.
- Remove "static" declaration of mUniqueIdVector because it was not
  needed to be static variable.
- Remove "class DrmContentIds;" because the class does not exist.
- contentPath in saveRights() could be empty because
  it is not required by some DRM schemes.
- Fix naming convention to use sXXX for static variables.
- Fix typo

Change-Id: I7d440488fc074c200f1009d1bafafeffebd690b2
2011-03-15 11:17:22 -07:00
James Dong
ed73246b32 Add memory leak tracking/debugging code to drm server
bug - 4099038

Change-Id: I6c048eaf3d7f34bc144b8daaa5fdef1ed474af66
2011-03-14 18:48:19 -07:00
Glenn Kasten
f8a1842e07 Bug 4016329 do full string comparisons
Use full string comparisons instead of partial for
  file extension and MIME type.
Do case-insensitive comparison of MIME type and file extensions.
Fix error in comment for String8::getPathExtension.
Remove dead code -- StringTokenizer is unused.

Change-Id: I322be6235abbdaab5f7eafa48926dbb2cf46dc29
2011-03-14 17:59:51 -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
2ef2d49aa3 - Change level of some LOGs from LOGE to LOGV because those logs
are not error logs from non-DRMed content's point of view.
- Add more mutex lock to avoid crash by multi-thread calls.
- Fix for bug 4050039

Change-Id: I52fed22069f0cda6c4ac6a5363469168c797a33b
2011-03-09 15:51:46 -08:00
Gloria Wang
289401b756 To support DRM files without file extension
Change-Id: Ie7701048d0dbd51bf358364014a1b41c894b664c
2011-03-02 12:33:00 -08:00
Glenn Kasten
70e8d9cb55 Merge "Bug 3229711" 2011-01-12 09:31:46 -08:00
Glenn Kasten
cbba720a46 Bug 3229711
Change-Id: I3a4d41597cb92a1526417a622390dbb93dc71e99
2011-01-11 17:15:49 -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
Gloria Wang
e3afc288dd resolved conflicts for merge of a8d7b747 to master
Change-Id: I8a4b72c9f9a10de8bbc285e00e2dd5cb9f498349
2010-11-03 11:39:04 -07:00
Gloria Wang
1b42e92dec Disable some logs
Change-Id: I05fcf6869916504367814fd2abd2b1af88619f5b
2010-11-02 15:09:43 -07: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
Gloria Wang
a784d4ed25 Do not create drm directory here. Fix for bug 3134576.
Change-Id: I1e26ff32b1c2d97464d544c2455eab0a726e3294
2010-10-26 12:11:55 -07: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
Jean-Baptiste Queru
3802949f5c Make DRM libraries optional
Change-Id: I0b591b75a035bc6d8049c85b595966845fedaa15
2010-09-10 12:46:57 -07:00
Jean-Baptiste Queru
7547b8eac6 fix build
Change-Id: I4aba42eabb2f959b5301bfd16f65fa6141d86ddc
2010-09-09 16:02:22 -07: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