summaryrefslogtreecommitdiff
path: root/internal/xmpmeta
diff options
context:
space:
mode:
Diffstat (limited to 'internal/xmpmeta')
-rw-r--r--internal/xmpmeta/base64.cc6
-rw-r--r--internal/xmpmeta/base64.h6
-rw-r--r--internal/xmpmeta/file.cc6
-rw-r--r--internal/xmpmeta/file.h6
-rw-r--r--internal/xmpmeta/jpeg_io.cc6
-rw-r--r--internal/xmpmeta/md5.cc9
-rw-r--r--internal/xmpmeta/xml/const.cc6
-rw-r--r--internal/xmpmeta/xml/const.h6
-rw-r--r--internal/xmpmeta/xml/deserializer.h6
-rw-r--r--internal/xmpmeta/xml/deserializer_impl.cc7
-rw-r--r--internal/xmpmeta/xml/deserializer_impl.h6
-rw-r--r--internal/xmpmeta/xml/search.cc8
-rw-r--r--internal/xmpmeta/xml/search.h6
-rw-r--r--internal/xmpmeta/xml/serializer.h6
-rw-r--r--internal/xmpmeta/xml/serializer_impl.cc6
-rw-r--r--internal/xmpmeta/xml/serializer_impl.h6
-rw-r--r--internal/xmpmeta/xml/utils.cc6
-rw-r--r--internal/xmpmeta/xml/utils.h6
-rw-r--r--internal/xmpmeta/xmp_const.cc6
-rw-r--r--internal/xmpmeta/xmp_data.cc6
-rw-r--r--internal/xmpmeta/xmp_parser.cc15
-rw-r--r--internal/xmpmeta/xmp_writer.cc58
22 files changed, 105 insertions, 94 deletions
diff --git a/internal/xmpmeta/base64.cc b/internal/xmpmeta/base64.cc
index 3bdf5d7..a87e654 100644
--- a/internal/xmpmeta/base64.cc
+++ b/internal/xmpmeta/base64.cc
@@ -3,7 +3,8 @@
#include "android-base/logging.h"
#include "strings/escaping.h"
-namespace photos_editing_formats {
+namespace dynamic_depth {
+namespace xmpmeta {
namespace {
bool EncodeBase64RawData(const uint8* data, size_t data_size, string* output) {
@@ -81,4 +82,5 @@ bool EncodeDoubleArrayBase64(const std::vector<double>& data, string* output) {
bool DecodeDoubleArrayBase64(const string& data, std::vector<double>* output) {
return InternalDecodeArrayBase64<double>(data, output);
}
-} // namespace photos_editing_formats
+} // namespace xmpmeta
+} // namespace dynamic_depth
diff --git a/internal/xmpmeta/base64.h b/internal/xmpmeta/base64.h
index 8439e90..285e3f1 100644
--- a/internal/xmpmeta/base64.h
+++ b/internal/xmpmeta/base64.h
@@ -7,7 +7,8 @@
#include "base/port.h"
-namespace photos_editing_formats {
+namespace dynamic_depth {
+namespace xmpmeta {
// Decodes the base64-encoded input range. Supports decoding of both web-safe
// and regular base64."Web-safe" base-64 replaces + with - and / with _, and
// omits trailing = padding characters.
@@ -34,6 +35,7 @@ bool EncodeDoubleArrayBase64(const std::vector<double>& data, string* output);
// Base64-decodes the given double array.
bool DecodeDoubleArrayBase64(const string& data, std::vector<double>* output);
-} // namespace photos_editing_formats
+} // namespace xmpmeta
+} // namespace dynamic_depth
#endif // DYNAMIC_DEPTH_INTERNAL_XMPMETA_BASE64_H_ // NOLINT
diff --git a/internal/xmpmeta/file.cc b/internal/xmpmeta/file.cc
index 5559219..621323c 100644
--- a/internal/xmpmeta/file.cc
+++ b/internal/xmpmeta/file.cc
@@ -3,7 +3,8 @@
#include <cstdio>
#include "android-base/logging.h"
-namespace photos_editing_formats {
+namespace dynamic_depth {
+namespace xmpmeta {
using std::string;
@@ -56,4 +57,5 @@ string JoinPath(const string& dirname, const string& basename) {
}
}
-} // namespace photos_editing_formats
+} // namespace xmpmeta
+} // namespace dynamic_depth
diff --git a/internal/xmpmeta/file.h b/internal/xmpmeta/file.h
index 43410b8..f6f8423 100644
--- a/internal/xmpmeta/file.h
+++ b/internal/xmpmeta/file.h
@@ -3,7 +3,8 @@
#include <string>
-namespace photos_editing_formats {
+namespace dynamic_depth {
+namespace xmpmeta {
void WriteStringToFileOrDie(const std::string &data,
const std::string &filename);
@@ -13,6 +14,7 @@ void ReadFileToStringOrDie(const std::string &filename, std::string *data);
// absolute path then JoinPath ignores dirname and simply returns basename.
std::string JoinPath(const std::string &dirname, const std::string &basename);
-} // namespace photos_editing_formats
+} // namespace xmpmeta
+} // namespace dynamic_depth
#endif // DYNAMIC_DEPTH_INTERNAL_XMPMETA_FILE_H_ // NOLINT
diff --git a/internal/xmpmeta/jpeg_io.cc b/internal/xmpmeta/jpeg_io.cc
index 5464cb8..385195e 100644
--- a/internal/xmpmeta/jpeg_io.cc
+++ b/internal/xmpmeta/jpeg_io.cc
@@ -5,7 +5,8 @@
#include "android-base/logging.h"
-namespace photos_editing_formats {
+namespace dynamic_depth {
+namespace xmpmeta {
namespace {
// File markers.
@@ -191,4 +192,5 @@ void WriteSections(const std::vector<Section>& sections,
}
}
-} // namespace photos_editing_formats
+} // namespace xmpmeta
+} // namespace dynamic_depth
diff --git a/internal/xmpmeta/md5.cc b/internal/xmpmeta/md5.cc
index 8c44267..8ee5e1b 100644
--- a/internal/xmpmeta/md5.cc
+++ b/internal/xmpmeta/md5.cc
@@ -7,7 +7,8 @@
#include "base/integral_types.h"
#include "strings/escaping.h"
-namespace photos_editing_formats {
+namespace dynamic_depth {
+namespace xmpmeta {
namespace {
const int kMd5DigestSize = 16;
@@ -134,7 +135,8 @@ void MD5Final(uint8 digest[16], MD5Context* ctx) {
// The core of the MD5 algorithm, this alters an existing MD5 hash to
// reflect the addition of 16 longwords of new data. MD5Update blocks
// the data and converts bytes into longwords for this routine.
-DDEPTH_NO_UNSIGNED_OVERFLOW_CHECK void MD5Transform(uint32 buf[4], const uint32 in[16]) {
+DDEPTH_NO_UNSIGNED_OVERFLOW_CHECK void MD5Transform(uint32 buf[4],
+ const uint32 in[16]) {
uint32 a = buf[0];
uint32 b = buf[1];
uint32 c = buf[2];
@@ -231,4 +233,5 @@ string MD5Hash(const string& to_hash) {
kMd5DigestSize);
}
-} // namespace photos_editing_formats
+} // namespace xmpmeta
+} // namespace dynamic_depth
diff --git a/internal/xmpmeta/xml/const.cc b/internal/xmpmeta/xml/const.cc
index 8f0eb5c..5af3c16 100644
--- a/internal/xmpmeta/xml/const.cc
+++ b/internal/xmpmeta/xml/const.cc
@@ -1,6 +1,7 @@
#include "xmpmeta/xml/const.h"
-namespace photos_editing_formats {
+namespace dynamic_depth {
+namespace xmpmeta {
namespace xml {
const char* XmlConst::EncodingStr() { return "UTF-8"; }
@@ -30,4 +31,5 @@ const char* XmlConst::Separator() { return ":"; }
const char* XmlConst::Version() { return "1.0"; }
} // namespace xml
-} // namespace photos_editing_formats
+} // namespace xmpmeta
+} // namespace dynamic_depth
diff --git a/internal/xmpmeta/xml/const.h b/internal/xmpmeta/xml/const.h
index 8a8a056..8a1998a 100644
--- a/internal/xmpmeta/xml/const.h
+++ b/internal/xmpmeta/xml/const.h
@@ -1,7 +1,8 @@
#ifndef DYNAMIC_DEPTH_INTERNAL_XMPMETA_XML_CONST_H_ // NOLINT
#define DYNAMIC_DEPTH_INTERNAL_XMPMETA_XML_CONST_H_ // NOLINT
-namespace photos_editing_formats {
+namespace dynamic_depth {
+namespace xmpmeta {
namespace xml {
struct XmlConst {
@@ -24,6 +25,7 @@ struct XmlConst {
};
} // namespace xml
-} // namespace photos_editing_formats
+} // namespace xmpmeta
+} // namespace dynamic_depth
#endif // DYNAMIC_DEPTH_INTERNAL_XMPMETA_XML_CONST_H_ // NOLINT
diff --git a/internal/xmpmeta/xml/deserializer.h b/internal/xmpmeta/xml/deserializer.h
index e717950..4624e1f 100644
--- a/internal/xmpmeta/xml/deserializer.h
+++ b/internal/xmpmeta/xml/deserializer.h
@@ -8,7 +8,8 @@
#include "base/integral_types.h"
#include "base/port.h"
-namespace photos_editing_formats {
+namespace dynamic_depth {
+namespace xmpmeta {
namespace xml {
// Performs deserialization.
@@ -60,6 +61,7 @@ class Deserializer {
};
} // namespace xml
-} // namespace photos_editing_formats
+} // namespace xmpmeta
+} // namespace dynamic_depth
#endif // DYNAMIC_DEPTH_INTERNAL_XMPMETA_XML_DESERIALIZER_H_ // NOLINT
diff --git a/internal/xmpmeta/xml/deserializer_impl.cc b/internal/xmpmeta/xml/deserializer_impl.cc
index 6214a0c..eb44d38 100644
--- a/internal/xmpmeta/xml/deserializer_impl.cc
+++ b/internal/xmpmeta/xml/deserializer_impl.cc
@@ -11,7 +11,8 @@
#include "xmpmeta/xml/utils.h"
#include "xmpmeta/xmp_parser.h"
-namespace photos_editing_formats {
+namespace dynamic_depth {
+namespace xmpmeta {
namespace xml {
namespace {
@@ -63,7 +64,6 @@ bool GetStringProperty(const xmlNodePtr node, const string& prefix,
return true;
}
}
- LOG(WARNING) << "Could not find string attribute: " << property;
return false;
}
@@ -318,4 +318,5 @@ bool DeserializerImpl::ParseDoubleArray(const string& prefix,
}
} // namespace xml
-} // namespace photos_editing_formats
+} // namespace xmpmeta
+} // namespace dynamic_depth
diff --git a/internal/xmpmeta/xml/deserializer_impl.h b/internal/xmpmeta/xml/deserializer_impl.h
index 65df2d6..426dcea 100644
--- a/internal/xmpmeta/xml/deserializer_impl.h
+++ b/internal/xmpmeta/xml/deserializer_impl.h
@@ -10,7 +10,8 @@
#include "base/port.h"
#include "xmpmeta/xml/deserializer.h"
-namespace photos_editing_formats {
+namespace dynamic_depth {
+namespace xmpmeta {
namespace xml {
// Deserializes an XML node.
@@ -88,6 +89,7 @@ class DeserializerImpl : public Deserializer {
};
} // namespace xml
-} // namespace photos_editing_formats
+} // namespace xmpmeta
+} // namespace dynamic_depth
#endif // DYNAMIC_DEPTH_INTERNAL_XMPMETA_XML_DESERIALIZER_IMPL_H_ // NOLINT
diff --git a/internal/xmpmeta/xml/search.cc b/internal/xmpmeta/xml/search.cc
index ca2e45c..c4fe8f9 100644
--- a/internal/xmpmeta/xml/search.cc
+++ b/internal/xmpmeta/xml/search.cc
@@ -6,9 +6,10 @@
#include "android-base/logging.h"
#include "xmpmeta/xml/utils.h"
-using photos_editing_formats::xml::FromXmlChar;
+using ::dynamic_depth::xmpmeta::xml::FromXmlChar;
-namespace photos_editing_formats {
+namespace dynamic_depth {
+namespace xmpmeta {
namespace xml {
xmlNodePtr DepthFirstSearch(const xmlDocPtr parent, const char* name) {
@@ -70,4 +71,5 @@ xmlNodePtr DepthFirstSearch(const xmlNodePtr parent, const char* prefix,
}
} // namespace xml
-} // namespace photos_editing_formats
+} // namespace xmpmeta
+} // namespace dynamic_depth
diff --git a/internal/xmpmeta/xml/search.h b/internal/xmpmeta/xml/search.h
index c420661..e32e272 100644
--- a/internal/xmpmeta/xml/search.h
+++ b/internal/xmpmeta/xml/search.h
@@ -4,7 +4,8 @@
#include <libxml/tree.h>
// Performs searches an XML tree.
-namespace photos_editing_formats {
+namespace dynamic_depth {
+namespace xmpmeta {
namespace xml {
// Depth-first search on the nodes in this XML doc.
@@ -31,6 +32,7 @@ xmlNodePtr DepthFirstSearch(const xmlNodePtr parent, const char* prefix,
const char* name);
} // namespace xml
-} // namespace photos_editing_formats
+} // namespace xmpmeta
+} // namespace dynamic_depth
#endif // DYNAMIC_DEPTH_INTERNAL_XMPMETA_XML_SEARCH_H_ // NOLINT
diff --git a/internal/xmpmeta/xml/serializer.h b/internal/xmpmeta/xml/serializer.h
index 9d35ad8..62f36f7 100644
--- a/internal/xmpmeta/xml/serializer.h
+++ b/internal/xmpmeta/xml/serializer.h
@@ -7,7 +7,8 @@
#include "base/port.h"
-namespace photos_editing_formats {
+namespace dynamic_depth {
+namespace xmpmeta {
namespace xml {
// Serializes properties for a hierarchy of objects.
@@ -71,6 +72,7 @@ class Serializer {
};
} // namespace xml
-} // namespace photos_editing_formats
+} // namespace xmpmeta
+} // namespace dynamic_depth
#endif // DYNAMIC_DEPTH_INTERNAL_XMPMETA_XML_SERIALIZER_H_ // NOLINT
diff --git a/internal/xmpmeta/xml/serializer_impl.cc b/internal/xmpmeta/xml/serializer_impl.cc
index c8a6038..0601d79 100644
--- a/internal/xmpmeta/xml/serializer_impl.cc
+++ b/internal/xmpmeta/xml/serializer_impl.cc
@@ -8,7 +8,8 @@
#include "xmpmeta/xml/const.h"
#include "xmpmeta/xml/utils.h"
-namespace photos_editing_formats {
+namespace dynamic_depth {
+namespace xmpmeta {
namespace xml {
// Methods specific to SerializerImpl.
@@ -244,4 +245,5 @@ bool SerializerImpl::WriteDoubleArray(const string& prefix,
}
} // namespace xml
-} // namespace photos_editing_formats
+} // namespace xmpmeta
+} // namespace dynamic_depth
diff --git a/internal/xmpmeta/xml/serializer_impl.h b/internal/xmpmeta/xml/serializer_impl.h
index 78131c5..fb53bec 100644
--- a/internal/xmpmeta/xml/serializer_impl.h
+++ b/internal/xmpmeta/xml/serializer_impl.h
@@ -8,7 +8,8 @@
#include "xmpmeta/xml/serializer.h"
-namespace photos_editing_formats {
+namespace dynamic_depth {
+namespace xmpmeta {
namespace xml {
// Writes properties, lists, and child nodes into an XML structure.
@@ -172,6 +173,7 @@ class SerializerImpl : public Serializer {
};
} // namespace xml
-} // namespace photos_editing_formats
+} // namespace xmpmeta
+} // namespace dynamic_depth
#endif // DYNAMIC_DEPTH_INTERNAL_XMPMETA_XML_SERIALIZER_IMPL_H_ // NOLINT
diff --git a/internal/xmpmeta/xml/utils.cc b/internal/xmpmeta/xml/utils.cc
index 87bf0b1..04721db 100644
--- a/internal/xmpmeta/xml/utils.cc
+++ b/internal/xmpmeta/xml/utils.cc
@@ -5,7 +5,8 @@
#include "xmpmeta/xml/const.h"
#include "xmpmeta/xml/search.h"
-namespace photos_editing_formats {
+namespace dynamic_depth {
+namespace xmpmeta {
namespace xml {
xmlNodePtr GetFirstDescriptionElement(const xmlDocPtr parent) {
@@ -74,4 +75,5 @@ const string XmlDocToString(const xmlDocPtr doc) {
}
} // namespace xml
-} // namespace photos_editing_formats
+} // namespace xmpmeta
+} // namespace dynamic_depth
diff --git a/internal/xmpmeta/xml/utils.h b/internal/xmpmeta/xml/utils.h
index f0f99e3..4995369 100644
--- a/internal/xmpmeta/xml/utils.h
+++ b/internal/xmpmeta/xml/utils.h
@@ -7,7 +7,8 @@
#include "base/port.h"
-namespace photos_editing_formats {
+namespace dynamic_depth {
+namespace xmpmeta {
namespace xml {
// Convenience function to convert an xmlChar* to a char*
@@ -49,6 +50,7 @@ const string GetLiNodeContent(xmlNodePtr node);
const string XmlDocToString(const xmlDocPtr doc);
} // namespace xml
-} // namespace photos_editing_formats
+} // namespace xmpmeta
+} // namespace dynamic_depth
#endif // DYNAMIC_DEPTH_INTERNAL_XMPMETA_XML_UTILS_H_ // NOLINT
diff --git a/internal/xmpmeta/xmp_const.cc b/internal/xmpmeta/xmp_const.cc
index 69fc3a9..003d2d1 100644
--- a/internal/xmpmeta/xmp_const.cc
+++ b/internal/xmpmeta/xmp_const.cc
@@ -1,6 +1,7 @@
#include "xmpmeta/xmp_const.h"
-namespace photos_editing_formats {
+namespace dynamic_depth {
+namespace xmpmeta {
// XMP namespace constants.
const char* XmpConst::Namespace() { return "adobe:ns:meta/"; }
@@ -35,4 +36,5 @@ const int XmpConst::MaxBufferSize() { return 65502; }
const int XmpConst::ExtendedMaxBufferSize() { return 65458; }
-} // namespace photos_editing_formats
+} // namespace xmpmeta
+} // namespace dynamic_depth
diff --git a/internal/xmpmeta/xmp_data.cc b/internal/xmpmeta/xmp_data.cc
index 046052b..45ad585 100644
--- a/internal/xmpmeta/xmp_data.cc
+++ b/internal/xmpmeta/xmp_data.cc
@@ -1,6 +1,7 @@
#include "xmpmeta/xmp_data.h"
-namespace photos_editing_formats {
+namespace dynamic_depth {
+namespace xmpmeta {
XmpData::XmpData() : xmp_(nullptr), xmp_extended_(nullptr) {}
@@ -25,4 +26,5 @@ const xmlDocPtr XmpData::ExtendedSection() const { return xmp_extended_; }
xmlDocPtr* XmpData::MutableExtendedSection() { return &xmp_extended_; }
-} // namespace photos_editing_formats
+} // namespace xmpmeta
+} // namespace dynamic_depth
diff --git a/internal/xmpmeta/xmp_parser.cc b/internal/xmpmeta/xmp_parser.cc
index 4ce8991..a0065fd 100644
--- a/internal/xmpmeta/xmp_parser.cc
+++ b/internal/xmpmeta/xmp_parser.cc
@@ -16,12 +16,13 @@
#include "xmpmeta/xml/utils.h"
#include "xmpmeta/xmp_const.h"
-using photos_editing_formats::xml::DepthFirstSearch;
-using photos_editing_formats::xml::DeserializerImpl;
-using photos_editing_formats::xml::FromXmlChar;
-using photos_editing_formats::xml::GetFirstDescriptionElement;
+using ::dynamic_depth::xmpmeta::xml::DepthFirstSearch;
+using ::dynamic_depth::xmpmeta::xml::DeserializerImpl;
+using ::dynamic_depth::xmpmeta::xml::FromXmlChar;
+using ::dynamic_depth::xmpmeta::xml::GetFirstDescriptionElement;
-namespace photos_editing_formats {
+namespace dynamic_depth {
+namespace xmpmeta {
namespace {
const char kJpgExtension[] = "jpg";
@@ -235,7 +236,6 @@ bool GetStringProperty(const xmlNodePtr node, const char* prefix,
return true;
}
}
- LOG(WARNING) << "Could not find string attribute: " << property;
return false;
}
@@ -330,4 +330,5 @@ bool ReadXmpHeader(std::istream* input_stream, bool skip_extended,
return ExtractXmpMeta(skip_extended, input_stream, xmp_data);
}
-} // namespace photos_editing_formats
+} // namespace xmpmeta
+} // namespace dynamic_depth
diff --git a/internal/xmpmeta/xmp_writer.cc b/internal/xmpmeta/xmp_writer.cc
index 73e5a65..fc78ad1 100644
--- a/internal/xmpmeta/xmp_writer.cc
+++ b/internal/xmpmeta/xmp_writer.cc
@@ -18,11 +18,13 @@
#include "xmpmeta/xmp_data.h"
#include "xmpmeta/xmp_parser.h"
-using photos_editing_formats::xml::FromXmlChar;
-using photos_editing_formats::xml::ToXmlChar;
-using photos_editing_formats::xml::XmlConst;
+using ::dynamic_depth::xmpmeta::xml::FromXmlChar;
+using ::dynamic_depth::xmpmeta::xml::GetFirstDescriptionElement;
+using ::dynamic_depth::xmpmeta::xml::ToXmlChar;
+using ::dynamic_depth::xmpmeta::xml::XmlConst;
-namespace photos_editing_formats {
+namespace dynamic_depth {
+namespace xmpmeta {
namespace {
const char kXmlStartTag = '<';
@@ -249,8 +251,7 @@ bool UpdateSections(const string& main_buffer, const string& extended_buffer,
void LinkXmpStandardAndExtendedSections(const string& extended_buffer,
xmlDocPtr standard_section) {
- xmlNodePtr description_node =
- xml::GetFirstDescriptionElement(standard_section);
+ xmlNodePtr description_node = GetFirstDescriptionElement(standard_section);
xmlNsPtr xmp_note_ns_ptr =
xmlNewNs(description_node, ToXmlChar(XmpConst::NoteNamespace()),
ToXmlChar(XmpConst::HasExtensionPrefix()));
@@ -277,15 +278,15 @@ bool WriteLeftEyeAndXmpMeta(const string& left_data, const string& filename,
std::istringstream input_jpeg_stream(left_data);
std::ofstream output_jpeg_stream;
output_jpeg_stream.open(filename, std::ostream::out);
- bool success = WriteLeftEyeAndXmpMeta(filename, xmp_data, &input_jpeg_stream,
- &output_jpeg_stream);
+ bool success =
+ WriteLeftEyeAndXmpMeta(xmp_data, &input_jpeg_stream, &output_jpeg_stream);
output_jpeg_stream.close();
return success;
}
-bool WriteLeftEyeAndXmpMeta(const string& filename, const XmpData& xmp_data,
- std::istringstream* input_jpeg_stream,
- std::ofstream* output_jpeg_stream) {
+bool WriteLeftEyeAndXmpMeta(const XmpData& xmp_data,
+ std::istream* input_jpeg_stream,
+ std::ostream* output_jpeg_stream) {
if (input_jpeg_stream == nullptr || output_jpeg_stream == nullptr) {
LOG(ERROR) << "Input and output streams must both be non-null";
return false;
@@ -311,40 +312,9 @@ bool WriteLeftEyeAndXmpMeta(const string& filename, const XmpData& xmp_data,
return false;
}
- // Write the sections to the output stream.
- if (!output_jpeg_stream->is_open()) {
- output_jpeg_stream->open(filename, std::ostream::out);
- }
-
- WriteSections(sections, output_jpeg_stream);
- return true;
-}
-
-bool AddXmpMetaToJpegStream(std::istream* input_jpeg_stream,
- const XmpData& xmp_data,
- std::ostream* output_jpeg_stream) {
- // Get a list of sections from the input stream.
- ParseOptions parse_options;
- std::vector<Section> sections = Parse(parse_options, input_jpeg_stream);
-
- string extended_buffer;
- if (xmp_data.ExtendedSection() != nullptr) {
- SerializeMeta(xmp_data.ExtendedSection(), &extended_buffer);
- LinkXmpStandardAndExtendedSections(extended_buffer,
- xmp_data.StandardSection());
- }
- string main_buffer;
- SerializeMeta(xmp_data.StandardSection(), &main_buffer);
-
- // Update the input sections with the XMP data.
- if (!XmpSectionsAndSerializedDataValid(xmp_data, main_buffer,
- extended_buffer) ||
- !UpdateSections(main_buffer, extended_buffer, &sections)) {
- return false;
- }
-
WriteSections(sections, output_jpeg_stream);
return true;
}
-} // namespace photos_editing_formats
+} // namespace xmpmeta
+} // namespace dynamic_depth