android: camera_metadata: Add method to update an entry
Add a method to update an existing metadata tag entry, by wrapping the update_metadata_entry() function provided by the Android metadata library. Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Jacopo Mondi <jacopo@jmondi.org>
This commit is contained in:
parent
3efc7e8834
commit
29b59a9146
2 changed files with 28 additions and 0 deletions
|
@ -46,6 +46,33 @@ bool CameraMetadata::addEntry(uint32_t tag, const void *data, size_t count)
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool CameraMetadata::updateEntry(uint32_t tag, const void *data, size_t count)
|
||||||
|
{
|
||||||
|
if (!valid_)
|
||||||
|
return false;
|
||||||
|
|
||||||
|
camera_metadata_entry_t entry;
|
||||||
|
int ret = find_camera_metadata_entry(metadata_, tag, &entry);
|
||||||
|
if (ret) {
|
||||||
|
const char *name = get_camera_metadata_tag_name(tag);
|
||||||
|
LOG(CameraMetadata, Error)
|
||||||
|
<< "Failed to update tag "
|
||||||
|
<< (name ? name : "<unknown>") << ": not present";
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
ret = update_camera_metadata_entry(metadata_, entry.index, data,
|
||||||
|
count, nullptr);
|
||||||
|
if (ret) {
|
||||||
|
const char *name = get_camera_metadata_tag_name(tag);
|
||||||
|
LOG(CameraMetadata, Error)
|
||||||
|
<< "Failed to update tag " << (name ? name : "<unknown>");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
camera_metadata_t *CameraMetadata::get()
|
camera_metadata_t *CameraMetadata::get()
|
||||||
{
|
{
|
||||||
return valid_ ? metadata_ : nullptr;
|
return valid_ ? metadata_ : nullptr;
|
||||||
|
|
|
@ -19,6 +19,7 @@ public:
|
||||||
|
|
||||||
bool isValid() const { return valid_; }
|
bool isValid() const { return valid_; }
|
||||||
bool addEntry(uint32_t tag, const void *data, size_t data_count);
|
bool addEntry(uint32_t tag, const void *data, size_t data_count);
|
||||||
|
bool updateEntry(uint32_t tag, const void *data, size_t data_count);
|
||||||
|
|
||||||
camera_metadata_t *get();
|
camera_metadata_t *get();
|
||||||
const camera_metadata_t *get() const;
|
const camera_metadata_t *get() const;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue