diff options
author | Gloria Wang <gwang@google.com> | 2010-06-22 13:55:38 -0700 |
---|---|---|
committer | Gloria Wang <gwang@google.com> | 2010-10-25 12:16:56 -0700 |
commit | dcd25efb46c41c8d24a0a9cf61fb57f84149709e (patch) | |
tree | 6b6d165ba952924f1cd1b77f3a0903e5da31445a /media/libstagefright/MediaExtractor.cpp | |
parent | 2272ee27d9022d173b6eab45c409b3c3f57f30ec (diff) | |
download | frameworks_av-dcd25efb46c41c8d24a0a9cf61fb57f84149709e.zip frameworks_av-dcd25efb46c41c8d24a0a9cf61fb57f84149709e.tar.gz frameworks_av-dcd25efb46c41c8d24a0a9cf61fb57f84149709e.tar.bz2 |
DRM framework support:
- add a sniffer for DRM files
- add DRMSource and DRMExtractor for es_based DRM
- add pread in FileSource.cpp for container_based DRM
- add native DRM framework API calls in the player for
DRM audio/video playback
Change-Id: I4b9ef19165c9b4f44ff40eeededb9a665e78a90f
Diffstat (limited to 'media/libstagefright/MediaExtractor.cpp')
-rw-r--r-- | media/libstagefright/MediaExtractor.cpp | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/media/libstagefright/MediaExtractor.cpp b/media/libstagefright/MediaExtractor.cpp index 513f49c..a8019ee 100644 --- a/media/libstagefright/MediaExtractor.cpp +++ b/media/libstagefright/MediaExtractor.cpp @@ -23,6 +23,7 @@ #include "include/MPEG4Extractor.h" #include "include/WAVExtractor.h" #include "include/OggExtractor.h" +#include "include/DRMExtractor.h" #include <media/stagefright/DataSource.h> #include <media/stagefright/MediaDefs.h> @@ -57,6 +58,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); |