summaryrefslogtreecommitdiffstats
path: root/media/libstagefright/NuMediaExtractor.cpp
diff options
context:
space:
mode:
authorMarco Nelissen <marcone@google.com>2013-04-08 14:30:57 -0700
committerMarco Nelissen <marcone@google.com>2013-04-08 16:34:27 -0700
commitec77122351b4e78c1fe5b60a208f76baf8c67591 (patch)
tree98e93cfa582e1ebe7fa27dadacb2ce9d01f5d28c /media/libstagefright/NuMediaExtractor.cpp
parentb3a95a56f0adaf2b60ff164275487d1870442734 (diff)
downloadframeworks_av-ec77122351b4e78c1fe5b60a208f76baf8c67591.zip
frameworks_av-ec77122351b4e78c1fe5b60a208f76baf8c67591.tar.gz
frameworks_av-ec77122351b4e78c1fe5b60a208f76baf8c67591.tar.bz2
Add support for common encryption
b/7465749 Change-Id: I5403b74a5ae428ad28b382863a09daafc400b137
Diffstat (limited to 'media/libstagefright/NuMediaExtractor.cpp')
-rw-r--r--media/libstagefright/NuMediaExtractor.cpp28
1 files changed, 28 insertions, 0 deletions
diff --git a/media/libstagefright/NuMediaExtractor.cpp b/media/libstagefright/NuMediaExtractor.cpp
index 404fa94..7bc7da2 100644
--- a/media/libstagefright/NuMediaExtractor.cpp
+++ b/media/libstagefright/NuMediaExtractor.cpp
@@ -228,6 +228,34 @@ status_t NuMediaExtractor::getTrackFormat(
return convertMetaDataToMessage(meta, format);
}
+status_t NuMediaExtractor::getFileFormat(sp<AMessage> *format) const {
+ Mutex::Autolock autoLock(mLock);
+
+ *format = NULL;
+
+ if (mImpl == NULL) {
+ return -EINVAL;
+ }
+
+ sp<MetaData> meta = mImpl->getMetaData();
+
+ const char *mime;
+ CHECK(meta->findCString(kKeyMIMEType, &mime));
+ *format = new AMessage();
+ (*format)->setString("mime", mime);
+
+ uint32_t type;
+ const void *pssh;
+ size_t psshsize;
+ if (meta->findData(kKeyPssh, &type, &pssh, &psshsize)) {
+ sp<ABuffer> buf = new ABuffer(psshsize);
+ memcpy(buf->data(), pssh, psshsize);
+ (*format)->setBuffer("pssh", buf);
+ }
+
+ return OK;
+}
+
status_t NuMediaExtractor::selectTrack(size_t index) {
Mutex::Autolock autoLock(mLock);