diff options
| author | Gloria Wang <gwang@google.com> | 2010-10-29 16:15:46 -0700 |
|---|---|---|
| committer | Android (Google) Code Review <android-gerrit@google.com> | 2010-10-29 16:15:46 -0700 |
| commit | e7a9c9010369d7672ac379347dc9c4441041fa89 (patch) | |
| tree | a9a9008961f262a5094af4cf57c9c6939ac7298a | |
| parent | 84aaec86f5f0cc24a9bdd936597601eadf2247dd (diff) | |
| parent | 3f9a819a9486c7fc77065f8f2c2dfe2417743393 (diff) | |
| download | frameworks_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.cpp | 14 | ||||
| -rw-r--r-- | media/libstagefright/DataSource.cpp | 9 |
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 |
