diff options
Diffstat (limited to 'media/libstagefright/DataSource.cpp')
-rw-r--r-- | media/libstagefright/DataSource.cpp | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/media/libstagefright/DataSource.cpp b/media/libstagefright/DataSource.cpp index 49eac62..0b8997c 100644 --- a/media/libstagefright/DataSource.cpp +++ b/media/libstagefright/DataSource.cpp @@ -22,6 +22,7 @@ #include "include/MPEG2TSExtractor.h" #include "include/NuCachedSource2.h" #include "include/NuHTTPDataSource.h" +#include "include/DRMExtractor.h" #include "matroska/MatroskaExtractor.h" @@ -31,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) { @@ -104,6 +107,12 @@ void DataSource::RegisterDefaultSniffers() { RegisterSniffer(SniffAMR); RegisterSniffer(SniffMPEG2TS); RegisterSniffer(SniffMP3); + + char value[PROPERTY_VALUE_MAX]; + if (property_get("drm.service.enabled", value, NULL) + && (!strcmp(value, "1") || !strcasecmp(value, "true"))) { + RegisterSniffer(SniffDRM); + } } // static |