[SCM] exiv2 packaging branch, master, updated. debian/0.25-3.1-3734-gdcbc29a
Maximiliano Curia
maxy at moszumanska.debian.org
Thu Jul 13 17:43:25 UTC 2017
Gitweb-URL: http://git.debian.org/?p=pkg-kde/kde-extras/exiv2.git;a=commitdiff;h=4c45d25
The following commit has been merged in the master branch:
commit 4c45d2563b9c806a24bbebf032a8735474b293d3
Author: Abhinav Badola <mail.abu.to at gmail.com>
Date: Mon Oct 1 22:10:24 2012 +0000
#813: Corrected a minor size glitche in riffvideo.cpp
---
src/asfvideo.cpp | 6 ++++--
src/matroskavideo.cpp | 1 +
src/quicktimevideo.cpp | 32 +++++++++++++++++++++++++++-----
src/quicktimevideo.hpp | 6 ++++++
src/riffvideo.cpp | 2 +-
5 files changed, 39 insertions(+), 8 deletions(-)
diff --git a/src/asfvideo.cpp b/src/asfvideo.cpp
index 197d8b4..fecb5a2 100644
--- a/src/asfvideo.cpp
+++ b/src/asfvideo.cpp
@@ -356,10 +356,12 @@ namespace Exiv2 {
std::memset(buf.pData_, 0x0, buf.size_);
io_->read(buf.pData_, 8);
- size = static_cast<long>(getUint64_t(buf));
+ size = static_cast<unsigned long>(getUint64_t(buf));
- if(tv)
+ if(tv) {
+ std::cerr<<"
"<<std::setw(40)<<tv->label_<<"=>"<<std::setw(5)<<size;
tagDecoder(tv,size-24);
+ }
else
io_->seek(cur_pos + size, BasicIo::beg);
diff --git a/src/matroskavideo.cpp b/src/matroskavideo.cpp
index 54409ca..d9cafcb 100644
--- a/src/matroskavideo.cpp
+++ b/src/matroskavideo.cpp
@@ -548,6 +548,7 @@ namespace Exiv2 {
if (skip && !ignore) return;
const uint64_t bufMinSize = 200;
+
#ifndef SUPPRESS_WARNINGS
if (!ignore && size > bufMinSize) {
EXV_WARNING << "Size " << size << " of Matroska tag 0x"
diff --git a/src/quicktimevideo.cpp b/src/quicktimevideo.cpp
index 5a05ad3..0b82b5e 100644
--- a/src/quicktimevideo.cpp
+++ b/src/quicktimevideo.cpp
@@ -535,11 +535,12 @@ namespace Exiv2 {
@return Returns true, if Tag is found in the ignoreList[]
*/
bool dataIgnoreList (Exiv2::DataBuf& buf) {
- const char ignoreList[7][5] = {
+ const char ignoreList[8][5] = {
"moov", "mdia", "minf", "dinf", "alis", "stbl", "cmov",
+ "meta",
};
- for(int i = 0 ; i < 7 ; ++i)
+ for(int i = 0 ; i < 8 ; ++i)
if(equalsQTimeTag(buf, ignoreList[i]))
return true;
@@ -666,7 +667,7 @@ namespace Exiv2 {
io_->read(buf.pData_, 4);
if(size < 8)
return;
-// std::cerr<<"
("<<std::setw(5)<<size<<") :" << buf.pData_;
+ std::cerr<<"
("<<std::setw(5)<<size<<") :" << buf.pData_;
tagDecoder(buf,size-8);
} // QuickTimeVideo::decodeBlock
@@ -717,6 +718,9 @@ namespace Exiv2 {
else if (equalsQTimeTag(buf, "tapt"))
trackApertureTagDecoder(size);
+ else if (equalsQTimeTag(buf, "keys"))
+ keysTagDecoder(size);
+
else if (equalsQTimeTag(buf, "url ")) {
io_->read(buf.pData_, size);
if (currentStream_ == Video)
@@ -745,7 +749,7 @@ namespace Exiv2 {
}
else {
-// std::cerr<<" Unprocessed";
+ std::cerr<<" Unprocessed";
discard(size);
}
} // QuickTimeVideo::tagDecoder
@@ -774,6 +778,24 @@ namespace Exiv2 {
io_->seek(cur_pos + size, BasicIo::beg);
} // QuickTimeVideo::previewTagDecoder
+ void QuickTimeVideo::keysTagDecoder(unsigned long size)
+ {
+ DataBuf buf(4);
+ uint64_t cur_pos = io_->tell();
+ io_->read(buf.pData_, 4);
+ xmpData_["Xmp.video.PreviewDate"] = getULong(buf.pData_, bigEndian);
+ io_->read(buf.pData_, 2);
+ xmpData_["Xmp.video.PreviewVersion"] = getShort(buf.pData_, bigEndian);
+
+ io_->read(buf.pData_, 4);
+ if(equalsQTimeTag(buf, "PICT"))
+ xmpData_["Xmp.video.PreviewAtomType"] = "QuickDraw Picture";
+ else
+ xmpData_["Xmp.video.PreviewAtomType"] = Exiv2::toString(buf.pData_);
+
+ io_->seek(cur_pos + size, BasicIo::beg);
+ } // QuickTimeVideo::keysTagDecoder
+
void QuickTimeVideo::trackApertureTagDecoder(unsigned long size)
{
DataBuf buf(4), buf2(2);
@@ -878,7 +900,7 @@ namespace Exiv2 {
td = find(userDatatags, Exiv2::toString( buf.pData_));
tv = find(userDataReferencetags, Exiv2::toString( buf.pData_));
-// std::cerr<<" =>("<<size<<") "<<buf.pData_;
+ std::cerr<<" =>("<<size<<") "<<buf.pData_;
if(size == 0 || (size - 12) <= 0)
break;
diff --git a/src/quicktimevideo.hpp b/src/quicktimevideo.hpp
index e9cd95e..ea89fa2 100644
--- a/src/quicktimevideo.hpp
+++ b/src/quicktimevideo.hpp
@@ -162,6 +162,12 @@ namespace Exiv2 {
*/
void previewTagDecoder(unsigned long size);
/*!
+ @brief Interpret Meta Keys Tags, and save it
+ in the respective XMP container.
+ @param size Size of the data block used to store Tag Information.
+ */
+ void keysTagDecoder(unsigned long size);
+ /*!
@brief Interpret Track Aperture Tags, and save it
in the respective XMP container.
@param size Size of the data block used to store Tag Information.
diff --git a/src/riffvideo.cpp b/src/riffvideo.cpp
index 93e118f..8772906 100644
--- a/src/riffvideo.cpp
+++ b/src/riffvideo.cpp
@@ -537,7 +537,7 @@ namespace Exiv2 {
const long bufMinSize = 4;
DataBuf buf(bufMinSize);
- buf.pData_[3] = '
--
exiv2 packaging
More information about the pkg-kde-commits
mailing list