summaryrefslogtreecommitdiffstats
path: root/framesequence/jni/Registry.cpp
diff options
context:
space:
mode:
authorChris Craik <ccraik@android.com>2015-04-03 14:51:28 +0000
committerAndroid Git Automerger <android-git-automerger@android.com>2015-04-03 14:51:28 +0000
commit3b108af8b10f11a6186c130dcd1ab647369b1985 (patch)
treee1dd492aacd5956cbb432bc2dda7c7c60b0de717 /framesequence/jni/Registry.cpp
parentd9e79df27877ea2b7bf55044f4bde687f28a6ac5 (diff)
parent315c8a384c4ca2a5670b9eed407caa5dea6c1ce0 (diff)
downloadandroid_frameworks_ex-3b108af8b10f11a6186c130dcd1ab647369b1985.tar.gz
android_frameworks_ex-3b108af8b10f11a6186c130dcd1ab647369b1985.tar.bz2
android_frameworks_ex-3b108af8b10f11a6186c130dcd1ab647369b1985.zip
am 315c8a38: am d90222ba: Merge "Adding Bytebuffer support to rastermill library"
* commit '315c8a384c4ca2a5670b9eed407caa5dea6c1ce0': Adding Bytebuffer support to rastermill library
Diffstat (limited to 'framesequence/jni/Registry.cpp')
-rw-r--r--framesequence/jni/Registry.cpp27
1 files changed, 19 insertions, 8 deletions
diff --git a/framesequence/jni/Registry.cpp b/framesequence/jni/Registry.cpp
index 125ac66..e632bb2 100644
--- a/framesequence/jni/Registry.cpp
+++ b/framesequence/jni/Registry.cpp
@@ -34,15 +34,26 @@ Registry::Registry(const RegistryEntry& entry) {
const RegistryEntry* Registry::Find(Stream* stream) {
Registry* registry = gHead;
- int headerSize = gHeaderBytesRequired;
- char header[headerSize];
- headerSize = stream->peek(header, headerSize);
- while (registry) {
- if (headerSize >= registry->mImpl.requiredHeaderBytes
- && registry->mImpl.checkHeader(header, headerSize)) {
- return &(registry->mImpl);
+
+ if (stream->getRawBuffer() != NULL) {
+ while (registry) {
+ if (registry->mImpl.acceptsBuffer()) {
+ return &(registry->mImpl);
+ }
+ registry = registry->mNext;
+ }
+ } else {
+ int headerSize = gHeaderBytesRequired;
+ char header[headerSize];
+ headerSize = stream->peek(header, headerSize);
+ while (registry) {
+ if (headerSize >= registry->mImpl.requiredHeaderBytes
+ && registry->mImpl.checkHeader(header, headerSize)) {
+ return &(registry->mImpl);
+ }
+ registry = registry->mNext;
}
- registry = registry->mNext;
}
return 0;
}
+