summaryrefslogtreecommitdiffstats
path: root/media/libstagefright/MediaExtractor.cpp
diff options
context:
space:
mode:
authorGloria Wang <gwang@google.com>2010-10-25 15:23:04 -0700
committerGloria Wang <gwang@google.com>2010-10-25 16:11:18 -0700
commita9741a9232c81eaf59179acef91f5be46c42264e (patch)
tree9a66416b42a28ec2ad4fa2ec520c42d976046aec /media/libstagefright/MediaExtractor.cpp
parentd8cba5371423841e6a85816ad4a7fd88d3a60b12 (diff)
parentdcd25efb46c41c8d24a0a9cf61fb57f84149709e (diff)
downloadframeworks_av-a9741a9232c81eaf59179acef91f5be46c42264e.zip
frameworks_av-a9741a9232c81eaf59179acef91f5be46c42264e.tar.gz
frameworks_av-a9741a9232c81eaf59179acef91f5be46c42264e.tar.bz2
resolved conflicts for merge of 9084631d to gingerbread-plus-aosp
Change-Id: Ie2b675d50bfca3f33aee80f1a67c9f03d1f97472
Diffstat (limited to 'media/libstagefright/MediaExtractor.cpp')
-rw-r--r--media/libstagefright/MediaExtractor.cpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/media/libstagefright/MediaExtractor.cpp b/media/libstagefright/MediaExtractor.cpp
index 8a5fb11..ee03c52 100644
--- a/media/libstagefright/MediaExtractor.cpp
+++ b/media/libstagefright/MediaExtractor.cpp
@@ -24,6 +24,7 @@
#include "include/WAVExtractor.h"
#include "include/OggExtractor.h"
#include "include/MPEG2TSExtractor.h"
+#include "include/DRMExtractor.h"
#include "matroska/MatroskaExtractor.h"
@@ -63,6 +64,18 @@ sp<MediaExtractor> MediaExtractor::Create(
mime, confidence);
}
+ if (!strncmp(mime, "drm", 3)) {
+ char *originalMime = strrchr(mime, '+') + 1;
+
+ if (!strncmp(mime, "drm+es_based", 12)) {
+ return new DRMExtractor(source, originalMime);
+ } else if (!strncmp(mime, "drm+container_based", 19)) {
+ mime = originalMime;
+ } else {
+ return NULL;
+ }
+ }
+
if (!strcasecmp(mime, MEDIA_MIMETYPE_CONTAINER_MPEG4)
|| !strcasecmp(mime, "audio/mp4")) {
return new MPEG4Extractor(source);