summaryrefslogtreecommitdiffstats
path: root/media/libstagefright/include/MPEG4Extractor.h
diff options
context:
space:
mode:
authorGloria Wang <gwang@google.com>2010-06-22 13:55:38 -0700
committerGloria Wang <gwang@google.com>2010-10-25 12:16:56 -0700
commitdcd25efb46c41c8d24a0a9cf61fb57f84149709e (patch)
tree6b6d165ba952924f1cd1b77f3a0903e5da31445a /media/libstagefright/include/MPEG4Extractor.h
parent2272ee27d9022d173b6eab45c409b3c3f57f30ec (diff)
downloadframeworks_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/include/MPEG4Extractor.h')
-rw-r--r--media/libstagefright/include/MPEG4Extractor.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/media/libstagefright/include/MPEG4Extractor.h b/media/libstagefright/include/MPEG4Extractor.h
index c8663d5..849bc89 100644
--- a/media/libstagefright/include/MPEG4Extractor.h
+++ b/media/libstagefright/include/MPEG4Extractor.h
@@ -38,6 +38,10 @@ public:
virtual sp<MetaData> getMetaData();
+ // for DRM
+ virtual void setDrmFlag(bool flag);
+ virtual char* getDrmTrackInfo(size_t trackID, int *len);
+
protected:
virtual ~MPEG4Extractor();
@@ -70,6 +74,19 @@ private:
static status_t verifyTrack(Track *track);
+ struct SINF {
+ SINF *next;
+ uint16_t trackID;
+ uint8_t IPMPDescriptorID;
+ ssize_t len;
+ char *IPMPData;
+ };
+
+ SINF *mFirstSINF;
+
+ bool mIsDrm;
+ status_t parseDrmSINF(off_t *offset, off_t data_offset);
+
MPEG4Extractor(const MPEG4Extractor &);
MPEG4Extractor &operator=(const MPEG4Extractor &);
};