summaryrefslogtreecommitdiffstats
path: root/include
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 /include
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 'include')
-rw-r--r--include/media/stagefright/DataSource.h8
-rw-r--r--include/media/stagefright/FileSource.h15
-rw-r--r--include/media/stagefright/MediaErrors.h2
-rw-r--r--include/media/stagefright/MediaExtractor.h6
-rw-r--r--include/media/stagefright/MetaData.h2
5 files changed, 33 insertions, 0 deletions
diff --git a/include/media/stagefright/DataSource.h b/include/media/stagefright/DataSource.h
index a3da3ed..d0b9fcd 100644
--- a/include/media/stagefright/DataSource.h
+++ b/include/media/stagefright/DataSource.h
@@ -25,6 +25,7 @@
#include <utils/List.h>
#include <utils/RefBase.h>
#include <utils/threads.h>
+#include <drm/DrmManagerClient.h>
namespace android {
@@ -73,6 +74,13 @@ public:
static void RegisterSniffer(SnifferFunc func);
static void RegisterDefaultSniffers();
+ // for DRM
+ virtual DecryptHandle* DrmInitialization(DrmManagerClient *client) {
+ return NULL;
+ }
+ virtual void getDrmInfo(DecryptHandle **handle, DrmManagerClient **client) {};
+
+
protected:
virtual ~DataSource() {}
diff --git a/include/media/stagefright/FileSource.h b/include/media/stagefright/FileSource.h
index 8a215ea..4307263 100644
--- a/include/media/stagefright/FileSource.h
+++ b/include/media/stagefright/FileSource.h
@@ -23,6 +23,7 @@
#include <media/stagefright/DataSource.h>
#include <media/stagefright/MediaErrors.h>
#include <utils/threads.h>
+#include <drm/DrmManagerClient.h>
namespace android {
@@ -37,15 +38,29 @@ public:
virtual status_t getSize(off_t *size);
+ virtual DecryptHandle* DrmInitialization(DrmManagerClient *client);
+
+ virtual void getDrmInfo(DecryptHandle **handle, DrmManagerClient **client);
+
protected:
virtual ~FileSource();
private:
FILE *mFile;
+ int mFd;
int64_t mOffset;
int64_t mLength;
Mutex mLock;
+ /*for DRM*/
+ DecryptHandle *mDecryptHandle;
+ DrmManagerClient *mDrmManagerClient;
+ int64_t mDrmBufOffset;
+ int64_t mDrmBufSize;
+ unsigned char *mDrmBuf;
+
+ ssize_t readAtDRM(off_t offset, void *data, size_t size);
+
FileSource(const FileSource &);
FileSource &operator=(const FileSource &);
};
diff --git a/include/media/stagefright/MediaErrors.h b/include/media/stagefright/MediaErrors.h
index e44122d..6df4d86 100644
--- a/include/media/stagefright/MediaErrors.h
+++ b/include/media/stagefright/MediaErrors.h
@@ -40,6 +40,8 @@ enum {
// Not technically an error.
INFO_FORMAT_CHANGED = MEDIA_ERROR_BASE - 12,
INFO_DISCONTINUITY = MEDIA_ERROR_BASE - 13,
+
+ ERROR_NO_LICENSE = MEDIA_ERROR_BASE - 14,
};
} // namespace android
diff --git a/include/media/stagefright/MediaExtractor.h b/include/media/stagefright/MediaExtractor.h
index 16b0a4c..a82106e 100644
--- a/include/media/stagefright/MediaExtractor.h
+++ b/include/media/stagefright/MediaExtractor.h
@@ -55,6 +55,12 @@ public:
// CAN_SEEK_BACKWARD | CAN_SEEK_FORWARD | CAN_SEEK | CAN_PAUSE
virtual uint32_t flags() const;
+ // for DRM
+ virtual void setDrmFlag(bool flag) {};
+ virtual char* getDrmTrackInfo(size_t trackID, int *len) {
+ return NULL;
+ }
+
protected:
MediaExtractor() {}
virtual ~MediaExtractor() {}
diff --git a/include/media/stagefright/MetaData.h b/include/media/stagefright/MetaData.h
index d2bd9f2..ac0624a 100644
--- a/include/media/stagefright/MetaData.h
+++ b/include/media/stagefright/MetaData.h
@@ -57,6 +57,8 @@ enum {
kKeyBufferID = 'bfID',
kKeyMaxInputSize = 'inpS',
kKeyThumbnailTime = 'thbT', // int64_t (usecs)
+ kKeyTrackID = 'trID',
+ kKeyIsDRM = 'idrm', // int32_t (bool)
kKeyAlbum = 'albu', // cstring
kKeyArtist = 'arti', // cstring