summaryrefslogtreecommitdiffstats
path: root/media
diff options
context:
space:
mode:
authorGloria Wang <gwang@google.com>2010-10-29 14:50:17 -0700
committerGloria Wang <gwang@google.com>2010-10-29 16:09:48 -0700
commita89082944308805b0def7de87c67e370e74b8789 (patch)
tree05fdcd38a3ca77638c3785cc6a84c7ba9bf6b366 /media
parentc8ca26ed63edcf2731c4773b8ce3141930cc7245 (diff)
downloadframeworks_av-a89082944308805b0def7de87c67e370e74b8789.zip
frameworks_av-a89082944308805b0def7de87c67e370e74b8789.tar.gz
frameworks_av-a89082944308805b0def7de87c67e370e74b8789.tar.bz2
- register DRM sniffer only when drmserver is up
- notify DRM agents the status after seeking Change-Id: Id77977fc7548970559dc8974461b0bd1d2aa9514
Diffstat (limited to 'media')
-rw-r--r--media/libstagefright/AwesomePlayer.cpp14
-rw-r--r--media/libstagefright/DataSource.cpp9
2 files changed, 15 insertions, 8 deletions
diff --git a/media/libstagefright/AwesomePlayer.cpp b/media/libstagefright/AwesomePlayer.cpp
index cf04e92..60a41bf 100644
--- a/media/libstagefright/AwesomePlayer.cpp
+++ b/media/libstagefright/AwesomePlayer.cpp
@@ -1192,6 +1192,13 @@ void AwesomePlayer::finishSeekIfNecessary(int64_t videoTimeUs) {
mFlags |= FIRST_FRAME;
mSeeking = false;
mSeekNotificationSent = false;
+
+ if (mDecryptHandle != NULL) {
+ mDrmManagerClient->setPlaybackStatus(mDecryptHandle,
+ Playback::PAUSE, 0);
+ mDrmManagerClient->setPlaybackStatus(mDecryptHandle,
+ Playback::START, videoTimeUs / 1000);
+ }
}
void AwesomePlayer::onVideoEvent() {
@@ -1295,13 +1302,6 @@ void AwesomePlayer::onVideoEvent() {
TimeSource *ts = (mFlags & AUDIO_AT_EOS) ? &mSystemTimeSource : mTimeSource;
- if (mDecryptHandle != NULL) {
- mDrmManagerClient->setPlaybackStatus(mDecryptHandle,
- Playback::PAUSE, 0);
- mDrmManagerClient->setPlaybackStatus(mDecryptHandle,
- Playback::START, timeUs / 1000);
- }
-
if (mFlags & FIRST_FRAME) {
mFlags &= ~FIRST_FRAME;
diff --git a/media/libstagefright/DataSource.cpp b/media/libstagefright/DataSource.cpp
index ea5577d..0b8997c 100644
--- a/media/libstagefright/DataSource.cpp
+++ b/media/libstagefright/DataSource.cpp
@@ -32,6 +32,8 @@
#include <media/stagefright/MediaErrors.h>
#include <utils/String8.h>
+#include <cutils/properties.h>
+
namespace android {
bool DataSource::getUInt16(off_t offset, uint16_t *x) {
@@ -105,7 +107,12 @@ void DataSource::RegisterDefaultSniffers() {
RegisterSniffer(SniffAMR);
RegisterSniffer(SniffMPEG2TS);
RegisterSniffer(SniffMP3);
- //RegisterSniffer(SniffDRM);
+
+ char value[PROPERTY_VALUE_MAX];
+ if (property_get("drm.service.enabled", value, NULL)
+ && (!strcmp(value, "1") || !strcasecmp(value, "true"))) {
+ RegisterSniffer(SniffDRM);
+ }
}
// static