summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGloria Wang <gwang@google.com>2011-07-06 09:22:05 -0700
committerAndroid (Google) Code Review <android-gerrit@google.com>2011-07-06 09:22:05 -0700
commit5895e970ae119210773a5184c019178e2516b132 (patch)
treec5e38d96737f30c0f5bf3a086192a9fe0b92bc5f
parentd26edf9435bf5bdb43b5a1f71192bb1477a1cc7f (diff)
parent0d0edfb024f65f7e1097bf1814ae229ce9cb367d (diff)
downloadframeworks_av-5895e970ae119210773a5184c019178e2516b132.zip
frameworks_av-5895e970ae119210773a5184c019178e2516b132.tar.gz
frameworks_av-5895e970ae119210773a5184c019178e2516b132.tar.bz2
Merge "- Retrieve is_drm in MediaMetadataRetriever. - Add one more column in MediaStore to indicate whether a media file is drm-protected. - Remove old DRM code from Ringtone - Use the new DRM code in RingtoneManager"
-rw-r--r--include/media/mediametadataretriever.h1
-rw-r--r--include/media/stagefright/MediaExtractor.h9
-rw-r--r--media/libstagefright/MPEG4Extractor.cpp4
-rw-r--r--media/libstagefright/MediaExtractor.cpp9
-rw-r--r--media/libstagefright/StagefrightMediaScanner.cpp1
-rw-r--r--media/libstagefright/StagefrightMetadataRetriever.cpp5
-rw-r--r--media/libstagefright/include/MPEG4Extractor.h1
7 files changed, 22 insertions, 8 deletions
diff --git a/include/media/mediametadataretriever.h b/include/media/mediametadataretriever.h
index 28f305d..9aa6700 100644
--- a/include/media/mediametadataretriever.h
+++ b/include/media/mediametadataretriever.h
@@ -53,6 +53,7 @@ enum {
METADATA_KEY_VIDEO_HEIGHT = 19,
METADATA_KEY_BITRATE = 20,
METADATA_KEY_TIMED_TEXT_LANGUAGES = 21,
+ METADATA_KEY_IS_DRM = 22,
// Add more here...
};
diff --git a/include/media/stagefright/MediaExtractor.h b/include/media/stagefright/MediaExtractor.h
index a82106e..eb45237 100644
--- a/include/media/stagefright/MediaExtractor.h
+++ b/include/media/stagefright/MediaExtractor.h
@@ -56,7 +56,12 @@ public:
virtual uint32_t flags() const;
// for DRM
- virtual void setDrmFlag(bool flag) {};
+ virtual void setDrmFlag(bool flag) {
+ mIsDrm = flag;
+ };
+ virtual bool getDrmFlag() {
+ return mIsDrm;
+ }
virtual char* getDrmTrackInfo(size_t trackID, int *len) {
return NULL;
}
@@ -66,6 +71,8 @@ protected:
virtual ~MediaExtractor() {}
private:
+ bool mIsDrm;
+
MediaExtractor(const MediaExtractor &);
MediaExtractor &operator=(const MediaExtractor &);
};
diff --git a/media/libstagefright/MPEG4Extractor.cpp b/media/libstagefright/MPEG4Extractor.cpp
index 5582f92..73a05a5 100644
--- a/media/libstagefright/MPEG4Extractor.cpp
+++ b/media/libstagefright/MPEG4Extractor.cpp
@@ -387,10 +387,6 @@ status_t MPEG4Extractor::readMetaData() {
return mInitCheck;
}
-void MPEG4Extractor::setDrmFlag(bool flag) {
- mIsDrm = flag;
-}
-
char* MPEG4Extractor::getDrmTrackInfo(size_t trackID, int *len) {
if (mFirstSINF == NULL) {
return NULL;
diff --git a/media/libstagefright/MediaExtractor.cpp b/media/libstagefright/MediaExtractor.cpp
index af0131e..a8023df 100644
--- a/media/libstagefright/MediaExtractor.cpp
+++ b/media/libstagefright/MediaExtractor.cpp
@@ -116,8 +116,13 @@ sp<MediaExtractor> MediaExtractor::Create(
} else if (!strcasecmp(mime, MEDIA_MIMETYPE_AUDIO_AAC_ADTS)) {
ret = new AACExtractor(source);
}
- if (ret != NULL && isDrm) {
- ret->getMetaData()->setInt32(kKeyIsDRM, 1);
+
+ if (ret != NULL) {
+ if (isDrm) {
+ ret->setDrmFlag(true);
+ } else {
+ ret->setDrmFlag(false);
+ }
}
return ret;
diff --git a/media/libstagefright/StagefrightMediaScanner.cpp b/media/libstagefright/StagefrightMediaScanner.cpp
index f82ff32..89faff7 100644
--- a/media/libstagefright/StagefrightMediaScanner.cpp
+++ b/media/libstagefright/StagefrightMediaScanner.cpp
@@ -158,6 +158,7 @@ status_t StagefrightMediaScanner::processFile(
{ "duration", METADATA_KEY_DURATION },
{ "writer", METADATA_KEY_WRITER },
{ "compilation", METADATA_KEY_COMPILATION },
+ { "isdrm", METADATA_KEY_IS_DRM },
};
static const size_t kNumEntries = sizeof(kKeyMap) / sizeof(kKeyMap[0]);
diff --git a/media/libstagefright/StagefrightMetadataRetriever.cpp b/media/libstagefright/StagefrightMetadataRetriever.cpp
index de3957b..778c0b5 100644
--- a/media/libstagefright/StagefrightMetadataRetriever.cpp
+++ b/media/libstagefright/StagefrightMetadataRetriever.cpp
@@ -530,6 +530,11 @@ void StagefrightMetadataRetriever::parseMetaData() {
}
}
}
+
+ // To check whether the media file is drm-protected
+ if (mExtractor->getDrmFlag()) {
+ mMetaData.add(METADATA_KEY_IS_DRM, String8("1"));
+ }
}
} // namespace android
diff --git a/media/libstagefright/include/MPEG4Extractor.h b/media/libstagefright/include/MPEG4Extractor.h
index 3bd4c7e..eae62c6 100644
--- a/media/libstagefright/include/MPEG4Extractor.h
+++ b/media/libstagefright/include/MPEG4Extractor.h
@@ -40,7 +40,6 @@ public:
virtual sp<MetaData> getMetaData();
// for DRM
- virtual void setDrmFlag(bool flag);
virtual char* getDrmTrackInfo(size_t trackID, int *len);
protected: