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 | 5544c66ba0aa789a997b376df503a5ffae425dc7 (patch) | |
tree | 1340a1e933a94542bf1a35ce3c8f667616234bca /media/libstagefright/NuMediaExtractor.cpp | |
parent | 4d2f2e8414df33337d4f09e5235719dfcc705674 (diff) | |
download | frameworks_av-5544c66ba0aa789a997b376df503a5ffae425dc7.zip frameworks_av-5544c66ba0aa789a997b376df503a5ffae425dc7.tar.gz frameworks_av-5544c66ba0aa789a997b376df503a5ffae425dc7.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); |