summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGloria Wang <gwang@google.com>2010-10-29 16:15:46 -0700
committerAndroid (Google) Code Review <android-gerrit@google.com>2010-10-29 16:15:46 -0700
commite7a9c9010369d7672ac379347dc9c4441041fa89 (patch)
treea9a9008961f262a5094af4cf57c9c6939ac7298a
parent84aaec86f5f0cc24a9bdd936597601eadf2247dd (diff)
parent3f9a819a9486c7fc77065f8f2c2dfe2417743393 (diff)
downloadframeworks_base-e7a9c9010369d7672ac379347dc9c4441041fa89.zip
frameworks_base-e7a9c9010369d7672ac379347dc9c4441041fa89.tar.gz
frameworks_base-e7a9c9010369d7672ac379347dc9c4441041fa89.tar.bz2
Merge "- register DRM sniffer only when drmserver is up - notify DRM agents the status after seeking"
-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