20 Commits

Author SHA1 Message Date
Moritz Bunkus
752cf42082 Release v1.2.2
git-svn-id: https://matroska.svn.sourceforge.net/svnroot/matroska/tags/libebml/libebml-1.2.2@813 a6f86f6d-0131-4f8e-9e7b-e335508773d5
2011-09-23 11:55:57 +00:00
Moritz Bunkus
f9489f1f80 changelog update, version number updates
git-svn-id: https://matroska.svn.sourceforge.net/svnroot/matroska/trunk/libebml@811 a6f86f6d-0131-4f8e-9e7b-e335508773d5
2011-09-23 11:26:59 +00:00
Moritz Bunkus
9a31b3864c Move definition of EbmlCodeVersion into the library
git-svn-id: https://matroska.svn.sourceforge.net/svnroot/matroska/trunk/libebml@803 a6f86f6d-0131-4f8e-9e7b-e335508773d5
2011-09-11 09:03:43 +00:00
Steve Lhomme
2490c80ad1 libebml: fix the Debug class use
git-svn-id: https://matroska.svn.sourceforge.net/svnroot/matroska/trunk/libebml@796 a6f86f6d-0131-4f8e-9e7b-e335508773d5
2011-09-09 04:00:42 +00:00
Steve Lhomme
5eea000814 libebml: also update the coremake project
git-svn-id: https://matroska.svn.sourceforge.net/svnroot/matroska/trunk/libebml@789 a6f86f6d-0131-4f8e-9e7b-e335508773d5
2011-07-15 13:40:26 +00:00
Steve Lhomme
527f98c367 libebml: only use the test element to read once in the loop
git-svn-id: https://matroska.svn.sourceforge.net/svnroot/matroska/trunk/libebml@788 a6f86f6d-0131-4f8e-9e7b-e335508773d5
2011-07-15 13:31:03 +00:00
Moritz Bunkus
ef72dc1bae Version number bump in spec files
git-svn-id: https://matroska.svn.sourceforge.net/svnroot/matroska/trunk/libebml@766 a6f86f6d-0131-4f8e-9e7b-e335508773d5
2011-06-26 18:13:26 +00:00
Moritz Bunkus
84f17676f0 Release date update
git-svn-id: https://matroska.svn.sourceforge.net/svnroot/matroska/trunk/libebml@762 a6f86f6d-0131-4f8e-9e7b-e335508773d5
2011-06-26 17:39:25 +00:00
Moritz Bunkus
54782a8ee9 Bumped version number in Debian changelog
git-svn-id: https://matroska.svn.sourceforge.net/svnroot/matroska/trunk/libebml@759 a6f86f6d-0131-4f8e-9e7b-e335508773d5
2011-06-15 11:58:26 +00:00
Steve Lhomme
7922aef03d libebml: code cleaning
git-svn-id: https://matroska.svn.sourceforge.net/svnroot/matroska/trunk/libebml@757 a6f86f6d-0131-4f8e-9e7b-e335508773d5
2011-06-12 09:51:25 +00:00
Steve Lhomme
83cc857424 update the version headers
git-svn-id: https://matroska.svn.sourceforge.net/svnroot/matroska/trunk/libebml@756 a6f86f6d-0131-4f8e-9e7b-e335508773d5
2011-06-12 09:21:05 +00:00
Steve Lhomme
8200c78a85 libebml: update the ChangeLog for a pending release
git-svn-id: https://matroska.svn.sourceforge.net/svnroot/matroska/trunk/libebml@755 a6f86f6d-0131-4f8e-9e7b-e335508773d5
2011-06-12 09:20:21 +00:00
Steve Lhomme
f2545cc6d7 libebml: fix the size returned by MemIOCallback::read() when reaching the end of the buffer
git-svn-id: https://matroska.svn.sourceforge.net/svnroot/matroska/trunk/libebml@747 a6f86f6d-0131-4f8e-9e7b-e335508773d5
2011-04-26 17:14:24 +00:00
Steve Lhomme
81b5b9ff60 libebml: fix the constructor of CRTError (path from Graham 'gbooker' Booker)
git-svn-id: https://matroska.svn.sourceforge.net/svnroot/matroska/trunk/libebml@746 a6f86f6d-0131-4f8e-9e7b-e335508773d5
2011-04-14 07:40:25 +00:00
Steve Lhomme
c064df6936 libebml: add a macro to define signed integer elements that have a default value
git-svn-id: https://matroska.svn.sourceforge.net/svnroot/matroska/trunk/libebml@722 a6f86f6d-0131-4f8e-9e7b-e335508773d5
2011-03-27 16:43:10 +00:00
Moritz Bunkus
a828485b74 Updated the "Section" entries in the Debian package file
git-svn-id: https://matroska.svn.sourceforge.net/svnroot/matroska/trunk/libebml@716 a6f86f6d-0131-4f8e-9e7b-e335508773d5
2011-03-25 10:48:24 +00:00
Steve Lhomme
676d1ba310 libebml: fix compilation of debug builds under win32
git-svn-id: https://matroska.svn.sourceforge.net/svnroot/matroska/trunk/libebml@708 a6f86f6d-0131-4f8e-9e7b-e335508773d5
2011-03-20 17:33:49 +00:00
Moritz Bunkus
9ff9decf8c Include <string> headers when std::string is used
git-svn-id: https://matroska.svn.sourceforge.net/svnroot/matroska/trunk/libebml@672 a6f86f6d-0131-4f8e-9e7b-e335508773d5
2011-02-05 21:26:49 +00:00
Moritz Bunkus
3a490a84ce Avoid compiler warnings due to differences in signs in comparisons
git-svn-id: https://matroska.svn.sourceforge.net/svnroot/matroska/trunk/libebml@671 a6f86f6d-0131-4f8e-9e7b-e335508773d5
2011-02-05 21:15:22 +00:00
Moritz Bunkus
d70416282f Use an explicit cast to std::string; fixes compilation with Sun Studio C compiler
git-svn-id: https://matroska.svn.sourceforge.net/svnroot/matroska/trunk/libebml@670 a6f86f6d-0131-4f8e-9e7b-e335508773d5
2011-02-05 21:11:28 +00:00
17 changed files with 111 additions and 72 deletions

View File

@@ -1,3 +1,17 @@
2011-09-23 robux4/mosu
New 1.2.2 version:
- fix usage of the DEBUG #define (use LIBEBML_DEBUG instead)
- The EbmlCodeVersion variable now resides in the library instead of being declared static in the header file.
- only use the test element to read once in the loop
2011-06-26 robux4/mosu
New 1.2.1 version:
- fix the constructor of CRTError in StdIOCallback (patch from Graham 'gbooker' Booker)
- fix the size returned by MemIOCallback::read() when reaching the end of the buffer
- add a macro to define signed integer elements that have a default value
- fix compilation of debug builds on win32
- fix for Sun Studio C compiler
2011-01-30 robux4/mosu
New 1.2.0 version:
- no need to put the internal code of EbmlCrc32 in the public header

12
debian/changelog vendored
View File

@@ -1,3 +1,15 @@
libebml (1.2.2-1) natty; urgency=low
* New version.
-- Moritz Bunkus <moritz@bunkus.org> Fri, 23 Sep 2011 13:22:24 +0200
libebml (1.2.1-1) natty; urgency=low
* New version.
-- Moritz Bunkus <moritz@bunkus.org> Wed, 15 Jun 2011 13:55:50 +0200
libebml (1.2.0-1) lucid; urgency=low
* New version.

3
debian/control vendored
View File

@@ -3,9 +3,10 @@ Priority: optional
Maintainer: Moritz Bunkus <moritz@bunkus.org>
Build-Depends: debhelper (>> 3.0.0)
Standards-Version: 3.5.8
Section: libs
Package: libebml-dev
Section: devel
Section: libdevel
Architecture: any
Depends: ${shlibs:Depends}
Description: Extensible Binary Meta Language access library

View File

@@ -52,7 +52,7 @@ START_LIBEBML_NAMESPACE
static const int MAX_PREFIX_LENGTH = 128;
#if defined(DEBUG)
#if defined(LIBEBML_DEBUG)
// define the working debugging class
class EBML_DLL_API ADbg
@@ -102,7 +102,7 @@ private:
#endif // WIN32
};
#else // defined(DEBUG)
#else // defined(LIBEBML_DEBUG)
// define a class that does nothing (no output)
@@ -145,7 +145,7 @@ public:
}
};
#endif // defined(DEBUG)
#endif // defined(LIBEBML_DEBUG)
extern class EBML_DLL_API ADbg globalDebug;

View File

@@ -96,7 +96,7 @@
// The LIBEBML_DEBUG symbol is defined, when we are creating a debug build. In this
// case the debug logging code is compiled in.
#if (defined(DEBUG)||defined(_DEBUG))&&!defined(LIBEBML_DEBUG)
#if (defined(DEBUG)||defined(_DEBUG)) && !defined(LIBEBML_DEBUG)
#define LIBEBML_DEBUG
#endif

View File

@@ -116,6 +116,12 @@ extern const EbmlSemanticContext Context_EbmlGlobal;
const EbmlCallbacks x::ClassInfos(x::Create, Id_##x, name, Context_##x); \
x::x() :EbmlUInteger(defval) {}
#define DEFINE_xxx_SINTEGER_DEF(x,id,idl,parent,name,global,defval) \
const EbmlId Id_##x (id, idl); \
const EbmlSemanticContext Context_##x = EbmlSemanticContext(0, NULL, &Context_##parent, global, &EBML_INFO(x)); \
const EbmlCallbacks x::ClassInfos(x::Create, Id_##x, name, Context_##x); \
x::x() :EbmlSInteger(defval) {}
#define DEFINE_xxx_STRING_DEF(x,id,idl,parent,name,global,defval) \
const EbmlId Id_##x (id, idl); \
const EbmlSemanticContext Context_##x = EbmlSemanticContext(0, NULL, &Context_##parent, global, &EBML_INFO(x)); \

View File

@@ -42,10 +42,10 @@
START_LIBEBML_NAMESPACE
#define LIBEBML_VERSION 0x010200
#define LIBEBML_VERSION 0x010202
static const std::string EbmlCodeVersion = "1.2.0";
static const std::string EbmlCodeDate = __TIMESTAMP__;
extern const std::string EbmlCodeVersion;
extern const std::string EbmlCodeDate;
/*!
\todo Closer relation between an element and the context it comes from (context is an element attribute ?)

View File

@@ -2,7 +2,7 @@
LIB ebml
{
PROJECT_VERSION 1.2.0
PROJECT_VERSION 1.2.2
INCLUDE .
EXPINCLUDE .
@@ -14,7 +14,7 @@ LIB ebml
REDUCE_SIZE .
FASTER_FLOAT .
// SOURCE src/Debug.cpp
SOURCE src/Debug.cpp
SOURCE src/EbmlBinary.cpp
SOURCE src/EbmlContexts.cpp
SOURCE src/EbmlCrc32.cpp
@@ -38,7 +38,7 @@ LIB ebml
SOURCE(TARGET_WIN) src/platform/win32/WinIOCallback.cpp
HEADER(TARGET_WIN) src/platform/win32/WinIOCallback.h
// HEADER ebml/Debug.h
HEADER ebml/Debug.h
HEADER ebml/EbmlBinary.h
HEADER ebml/EbmlConfig.h
HEADER ebml/EbmlContexts.h

View File

@@ -1,7 +1,7 @@
# SPEC file for libebml on (at least) Fedora Core 1, 2, 3
Name: libebml
Version: 1.2.0
Version: 1.2.2
Release: 1
License: LGPL
Summary: Extensible Binary Meta Language

View File

@@ -14,7 +14,7 @@ BuildRequires: bzip2 cpp make tar zlib zlib-devel binutils gcc gcc-c++ libstdc++
Name: libebml
URL: http://sourceforge.net/projects/ebml
Version: 1.2.0
Version: 1.2.2
Release: 1
Summary: libary to parse EBML files.
License: LGPL

View File

@@ -49,7 +49,7 @@ START_LIBEBML_NAMESPACE
class ADbg globalDebug;
#if defined(DEBUG)
#if defined(LIBEBML_DEBUG)
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
@@ -232,6 +232,6 @@ bool ADbg::unsetDebugFile() {
return result;
}
#endif // defined(DEBUG)
#endif // defined(LIBEBML_DEBUG)
END_LIBEBML_NAMESPACE

View File

@@ -35,6 +35,7 @@
\author Julien Coloos <suiryc @ users.sf.net>
*/
#include <cassert>
#include <string>
#include "ebml/EbmlBinary.h"
#include "ebml/StdIOCallback.h"
@@ -91,9 +92,9 @@ filepos_t EbmlBinary::ReadData(IOCallback & input, ScopeMode ReadFully)
return GetSize();
}
Data = (binary *)malloc(GetSize() * sizeof(binary));
Data = (binary *)malloc(GetSize());
if (Data == NULL)
throw CRTError("Error allocating data");
throw CRTError(std::string("Error allocating data"));
SetValueIsSet();
return input.read(Data, GetSize());
}

View File

@@ -49,7 +49,7 @@ START_LIBEBML_NAMESPACE
*/
int CodedSizeLength(uint64 Length, unsigned int SizeLength, bool bSizeFinite)
{
int CodedSize;
unsigned int CodedSize;
if (bSizeFinite) {
// prepare the head of the size (000...01xxxxxx)
// optimal size
@@ -486,6 +486,7 @@ EbmlElement * EbmlElement::SkipData(EbmlStream & DataStream, const EbmlSemanticC
Result = DataStream.FindNextElement(Context, bUpperElement, 0xFFFFFFFFL, AllowDummyElt);
} else {
Result = TestReadElt;
TestReadElt = NULL;
}
if (Result != NULL) {
@@ -581,14 +582,14 @@ filepos_t EbmlElement::Render(IOCallback & output, bool bWithDefault, bool bKeep
if (!bWithDefault && IsDefaultValue()) {
return 0;
}
#if defined(_DEBUG) || defined(DEBUG)
#if defined(LIBEBML_DEBUG)
uint64 SupposedSize = UpdateSize(bWithDefault, bForceRender);
#endif // _DEBUG
#endif // LIBEBML_DEBUG
filepos_t result = RenderHead(output, bForceRender, bWithDefault, bKeepPosition);
uint64 WrittenSize = RenderData(output, bForceRender, bWithDefault);
#if defined(_DEBUG) || defined(DEBUG)
if (SupposedSize != (0-1)) assert(WrittenSize == SupposedSize);
#endif // DEBUG
#if defined(LIBEBML_DEBUG)
if (static_cast<int64>(SupposedSize) != (0-1)) assert(WrittenSize == SupposedSize);
#endif // LIBEBML_DEBUG
result += WrittenSize;
return result;
} catch (std::exception & ex) {

View File

@@ -145,10 +145,10 @@ uint64 EbmlMaster::UpdateSize(bool bWithDefault, bool bForceRender)
continue;
(ElementList[Index])->UpdateSize(bWithDefault, bForceRender);
uint64 SizeToAdd = (ElementList[Index])->ElementSize(bWithDefault);
#if defined(_DEBUG) || defined(DEBUG)
if (SizeToAdd == (0-1))
#if defined(LIBEBML_DEBUG)
if (static_cast<int64>(SizeToAdd) == (0-1))
return (0-1);
#endif // DEBUG
#endif // LIBEBML_DEBUG
SetSize_(GetSize() + SizeToAdd);
}
if (bChecksumUsed) {
@@ -204,10 +204,10 @@ bool EbmlMaster::CheckMandatory() const
for (EltIdx = 0; EltIdx < EBML_CTX_SIZE(Context); EltIdx++) {
if (EBML_CTX_IDX(Context,EltIdx).IsMandatory()) {
if (FindElt(EBML_CTX_IDX_INFO(Context,EltIdx)) == NULL) {
#if defined(_DEBUG) || defined(DEBUG)
#if defined(LIBEBML_DEBUG)
// you are missing this Mandatory element
// const char * MissingName = EBML_INFO_NAME(EBML_CTX_IDX_INFO(Context,EltIdx));
#endif // DEBUG
#endif // LIBEBML_DEBUG
return false;
}
}

View File

@@ -1,41 +1,44 @@
/****************************************************************************
** libebml : parse EBML files, see http://embl.sourceforge.net/
**
** <file/class description>
**
** Copyright (C) 2002-2010 Steve Lhomme. All rights reserved.
**
** This file is part of libebml.
**
** This library is free software; you can redistribute it and/or
** modify it under the terms of the GNU Lesser General Public
** License as published by the Free Software Foundation; either
** version 2.1 of the License, or (at your option) any later version.
**
** This library is distributed in the hope that it will be useful,
** but WITHOUT ANY WARRANTY; without even the implied warranty of
** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
** Lesser General Public License for more details.
**
** You should have received a copy of the GNU Lesser General Public
** License along with this library; if not, write to the Free Software
** Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
**
** See http://www.matroska.org/license/lgpl/ for LGPL licensing information.
**
** Contact license@matroska.org if any conditions of this licensing are
** not clear to you.
**
**********************************************************************/
/*!
\file
\version \$Id: EbmlVersion.cpp 639 2004-07-09 20:59:14Z mosu $
\author Steve Lhomme <robux4 @ users.sf.net>
*/
#include "ebml/EbmlVersion.h"
START_LIBEBML_NAMESPACE
END_LIBEBML_NAMESPACE
/****************************************************************************
** libebml : parse EBML files, see http://embl.sourceforge.net/
**
** <file/class description>
**
** Copyright (C) 2002-2010 Steve Lhomme. All rights reserved.
**
** This file is part of libebml.
**
** This library is free software; you can redistribute it and/or
** modify it under the terms of the GNU Lesser General Public
** License as published by the Free Software Foundation; either
** version 2.1 of the License, or (at your option) any later version.
**
** This library is distributed in the hope that it will be useful,
** but WITHOUT ANY WARRANTY; without even the implied warranty of
** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
** Lesser General Public License for more details.
**
** You should have received a copy of the GNU Lesser General Public
** License along with this library; if not, write to the Free Software
** Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
**
** See http://www.matroska.org/license/lgpl/ for LGPL licensing information.
**
** Contact license@matroska.org if any conditions of this licensing are
** not clear to you.
**
**********************************************************************/
/*!
\file
\version \$Id: EbmlVersion.cpp 639 2004-07-09 20:59:14Z mosu $
\author Steve Lhomme <robux4 @ users.sf.net>
*/
#include "ebml/EbmlVersion.h"
START_LIBEBML_NAMESPACE
const std::string EbmlCodeVersion = "1.2.2";
const std::string EbmlCodeDate = __TIMESTAMP__;
END_LIBEBML_NAMESPACE

View File

@@ -72,8 +72,9 @@ uint32 MemIOCallback::read(void *Buffer, size_t Size)
{
//We will only return the remaining data
memcpy(Buffer, dataBuffer + dataBufferPos, dataBufferTotalSize - dataBufferPos);
uint64 oldDataPos = dataBufferPos;
dataBufferPos = dataBufferTotalSize;
return dataBufferTotalSize - dataBufferPos;
return dataBufferTotalSize - oldDataPos;
}
//Well... We made it here, so do a quick and simple copy

View File

@@ -49,13 +49,13 @@ START_LIBEBML_NAMESPACE
CRTError::CRTError(int nError, const std::string & Description)
:std::runtime_error(Description+": "+strerror(nError))
,Error(Error)
,Error(nError)
{
}
CRTError::CRTError(const std::string & Description,int nError)
:std::runtime_error(Description+": "+strerror(nError))
,Error(Error)
,Error(nError)
{
}