summaryrefslogtreecommitdiffstats
path: root/media/libstagefright/MetaData.cpp
diff options
context:
space:
mode:
authorAndreas Huber <andih@google.com>2009-10-08 10:07:49 -0700
committerAndreas Huber <andih@google.com>2009-10-12 16:00:07 -0700
commitfa8de752507feaca695123911915070c1ce463b2 (patch)
treed3b7356ba9c31848b41ea027f978524762741aa6 /media/libstagefright/MetaData.cpp
parentedb988128e5b14b46c692d19ea4f536d7daa7b39 (diff)
downloadframeworks_base-fa8de752507feaca695123911915070c1ce463b2.zip
frameworks_base-fa8de752507feaca695123911915070c1ce463b2.tar.gz
frameworks_base-fa8de752507feaca695123911915070c1ce463b2.tar.bz2
Change to a int64_t usecs representation for timestamps and duration throughout stagefright.
Diffstat (limited to 'media/libstagefright/MetaData.cpp')
-rw-r--r--media/libstagefright/MetaData.cpp19
1 files changed, 19 insertions, 0 deletions
diff --git a/media/libstagefright/MetaData.cpp b/media/libstagefright/MetaData.cpp
index 6b067cb..63b476e 100644
--- a/media/libstagefright/MetaData.cpp
+++ b/media/libstagefright/MetaData.cpp
@@ -58,6 +58,10 @@ bool MetaData::setInt32(uint32_t key, int32_t value) {
return setData(key, TYPE_INT32, &value, sizeof(value));
}
+bool MetaData::setInt64(uint32_t key, int64_t value) {
+ return setData(key, TYPE_INT64, &value, sizeof(value));
+}
+
bool MetaData::setFloat(uint32_t key, float value) {
return setData(key, TYPE_FLOAT, &value, sizeof(value));
}
@@ -94,6 +98,21 @@ bool MetaData::findInt32(uint32_t key, int32_t *value) {
return true;
}
+bool MetaData::findInt64(uint32_t key, int64_t *value) {
+ uint32_t type;
+ const void *data;
+ size_t size;
+ if (!findData(key, &type, &data, &size) || type != TYPE_INT64) {
+ return false;
+ }
+
+ CHECK_EQ(size, sizeof(*value));
+
+ *value = *(int64_t *)data;
+
+ return true;
+}
+
bool MetaData::findFloat(uint32_t key, float *value) {
uint32_t type;
const void *data;