diff options
author | Marco Nelissen <marcone@google.com> | 2013-04-08 14:30:57 -0700 |
---|---|---|
committer | Marco Nelissen <marcone@google.com> | 2013-04-08 16:34:27 -0700 |
commit | ec77122351b4e78c1fe5b60a208f76baf8c67591 (patch) | |
tree | 98e93cfa582e1ebe7fa27dadacb2ce9d01f5d28c /media/libstagefright/NuMediaExtractor.cpp | |
parent | b3a95a56f0adaf2b60ff164275487d1870442734 (diff) | |
download | frameworks_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.cpp | 28 |
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); |