[asterisk-scf-commits] asterisk-scf/integration/matroska.git branch "matroska_build_integration" created.

Commits to the Asterisk SCF project code repositories asterisk-scf-commits at lists.digium.com
Mon Jul 25 10:38:36 CDT 2011


branch "matroska_build_integration" has been created
        at  da37a81f6a811277c36399c54aefc409d07ef646 (commit)

- Log -----------------------------------------------------------------
commit da37a81f6a811277c36399c54aefc409d07ef646
Author: Brent Eagles <beagles at digium.com>
Date:   Mon Jul 25 13:06:46 2011 -0230

    Add cmake support and casts/c++ changes to allow ebml and matroska to be
    built with our compiler options.

diff --git a/CMakeLists.txt b/CMakeLists.txt
new file mode 100644
index 0000000..c233493
--- /dev/null
+++ b/CMakeLists.txt
@@ -0,0 +1,3 @@
+# Asterisk SCF integrated build.
+add_subdirectory(libebml)
+add_subdirectory(libmatroska)
diff --git a/libebml/CMakeLists.txt b/libebml/CMakeLists.txt
new file mode 100644
index 0000000..ac4764a
--- /dev/null
+++ b/libebml/CMakeLists.txt
@@ -0,0 +1,9 @@
+astscf_project(astscf-ebml 1.2.1)
+
+#
+# Introduce a variable for this source directory into the calling scope.
+#
+set(astscf-ebml_dir ${CMAKE_CURRENT_SOURCE_DIR} PARENT_SCOPE)
+
+add_subdirectory(src)
+astscf_headers_install(ebml/)
diff --git a/libebml/ebml/Debug.h b/libebml/ebml/Debug.h
index e8fd636..efef29f 100644
--- a/libebml/ebml/Debug.h
+++ b/libebml/ebml/Debug.h
@@ -109,14 +109,14 @@ private:
 class EBML_DLL_API ADbg
 {
 public:
-	ADbg(int level = 0){}
+	ADbg(int=0){}
 	virtual ~ADbg() {}
 
-	inline int OutPut(int level, const char * format,...) const {
+	inline int OutPut(int, const char *,...) const {
 		return 0;
 	}
 
-	inline int OutPut(const char * format,...) const {
+	inline int OutPut(const char *,...) const {
 		return 0;
 	}
 
@@ -124,11 +124,11 @@ public:
 		return level;
 	}
 
-	inline bool setIncludeTime(const bool included = true) {
+	inline bool setIncludeTime(const bool = true) {
 		return true;
 	}
 
-	inline bool setDebugFile(const char * NewFilename) {
+	inline bool setDebugFile(const char *) {
 		return true;
 	}
 
@@ -137,7 +137,7 @@ public:
 	}
 
 	inline bool setUseFile(const bool usefile = true) {
-		return true;
+		return usefile;
 	}
 
 	inline const char * setPrefix(const char * string) {
diff --git a/libebml/ebml/EbmlCrc32.h b/libebml/ebml/EbmlCrc32.h
index fd2de01..5fe3cbf 100644
--- a/libebml/ebml/EbmlCrc32.h
+++ b/libebml/ebml/EbmlCrc32.h
@@ -103,6 +103,7 @@ DECLARE_EBML_BINARY(EbmlCrc32)
 template <class T>
 inline unsigned int GetAlignment(T *dummy=NULL) // VC60 workaround
 {
+    dummy = 0;
 #if (_MSC_VER >= 1300)
 	return __alignof(T);
 #elif defined(__GNUC__)
@@ -131,9 +132,10 @@ inline bool IsAlignedOn(const void *p, unsigned int alignment)
 }
 
 template <class T>
-inline bool IsAligned(const void *p, T *dummy=NULL)	// VC60 workaround
+inline bool IsAligned(const void *p, T* dummy = 0)	// VC60 workaround
 {
-	return IsAlignedOn(p, GetAlignment<T>());
+    dummy = 0;
+    return IsAlignedOn(p, GetAlignment<T>());
 }
 
 END_LIBEBML_NAMESPACE
diff --git a/libebml/ebml/EbmlDate.h b/libebml/ebml/EbmlDate.h
index ac43e10..99983ba 100644
--- a/libebml/ebml/EbmlDate.h
+++ b/libebml/ebml/EbmlDate.h
@@ -65,7 +65,7 @@ class EBML_DLL_API EbmlDate : public EbmlElement {
 		/*!
 			\note no Default date handled
 		*/
-		filepos_t UpdateSize(bool bWithDefault = false, bool bForceRender = false) {
+		filepos_t UpdateSize(bool = false, bool = false) {
 			if(!ValueIsSet())
 				SetSize_(0);
 			else
diff --git a/libebml/ebml/EbmlElement.h b/libebml/ebml/EbmlElement.h
index 7487239..32fc20d 100644
--- a/libebml/ebml/EbmlElement.h
+++ b/libebml/ebml/EbmlElement.h
@@ -434,7 +434,7 @@ class EBML_DLL_API EbmlElement {
 		virtual bool IsMaster() const {return false;}
 
 		uint8 HeadSize() const {
-			return EBML_ID_LENGTH((const EbmlId&)*this) + CodedSizeLength(Size, SizeLength, bSizeIsFinite);
+			return static_cast<uint8>(EBML_ID_LENGTH((const EbmlId&)*this) + CodedSizeLength(Size, SizeLength, bSizeIsFinite));
 		} /// return the size of the head, on reading/writing
 
 		/*!
diff --git a/libebml/ebml/EbmlFloat.h b/libebml/ebml/EbmlFloat.h
index 37545e0..64bedde 100644
--- a/libebml/ebml/EbmlFloat.h
+++ b/libebml/ebml/EbmlFloat.h
@@ -79,12 +79,12 @@ class EBML_DLL_API EbmlFloat : public EbmlElement {
 
 		virtual bool IsSmallerThan(const EbmlElement *Cmp) const;
 		
-		operator const float() const;
-		operator const double() const;
+		operator float() const;
+		operator double() const;
 
 		void SetDefaultValue(double);
     
-		const double DefaultVal() const;
+		double DefaultVal() const;
 
 		bool IsDefaultValue() const {
 			return (DefaultISset() && Value == DefaultValue);
diff --git a/libebml/src/CMakeLists.txt b/libebml/src/CMakeLists.txt
new file mode 100644
index 0000000..9a2348c
--- /dev/null
+++ b/libebml/src/CMakeLists.txt
@@ -0,0 +1,40 @@
+astscf_component_init(astscf-ebml)
+include_directories(..)
+
+file(GLOB_RECURSE project_headers ../ebml/*.h)
+astscf_component_add_files(astscf-ebml ${project_headers})
+set(filelist
+    "Debug.cpp"
+    "EbmlBinary.cpp"
+    "EbmlContexts.cpp"
+    "EbmlCrc32.cpp"
+    "EbmlDate.cpp"
+    "EbmlDummy.cpp"
+    "EbmlElement.cpp"
+    "EbmlFloat.cpp"
+    "EbmlHead.cpp"
+    "EbmlMaster.cpp"
+    "EbmlSInteger.cpp"
+    "EbmlStream.cpp"
+    "EbmlString.cpp"
+    "EbmlSubHead.cpp"
+    "EbmlUInteger.cpp"
+    "EbmlUnicodeString.cpp"
+    "EbmlVersion.cpp"
+    "EbmlVoid.cpp"
+    "IOCallback.cpp"
+    "MemIOCallback.cpp"
+    "StdIOCallback.cpp"
+)
+astscf_component_add_files(astscf-ebml ${filelist})
+
+if(WIN32)
+    add_definitions(-DEBML_DLL)	
+    add_definitions(-DEBML_DLL_EXPORT)	
+    add_definitions(-DWIN32)	
+    add_subdirectory(platform)
+endif()
+
+astscf_component_build_library(astscf-ebml)
+astscf_component_install(astscf-ebml)
+
diff --git a/libebml/src/EbmlBinary.cpp b/libebml/src/EbmlBinary.cpp
index 6e2b155..44b139e 100644
--- a/libebml/src/EbmlBinary.cpp
+++ b/libebml/src/EbmlBinary.cpp
@@ -66,7 +66,7 @@ EbmlBinary::~EbmlBinary(void) {
 EbmlBinary::operator const binary &() const {return *Data;}
 
 
-filepos_t EbmlBinary::RenderData(IOCallback & output, bool bForceRender, bool bWithDefault)
+filepos_t EbmlBinary::RenderData(IOCallback & output, bool, bool)
 {
 	output.writeFully(Data,GetSize());
 
@@ -76,7 +76,7 @@ filepos_t EbmlBinary::RenderData(IOCallback & output, bool bForceRender, bool bW
 /*!
 	\note no Default binary value handled
 */
-uint64 EbmlBinary::UpdateSize(bool bWithDefault, bool bForceRender)
+uint64 EbmlBinary::UpdateSize(bool, bool)
 {
 	return GetSize();
 }
diff --git a/libebml/src/EbmlCrc32.cpp b/libebml/src/EbmlCrc32.cpp
index cddbd95..ad6c79b 100644
--- a/libebml/src/EbmlCrc32.cpp
+++ b/libebml/src/EbmlCrc32.cpp
@@ -195,7 +195,7 @@ void EbmlCrc32::AddElementCRC32(EbmlElement &ElementToCRC)
 	MemIOCallback memoryBuffer;
 	ElementToCRC.Render(memoryBuffer, true, true);
 
-	Update(memoryBuffer.GetDataBuffer(), memoryBuffer.GetDataBufferSize());
+	Update(memoryBuffer.GetDataBuffer(), static_cast<uint32>(memoryBuffer.GetDataBufferSize()));
 //	Finalize();
 };
 
@@ -204,10 +204,10 @@ bool EbmlCrc32::CheckElementCRC32(EbmlElement &ElementToCRC)
 	MemIOCallback memoryBuffer;
 	ElementToCRC.Render(memoryBuffer);
 
-	return CheckCRC(m_crc_final, memoryBuffer.GetDataBuffer(), memoryBuffer.GetDataBufferSize());
+	return CheckCRC(m_crc_final, memoryBuffer.GetDataBuffer(), static_cast<uint32>(memoryBuffer.GetDataBufferSize()));
 };
 
-filepos_t EbmlCrc32::RenderData(IOCallback & output, bool bForceRender, bool bWithDefault)
+filepos_t EbmlCrc32::RenderData(IOCallback & output, bool, bool)
 {
 	filepos_t Result = 4;
 
diff --git a/libebml/src/EbmlDate.cpp b/libebml/src/EbmlDate.cpp
index e1344f9..517b4da 100644
--- a/libebml/src/EbmlDate.cpp
+++ b/libebml/src/EbmlDate.cpp
@@ -65,7 +65,7 @@ filepos_t EbmlDate::ReadData(IOCallback & input, ScopeMode ReadFully)
 	return GetSize();
 }
 
-filepos_t EbmlDate::RenderData(IOCallback & output, bool bForceRender, bool bWithDefault)
+filepos_t EbmlDate::RenderData(IOCallback & output, bool, bool)
 {
 	if (GetSize() != 0) {
 		assert(GetSize() == 8);
diff --git a/libebml/src/EbmlElement.cpp b/libebml/src/EbmlElement.cpp
index aefcfe4..425487b 100644
--- a/libebml/src/EbmlElement.cpp
+++ b/libebml/src/EbmlElement.cpp
@@ -111,14 +111,14 @@ int CodedSizeLengthSigned(int64 Length, unsigned int SizeLength)
 int CodedValueLength(uint64 Length, int CodedSize, binary * OutBuffer)
 {
 	int _SizeMask = 0xFF;
-	OutBuffer[0] = 1 << (8 - CodedSize);
+	OutBuffer[0] = static_cast<binary>(1 << (8 - CodedSize));
 	for (int i=1; i<CodedSize; i++) {
 		OutBuffer[CodedSize-i] = Length & 0xFF;
 		Length >>= 8;
 		_SizeMask >>= 1;
 	}
 	// first one use a OR with the "EBML size head"
-	OutBuffer[0] |= Length & 0xFF & _SizeMask;
+	OutBuffer[0] |= static_cast<binary>(Length & 0xFF & _SizeMask);
 	return CodedSize;
 }
 
@@ -148,7 +148,7 @@ uint64 ReadCodedSizeValue(const binary * InBuffer, uint32 & BufferSize, uint64 &
 		if (InBuffer[0] & (SizeBitMask >> SizeIdx)) {
 			// ID found
 			PossibleSizeLength = SizeIdx + 1;
-			SizeBitMask >>= SizeIdx;
+			SizeBitMask = static_cast<binary>(SizeBitMask >> SizeIdx);
 			for (SizeIdx = 0; SizeIdx < PossibleSizeLength; SizeIdx++) {
 				PossibleSize[SizeIdx] = InBuffer[SizeIdx];
 			}
@@ -293,7 +293,7 @@ EbmlElement * EbmlElement::FindNextID(IOCallback & DataStream, const EbmlCallbac
 				bElementFound = true; /// \todo not exactly the one we're looking for
 				break;
 			}
-			BitMask >>= 1;
+			BitMask = static_cast<binary>(BitMask >> 1);
 		}
 
 		// read the data size
@@ -377,7 +377,7 @@ EbmlElement * EbmlElement::FindNextElement(IOCallback & DataStream, const EbmlSe
 				if (PossibleIdNSize[0] & (IdBitMask >> SizeIdx)) {
 					// ID found
 					PossibleID_Length = SizeIdx + 1;
-					IdBitMask >>= SizeIdx;
+					IdBitMask  = static_cast<binary>(IdBitMask >> SizeIdx);
 					bFound = true;
 					break;
 				}
@@ -618,7 +618,7 @@ filepos_t EbmlElement::MakeRenderHead(IOCallback & output, bool bKeepPosition)
 	binary FinalHead[4+8]; // Class D + 64 bits coded size
 	unsigned int FinalHeadSize;
 
-	FinalHeadSize = EBML_ID_LENGTH((const EbmlId&)*this);
+	FinalHeadSize = static_cast<unsigned int>(EBML_ID_LENGTH((const EbmlId&)*this));
 	EbmlId(*this).Fill(FinalHead);
 
 	int CodedSize = CodedSizeLength(Size, SizeLength, bSizeIsFinite);
@@ -654,7 +654,7 @@ bool EbmlElement::CompareElements(const EbmlElement *A, const EbmlElement *B)
 		return false;
 }
 
-void EbmlElement::Read(EbmlStream & inDataStream, const EbmlSemanticContext & Context, int & UpperEltFound, EbmlElement * & FoundElt, bool AllowDummyElt, ScopeMode ReadFully)
+void EbmlElement::Read(EbmlStream & inDataStream, const EbmlSemanticContext &, int &, EbmlElement * &, bool, ScopeMode ReadFully)
 {
 	ReadData(inDataStream.I_O(), ReadFully);
 }
diff --git a/libebml/src/EbmlFloat.cpp b/libebml/src/EbmlFloat.cpp
index d9095b5..1fcd696 100644
--- a/libebml/src/EbmlFloat.cpp
+++ b/libebml/src/EbmlFloat.cpp
@@ -67,26 +67,26 @@ void EbmlFloat::SetDefaultValue(double aValue)
     SetDefaultIsSet();
 }
 
-const double EbmlFloat::DefaultVal() const
+double EbmlFloat::DefaultVal() const
 {
     assert(DefaultISset());
     return DefaultValue;
 }
 
-EbmlFloat::operator const float() const {return float(Value);}
-EbmlFloat::operator const double() const {return double(Value);}
+EbmlFloat::operator float() const {return float(Value);}
+EbmlFloat::operator double() const {return double(Value);}
 
 
 /*!
 	\todo handle exception on errors
 	\todo handle 10 bits precision
 */
-filepos_t EbmlFloat::RenderData(IOCallback & output, bool bForceRender, bool bWithDefault)
+filepos_t EbmlFloat::RenderData(IOCallback & output, bool, bool)
 {
 	assert(GetSize() == 4 || GetSize() == 8);
 
 	if (GetSize() == 4) {
-		float val = Value;
+		float val = (float)Value;
 		int Tmp;
 		memcpy(&Tmp, &val, 4);
 		big_int32 TmpToWrite(Tmp);
@@ -102,7 +102,7 @@ filepos_t EbmlFloat::RenderData(IOCallback & output, bool bForceRender, bool bWi
 	return GetSize();
 }
 
-uint64 EbmlFloat::UpdateSize(bool bWithDefault, bool bForceRender)
+uint64 EbmlFloat::UpdateSize(bool bWithDefault, bool)
 {
 	if (!bWithDefault && IsDefaultValue())
 		return 0;
diff --git a/libebml/src/EbmlMaster.cpp b/libebml/src/EbmlMaster.cpp
index d6c416e..6111685 100644
--- a/libebml/src/EbmlMaster.cpp
+++ b/libebml/src/EbmlMaster.cpp
@@ -109,7 +109,7 @@ filepos_t EbmlMaster::RenderData(IOCallback & output, bool bForceRender, bool bW
 				continue;
 			(ElementList[Index])->Render(TmpBuf, bWithDefault, false ,bForceRender);
 		}
-		Checksum.FillCRC32(TmpBuf.GetDataBuffer(), TmpBuf.GetDataBufferSize());
+		Checksum.FillCRC32(TmpBuf.GetDataBuffer(), static_cast<uint32>(TmpBuf.GetDataBufferSize()));
 		Result += Checksum.Render(output, true, false ,bForceRender);
 		output.writeFully(TmpBuf.GetDataBuffer(), TmpBuf.GetDataBufferSize());
 		Result += TmpBuf.GetDataBufferSize();
@@ -167,7 +167,7 @@ filepos_t EbmlMaster::WriteHead(IOCallback & output, int nSizeLength, bool bWith
 /*!
 	\todo this code is very suspicious !
 */
-filepos_t EbmlMaster::ReadData(IOCallback & input, ScopeMode ReadFully)
+filepos_t EbmlMaster::ReadData(IOCallback & input, ScopeMode)
 {
 	input.setFilePointer(GetSize(), seek_current);
 	return GetSize();
@@ -515,7 +515,7 @@ bool EbmlMaster::VerifyChecksum() const
 	for (size_t Index = 0; Index < ElementList.size(); Index++) {
 		(ElementList[Index])->Render(TmpBuf, true, false, true);
 	}
-	aChecksum.FillCRC32(TmpBuf.GetDataBuffer(), TmpBuf.GetDataBufferSize());
+	aChecksum.FillCRC32(TmpBuf.GetDataBuffer(), static_cast<uint32>(TmpBuf.GetDataBufferSize()));
 	return (aChecksum.GetCrc32() == Checksum.GetCrc32());
 }
 
diff --git a/libebml/src/EbmlSInteger.cpp b/libebml/src/EbmlSInteger.cpp
index 5c22227..8456731 100644
--- a/libebml/src/EbmlSInteger.cpp
+++ b/libebml/src/EbmlSInteger.cpp
@@ -63,7 +63,7 @@ EbmlSInteger::operator int64() {return Value;}
 /*!
 	\todo handle exception on errors
 */
-filepos_t EbmlSInteger::RenderData(IOCallback & output, bool bForceRender, bool bWithDefault)
+filepos_t EbmlSInteger::RenderData(IOCallback & output, bool, bool)
 {
 	binary FinalData[8]; // we don't handle more than 64 bits integers
 	unsigned int i;
@@ -82,7 +82,7 @@ filepos_t EbmlSInteger::RenderData(IOCallback & output, bool bForceRender, bool
 	return GetSize();
 }
 
-uint64 EbmlSInteger::UpdateSize(bool bWithDefault, bool bForceRender)
+uint64 EbmlSInteger::UpdateSize(bool bWithDefault, bool)
 {
 	if (!bWithDefault && IsDefaultValue())
 		return 0;
@@ -93,7 +93,7 @@ uint64 EbmlSInteger::UpdateSize(bool bWithDefault, bool bForceRender)
 		SetSize_(2);
 	} else if (Value <= 0x7FFFFF && Value >= (-0x800000)) {
 		SetSize_(3);
-	} else if (Value <= 0x7FFFFFFF && Value >= (-0x80000000)) {
+	} else if (Value <= 0x7FFFFFFFLL && Value >= (-0x80000000LL)) {
 		SetSize_(4);
 	} else if (Value <= EBML_PRETTYLONGINT(0x7FFFFFFFFF) &&
 		   Value >= EBML_PRETTYLONGINT(-0x8000000000)) {
diff --git a/libebml/src/EbmlString.cpp b/libebml/src/EbmlString.cpp
index a590f61..1e31020 100644
--- a/libebml/src/EbmlString.cpp
+++ b/libebml/src/EbmlString.cpp
@@ -87,7 +87,7 @@ const std::string & EbmlString::DefaultVal() const
 /*!
 	\todo handle exception on errors
 */
-filepos_t EbmlString::RenderData(IOCallback & output, bool bForceRender, bool bWithDefault)
+filepos_t EbmlString::RenderData(IOCallback & output, bool, bool)
 {
 	filepos_t Result;
 	output.writeFully(Value.c_str(), Value.length());
@@ -122,7 +122,7 @@ EbmlString & EbmlString::operator=(const std::string & NewString)
 	return *this;
 }
 
-uint64 EbmlString::UpdateSize(bool bWithDefault, bool bForceRender)
+uint64 EbmlString::UpdateSize(bool bWithDefault, bool)
 {
 	if (!bWithDefault && IsDefaultValue())
 		return 0;
diff --git a/libebml/src/EbmlUInteger.cpp b/libebml/src/EbmlUInteger.cpp
index 4258548..4b77cd1 100644
--- a/libebml/src/EbmlUInteger.cpp
+++ b/libebml/src/EbmlUInteger.cpp
@@ -79,7 +79,7 @@ EbmlUInteger::operator uint64() const {return Value;}
 /*!
 	\todo handle exception on errors
 */
-filepos_t EbmlUInteger::RenderData(IOCallback & output, bool bForceRender, bool bWithDefault)
+filepos_t EbmlUInteger::RenderData(IOCallback & output, bool, bool)
 {
 	binary FinalData[8]; // we don't handle more than 64 bits integers
 	
@@ -97,7 +97,7 @@ filepos_t EbmlUInteger::RenderData(IOCallback & output, bool bForceRender, bool
 	return GetSize();
 }
 
-uint64 EbmlUInteger::UpdateSize(bool bWithDefault, bool bForceRender)
+uint64 EbmlUInteger::UpdateSize(bool bWithDefault, bool)
 {
 	if (!bWithDefault && IsDefaultValue())
 		return 0;
diff --git a/libebml/src/EbmlUnicodeString.cpp b/libebml/src/EbmlUnicodeString.cpp
index 5568168..59df085 100644
--- a/libebml/src/EbmlUnicodeString.cpp
+++ b/libebml/src/EbmlUnicodeString.cpp
@@ -191,14 +191,14 @@ void UTFstring::UpdateFromUCS2()
 	for (i=0, Size=0; i<_Length; i++)
 	{
 		if (_Data[i] < 0x80) {
-			tmpStr[Size++] = _Data[i];
+			tmpStr[Size++] = static_cast<std::string::value_type>(_Data[i]);
 		} else if (_Data[i] < 0x800) {
-			tmpStr[Size++] = 0xC0 | (_Data[i] >> 6);
-			tmpStr[Size++] = 0x80 | (_Data[i] & 0x3F);
+			tmpStr[Size++] = static_cast<std::string::value_type>(0xC0 | (_Data[i] >> 6));
+			tmpStr[Size++] = static_cast<std::string::value_type>(0x80 | (_Data[i] & 0x3F));
 		} else if (_Data[i] < 0x10000) {
-			tmpStr[Size++] = 0xE0 | (_Data[i] >> 12);
-			tmpStr[Size++] = 0x80 | ((_Data[i] >> 6) & 0x3F);
-			tmpStr[Size++] = 0x80 | (_Data[i] & 0x3F);
+			tmpStr[Size++] = static_cast<std::string::value_type>(0xE0 | (_Data[i] >> 12));
+			tmpStr[Size++] = static_cast<std::string::value_type>(0x80 | ((_Data[i] >> 6) & 0x3F));
+			tmpStr[Size++] = static_cast<std::string::value_type>(0x80 | (_Data[i] & 0x3F));
 		}
 	}
 	tmpStr[Size] = 0;
@@ -256,9 +256,9 @@ const UTFstring & EbmlUnicodeString::DefaultVal() const
 \note limited to UCS-2
 \todo handle exception on errors
 */
-filepos_t EbmlUnicodeString::RenderData(IOCallback & output, bool bForceRender, bool bWithDefault)
+filepos_t EbmlUnicodeString::RenderData(IOCallback & output, bool, bool)
 {
-	uint32 Result = Value.GetUTF8().length();
+	uint32 Result = static_cast<uint32>(Value.GetUTF8().length());
 
 	if (Result != 0) {
 		output.writeFully(Value.GetUTF8().c_str(), Result);
@@ -271,7 +271,7 @@ filepos_t EbmlUnicodeString::RenderData(IOCallback & output, bool bForceRender,
 			memset(Pad, 0x00, GetDefaultSize() - Result);
 			output.writeFully(Pad, GetDefaultSize() - Result);
 
-			Result = GetDefaultSize();
+			Result = static_cast<uint32>(GetDefaultSize());
 			delete [] Pad;
 		}
 	}
@@ -291,7 +291,7 @@ EbmlUnicodeString & EbmlUnicodeString::operator=(const UTFstring & NewString)
 /*!
 \note limited to UCS-2
 */
-uint64 EbmlUnicodeString::UpdateSize(bool bWithDefault, bool bForceRender)
+uint64 EbmlUnicodeString::UpdateSize(bool bWithDefault, bool)
 {
 	if (!bWithDefault && IsDefaultValue())
 		return 0;
diff --git a/libebml/src/EbmlVoid.cpp b/libebml/src/EbmlVoid.cpp
index 3b3f2f0..519394c 100644
--- a/libebml/src/EbmlVoid.cpp
+++ b/libebml/src/EbmlVoid.cpp
@@ -45,7 +45,7 @@ EbmlVoid::EbmlVoid()
 	SetValueIsSet();
 }
 
-filepos_t EbmlVoid::RenderData(IOCallback & output, bool bForceRender, bool bWithDefault)
+filepos_t EbmlVoid::RenderData(IOCallback & output, bool, bool)
 {
 	// write dummy data by 4KB chunks
 	static binary DummyBuf[4*1024];
diff --git a/libebml/src/MemIOCallback.cpp b/libebml/src/MemIOCallback.cpp
index 62fce15..694af50 100644
--- a/libebml/src/MemIOCallback.cpp
+++ b/libebml/src/MemIOCallback.cpp
@@ -74,14 +74,14 @@ uint32 MemIOCallback::read(void *Buffer, size_t Size)
 		memcpy(Buffer, dataBuffer + dataBufferPos, dataBufferTotalSize - dataBufferPos);
         uint64 oldDataPos = dataBufferPos;
 		dataBufferPos = dataBufferTotalSize;
-		return dataBufferTotalSize - oldDataPos;
+		return static_cast<uint32>(dataBufferTotalSize - oldDataPos);
 	}
 		
 	//Well... We made it here, so do a quick and simple copy
 	memcpy(Buffer, dataBuffer+dataBufferPos, Size);
 	dataBufferPos += Size;
 
-	return Size;
+	return static_cast<uint32>(Size);
 }
 
 void MemIOCallback::setFilePointer(int64 Offset, seek_mode Mode)
@@ -118,7 +118,7 @@ uint32 MemIOCallback::write(IOCallback & IOToRead, size_t Size)
 	}
 	IOToRead.readFully(&dataBuffer[dataBufferPos], Size);
 	dataBufferTotalSize = Size;
-	return Size;
+	return static_cast<uint32>(Size);
 }
 
 END_LIBEBML_NAMESPACE
diff --git a/libebml/src/StdIOCallback.cpp b/libebml/src/StdIOCallback.cpp
index 139f627..28ab3c5 100644
--- a/libebml/src/StdIOCallback.cpp
+++ b/libebml/src/StdIOCallback.cpp
@@ -109,7 +109,7 @@ uint32 StdIOCallback::read(void*Buffer,size_t Size)
 	
 	size_t result = fread(Buffer, 1, Size, File);
 	mCurrentPosition += result;
-	return result;
+	return static_cast<uint32>(result);
 }
 
 void StdIOCallback::setFilePointer(int64 Offset,seek_mode Mode)
@@ -157,7 +157,7 @@ void StdIOCallback::setFilePointer(int64 Offset,seek_mode Mode)
 size_t StdIOCallback::write(const void*Buffer,size_t Size)
 {
 	assert(File!=0);
-	uint32 Result = fwrite(Buffer,1,Size,File);
+	size_t Result = fwrite(Buffer,1,Size,File);
 	mCurrentPosition += Result;
 	return Result;
 }
diff --git a/libebml/src/platform/CMakeLists.txt b/libebml/src/platform/CMakeLists.txt
new file mode 100644
index 0000000..9dc4024
--- /dev/null
+++ b/libebml/src/platform/CMakeLists.txt
@@ -0,0 +1 @@
+add_subdirectory(win32)
diff --git a/libebml/src/platform/win32/CMakeLists.txt b/libebml/src/platform/win32/CMakeLists.txt
new file mode 100644
index 0000000..9367f9e
--- /dev/null
+++ b/libebml/src/platform/win32/CMakeLists.txt
@@ -0,0 +1 @@
+astscf_component_add_files(astscf-ebml WinIOCallback.cpp WinIOCallback.h)
diff --git a/libmatroska/CMakeLists.txt b/libmatroska/CMakeLists.txt
new file mode 100644
index 0000000..fc2e181
--- /dev/null
+++ b/libmatroska/CMakeLists.txt
@@ -0,0 +1,9 @@
+astscf_project(astscf-matroska 1.2.0)
+
+#
+# Introduce a variable for this source directory into the calling scope.
+#
+set(astscf-matroska_dir ${CMAKE_CURRENT_SOURCE_DIR} PARENT_SCOPE)
+
+add_subdirectory(src)
+astscf_headers_install(matroska/)
diff --git a/libmatroska/matroska/KaxBlock.h b/libmatroska/matroska/KaxBlock.h
index 1fb3c9e..bf33e90 100644
--- a/libmatroska/matroska/KaxBlock.h
+++ b/libmatroska/matroska/KaxBlock.h
@@ -84,7 +84,7 @@ class MATROSKA_DLL_API DataBuffer {
 		virtual binary * Buffer() {assert(bValidValue); return myBuffer;}
 		virtual uint32   & Size() {return mySize;};
 		virtual const binary * Buffer() const {assert(bValidValue); return myBuffer;}
-		virtual const uint32   Size()   const {return mySize;};
+		virtual uint32   Size()   const {return mySize;};
 		bool    FreeBuffer(const DataBuffer & aBuffer) {
 			bool bResult = true;
 			if (myBuffer != NULL && bValidValue) {
@@ -232,7 +232,7 @@ class KaxInternalBlock : public EbmlBinary {
 		*/
 		uint64 ReadInternalHead(IOCallback & input);
 		
-		unsigned int NumberFrames() const { return SizeList.size();}
+		unsigned int NumberFrames() const { return static_cast<unsigned int>(SizeList.size());}
 		DataBuffer & GetBuffer(unsigned int iIndex) {return *myBuffers[iIndex];}
 
 		bool AddFrame(const KaxTrackEntry & track, uint64 timecode, DataBuffer & buffer, LacingType lacing = LACING_AUTO, bool invisible = false);
@@ -305,7 +305,11 @@ class MATROSKA_DLL_API KaxSimpleBlock : public KaxInternalBlock {
 		bool IsKeyframe() const    { return bIsKeyframe; }
 		bool IsDiscardable() const { return bIsDiscardable; }
 
-		operator KaxInternalBlock &() { return *this; }
+		//
+                // Unnecessary operator.
+                //
+                // operator KaxInternalBlock &() { return *this; }
+                //
 		void SetParent(KaxCluster & aParentCluster);
 
         EBML_CONCRETE_CLASS(KaxSimpleBlock)
diff --git a/libmatroska/src/CMakeLists.txt b/libmatroska/src/CMakeLists.txt
new file mode 100644
index 0000000..2a4d2bd
--- /dev/null
+++ b/libmatroska/src/CMakeLists.txt
@@ -0,0 +1,36 @@
+astscf_component_init(astscf-matroska)
+include_directories(..)
+include_directories(${astscf-ebml_dir})
+
+file(GLOB_RECURSE project_headers ../matroska/*.h)
+astscf_component_add_files(astscf-matroska ${project_headers})
+set(filelist
+   "FileKax.cpp"
+   "KaxAttached.cpp"
+   "KaxAttachments.cpp"
+   "KaxBlock.cpp"
+   "KaxBlockData.cpp"
+   "KaxCluster.cpp"
+   "KaxContexts.cpp"
+   "KaxCues.cpp"
+   "KaxCuesData.cpp"
+   "KaxInfoData.cpp"
+   "KaxSeekHead.cpp"
+   "KaxSegment.cpp"
+   "KaxSemantic.cpp"
+   "KaxTracks.cpp"
+   "KaxVersion.cpp"
+)
+astscf_component_add_files(astscf-matroska ${filelist})
+astscf_component_build_library(astscf-matroska)
+target_link_libraries(astscf-matroska astscf-ebml)
+
+if(WIN32)
+    add_definitions(-DEBML_DLL)	
+    add_definitions(-DMATROSKA_DLL_EXPORT)	
+    add_definitions(-DMATROSKA_DLL)	
+    add_definitions(-DWIN32)	
+endif()
+
+astscf_component_install(astscf-matroska)
+
diff --git a/libmatroska/src/KaxBlock.cpp b/libmatroska/src/KaxBlock.cpp
index e96910e..134d7ee 100644
--- a/libmatroska/src/KaxBlock.cpp
+++ b/libmatroska/src/KaxBlock.cpp
@@ -161,10 +161,10 @@ LacingType KaxInternalBlock::GetBestLacingType() const {
 		return LACING_EBML;
 }
 
-filepos_t KaxInternalBlock::UpdateSize(bool bSaveDefault, bool bForceRender)
+filepos_t KaxInternalBlock::UpdateSize(bool, bool)
 {
 	LacingType LacingHere;
-    assert(EbmlBinary::GetBuffer() == NULL); // Data is not used for KaxInternalBlock
+        assert(EbmlBinary::GetBuffer() == NULL); // Data is not used for KaxInternalBlock
 	assert(TrackNumber < 0x4000); // no more allowed for the moment
 	unsigned int i;
 
@@ -238,18 +238,20 @@ KaxBlockVirtual::~KaxBlockVirtual()
         SetBuffer( NULL, 0 ); 
 }
 
-filepos_t KaxBlockVirtual::UpdateSize(bool bSaveDefault, bool bForceRender)
+filepos_t KaxBlockVirtual::UpdateSize(bool, bool)
 {
 	assert(TrackNumber < 0x4000);
 	binary *cursor = EbmlBinary::GetBuffer();
 	// fill data
-	if (TrackNumber < 0x80) {
-        assert(GetSize() >= 4);
-		*cursor++ = TrackNumber | 0x80; // set the first bit to 1 
-	} else {
-        assert(GetSize() >= 5);
-		*cursor++ = (TrackNumber >> 8) | 0x40; // set the second bit to 1
-		*cursor++ = TrackNumber & 0xFF;
+	if (TrackNumber < 0x80)
+        {
+            assert(GetSize() >= 4);
+            *cursor++ = static_cast<binary>(TrackNumber | 0x80); // set the first bit to 1 
+	} else
+        {
+            assert(GetSize() >= 5);
+            *cursor++ = static_cast<binary>((TrackNumber >> 8) | 0x40); // set the second bit to 1
+            *cursor++ = static_cast<binary>(TrackNumber & 0xFF);
 	}
 
 	assert(ParentCluster != NULL);
@@ -268,7 +270,7 @@ filepos_t KaxBlockVirtual::UpdateSize(bool bSaveDefault, bool bForceRender)
 	\todo more optimisation is possible (render the Block head and don't copy the buffer in memory, care should be taken with the allocation of Data)
 	\todo the actual timecode to write should be retrieved from the Cluster from here
 */
-filepos_t KaxInternalBlock::RenderData(IOCallback & output, bool bForceRender, bool bSaveDefault)
+filepos_t KaxInternalBlock::RenderData(IOCallback & output, bool, bool)
 {
 	if (myBuffers.size() == 0) {
 		return 0;
@@ -289,11 +291,14 @@ filepos_t KaxInternalBlock::RenderData(IOCallback & output, bool bForceRender, b
 			SetSize_(GetSize() + 1);
 
 		// write Block Head
-		if (TrackNumber < 0x80) {
-			*cursor++ = TrackNumber | 0x80; // set the first bit to 1 
-		} else {
-			*cursor++ = (TrackNumber >> 8) | 0x40; // set the second bit to 1
-			*cursor++ = TrackNumber & 0xFF;
+		if (TrackNumber < 0x80)
+                {
+                    *cursor++ = static_cast<binary>(TrackNumber | 0x80); // set the first bit to 1 
+		}
+                else
+                {
+                    *cursor++ = static_cast<binary>((TrackNumber >> 8) | 0x40); // set the second bit to 1
+                    *cursor++ = static_cast<binary>(TrackNumber & 0xFF);
 		}
 
 		assert(ParentCluster != NULL);
@@ -344,27 +349,29 @@ filepos_t KaxInternalBlock::RenderData(IOCallback & output, bool bForceRender, b
 		{
 		case LACING_XIPH:
 			// number of laces
-			tmpValue = myBuffers.size()-1;
-			output.writeFully(&tmpValue, 1);
-
-			// set the size of each member in the lace
-			for (i=0; i<myBuffers.size()-1; i++) {
-				tmpValue = 0xFF;
-				uint16 tmpSize = myBuffers[i]->Size();
-				while (tmpSize >= 0xFF) {
-					output.writeFully(&tmpValue, 1);
-					SetSize_(GetSize() + 1);
-					tmpSize -= 0xFF;
-				}
-				tmpValue = binary(tmpSize);
-				output.writeFully(&tmpValue, 1);
-				SetSize_(GetSize() + 1);
-			}
-			break;
+                    tmpValue = static_cast<binary>(myBuffers.size()-1);
+                    output.writeFully(&tmpValue, 1);
+
+                    // set the size of each member in the lace
+                    for (i=0; i<myBuffers.size()-1; i++)
+                    {
+                        tmpValue = 0xFF;
+                        uint16 tmpSize = static_cast<uint16>(myBuffers[i]->Size());
+                        while (tmpSize >= 0xFF)
+                        {
+                            output.writeFully(&tmpValue, 1);
+                            SetSize_(GetSize() + 1);
+                            tmpSize = static_cast<binary>(tmpSize - 0xFF);
+                        }
+                        tmpValue = binary(tmpSize);
+                        output.writeFully(&tmpValue, 1);
+                        SetSize_(GetSize() + 1);
+                    }
+                    break;
 		case LACING_EBML:
 			// number of laces
-			tmpValue = myBuffers.size()-1;
-			output.writeFully(&tmpValue, 1);
+                    tmpValue = static_cast<binary>(myBuffers.size()-1);
+                    output.writeFully(&tmpValue, 1);
 
 			{
 				int64 _Size;
@@ -392,7 +399,7 @@ filepos_t KaxInternalBlock::RenderData(IOCallback & output, bool bForceRender, b
 			break;
 		case LACING_FIXED:
 			// number of laces
-			tmpValue = myBuffers.size()-1;
+                    tmpValue = static_cast<binary>(myBuffers.size()-1);
 			output.writeFully(&tmpValue, 1);
 			break;
 		case LACING_NONE:
@@ -427,8 +434,8 @@ uint64 KaxInternalBlock::ReadInternalHead(IOCallback & input)
 			return Result;
 		}
 		Result += input.read(&Buffer[4], 1);
-		TrackNumber = (TrackNumber & 0x3F) << 8;
-		TrackNumber += *cursor++;
+		TrackNumber = static_cast<uint16>((TrackNumber & 0x3F) << 8);
+		TrackNumber = static_cast<uint16>(TrackNumber + *cursor++);
 	} else {
 		TrackNumber &= 0x7F;
 	}
@@ -467,8 +474,8 @@ filepos_t KaxInternalBlock::ReadData(IOCallback & input, ScopeMode ReadFully)
 				// We don't support track numbers that large !
 				return Result;
 			}
-			TrackNumber = (TrackNumber & 0x3F) << 8;
-			TrackNumber += *cursor++;
+			TrackNumber = static_cast<uint16>((TrackNumber & 0x3F) << 8);
+			TrackNumber = static_cast<uint16>(TrackNumber + *cursor++);
 			BlockHeadSize++;
 		} else {
 			TrackNumber &= 0x7F;
@@ -490,20 +497,21 @@ filepos_t KaxInternalBlock::ReadData(IOCallback & input, ScopeMode ReadFully)
 		// put all Frames in the list
 		if (mLacing == LACING_NONE) {
 			FirstFrameLocation += cursor - EbmlBinary::GetBuffer();
-			DataBuffer * soloFrame = new DataBuffer(cursor, GetSize() - BlockHeadSize);
+			DataBuffer * soloFrame = new DataBuffer(cursor, static_cast<int>(GetSize() - BlockHeadSize));
 			myBuffers.push_back(soloFrame);
 			SizeList.resize(1);
-			SizeList[0] = GetSize() - BlockHeadSize;
-		} else {
-			// read the number of frames in the lace
-			uint32 LastBufferSize = GetSize() - BlockHeadSize - 1; // 1 for number of frame
-			uint8 FrameNum = *cursor++; // number of frames in the lace - 1
-			// read the list of frame sizes
-			uint8 Index;
-			int32 FrameSize;
-			uint32 SizeRead;
-			uint64 SizeUnknown;
-
+			SizeList[0] = static_cast<int>(GetSize() - BlockHeadSize);
+		} else
+                {
+                    // read the number of frames in the lace
+                    uint32 LastBufferSize = static_cast<uint32>(GetSize() - BlockHeadSize - 1); // 1 for number of frame
+                    uint8 FrameNum = *cursor++; // number of frames in the lace - 1
+                    // read the list of frame sizes
+                    uint8 Index;
+                    int32 FrameSize;
+                    uint32 SizeRead;
+                    uint64 SizeUnknown;
+                        
 			SizeList.resize(FrameNum + 1);
 
 			switch (mLacing)
@@ -523,7 +531,7 @@ filepos_t KaxInternalBlock::ReadData(IOCallback & input, ScopeMode ReadFully)
 				break;
 			case LACING_EBML:
 				SizeRead = LastBufferSize;
-				FrameSize = ReadCodedSizeValue(cursor, SizeRead, SizeUnknown);
+				FrameSize = static_cast<uint32>(ReadCodedSizeValue(cursor, SizeRead, SizeUnknown));
 				SizeList[0] = FrameSize;
 				cursor += SizeRead;
 				LastBufferSize -= FrameSize + SizeRead;
@@ -531,7 +539,9 @@ filepos_t KaxInternalBlock::ReadData(IOCallback & input, ScopeMode ReadFully)
 				for (Index=1; Index<FrameNum; Index++) {
 					// get the size of the frame
 					SizeRead = LastBufferSize;
-					FrameSize += ReadCodedSizeSignedValue(cursor, SizeRead, SizeUnknown);
+					FrameSize =
+                                            FrameSize +
+                                            static_cast<uint32>(ReadCodedSizeSignedValue(cursor, SizeRead, SizeUnknown));
 					SizeList[Index] = FrameSize;
 					cursor += SizeRead;
 					LastBufferSize -= FrameSize + SizeRead;
@@ -574,8 +584,8 @@ filepos_t KaxInternalBlock::ReadData(IOCallback & input, ScopeMode ReadFully)
 				// We don't support track numbers that large !
 				return Result;
 			}
-			TrackNumber = (TrackNumber & 0x3F) << 8;
-			TrackNumber += *cursor++;
+			TrackNumber = static_cast<uint16>((TrackNumber & 0x3F) << 8);
+			TrackNumber = static_cast<uint16>(TrackNumber + *cursor++);
 			BlockHeadSize++;
 		} else {
 			TrackNumber &= 0x7F;
@@ -605,7 +615,7 @@ filepos_t KaxInternalBlock::ReadData(IOCallback & input, ScopeMode ReadFully)
 		// put all Frames in the list
 		if (mLacing != LACING_NONE) {
 			// read the number of frames in the lace
-			uint32 LastBufferSize = GetSize() - BlockHeadSize - 1; // 1 for number of frame
+                    uint32 LastBufferSize = static_cast<uint32>(GetSize() - BlockHeadSize - 1); // 1 for number of frame
 			uint8 FrameNum = _TempHead[0]; // number of frames in the lace - 1
 			// read the list of frame sizes
 			uint8 Index;
@@ -639,7 +649,7 @@ filepos_t KaxInternalBlock::ReadData(IOCallback & input, ScopeMode ReadFully)
 				SizeRead = LastBufferSize;
 				cursor = _tmpBuf = new binary[FrameNum*4]; /// \warning assume the mean size will be coded in less than 4 bytes
 				Result += input.read(cursor, FrameNum*4);
-				FrameSize = ReadCodedSizeValue(cursor, SizeRead, SizeUnknown);
+				FrameSize = static_cast<uint32>(ReadCodedSizeValue(cursor, SizeRead, SizeUnknown));
 				SizeList[0] = FrameSize;
 				cursor += SizeRead;
 				LastBufferSize -= FrameSize + SizeRead;
@@ -647,7 +657,8 @@ filepos_t KaxInternalBlock::ReadData(IOCallback & input, ScopeMode ReadFully)
 				for (Index=1; Index<FrameNum; Index++) {
 					// get the size of the frame
 					SizeRead = LastBufferSize;
-					FrameSize += ReadCodedSizeSignedValue(cursor, SizeRead, SizeUnknown);
+					FrameSize = static_cast<uint32>(
+                                            FrameSize + ReadCodedSizeSignedValue(cursor, SizeRead, SizeUnknown));
 					SizeList[Index] = FrameSize;
 					cursor += SizeRead;
 					LastBufferSize -= FrameSize + SizeRead;
@@ -669,7 +680,7 @@ filepos_t KaxInternalBlock::ReadData(IOCallback & input, ScopeMode ReadFully)
 			}
 		} else {
 			SizeList.resize(1);
-			SizeList[0] = GetSize() - BlockHeadSize;
+			SizeList[0] = static_cast<int>(GetSize() - BlockHeadSize);
 		}
 		SetValueIsSet(false);
 		Result = GetSize();
@@ -820,14 +831,16 @@ void KaxBlockGroup::ReleaseFrames()
 void KaxInternalBlock::ReleaseFrames()
 {
 	// free the allocated Frames
-	int i;
-	for (i=myBuffers.size()-1; i>=0; i--) {
-		if (myBuffers[i] != NULL) {
-			myBuffers[i]->FreeBuffer(*myBuffers[i]);
-			delete myBuffers[i];
-			myBuffers[i] = NULL;
-		}
-	}
+    for (int i = static_cast<int>(myBuffers.size()-1);
+         i >= 0; i--)
+    {
+        if (myBuffers[i] != NULL)
+        {
+            myBuffers[i]->FreeBuffer(*myBuffers[i]);
+            delete myBuffers[i];
+            myBuffers[i] = NULL;
+        }
+    }
 }
 
 void KaxBlockGroup::SetBlockDuration(uint64 TimeLength)
@@ -1034,7 +1047,7 @@ void KaxBlockBlob::SetBlockGroup( KaxBlockGroup &BlockRef )
 	Block.group = &BlockRef;
 }
 
-filepos_t KaxBlockVirtual::ReadData(IOCallback & input, ScopeMode ReadFully)
+filepos_t KaxBlockVirtual::ReadData(IOCallback & input, ScopeMode)
 {
     input.setFilePointer(SizePosition + CodedSizeLength(Size, SizeLength, bSizeIsFinite) + Size, seek_beginning);
     return GetSize();
diff --git a/libmatroska/src/KaxSeekHead.cpp b/libmatroska/src/KaxSeekHead.cpp
index 25b9083..ceb6ab5 100644
--- a/libmatroska/src/KaxSeekHead.cpp
+++ b/libmatroska/src/KaxSeekHead.cpp
@@ -58,7 +58,7 @@ void KaxSeekHead::IndexThis(const EbmlElement & aElt, const KaxSegment & ParentS
 	KaxSeekID & aNewID = GetChild<KaxSeekID>(aNewPoint);
 	binary ID[4];
     ((const EbmlId&)aElt).Fill(ID);
-	aNewID.CopyBuffer(ID, EBML_ID_LENGTH((const EbmlId&)aElt));
+    aNewID.CopyBuffer(ID, static_cast<uint32>(EBML_ID_LENGTH((const EbmlId&)aElt)));
 }
 
 KaxSeek * KaxSeekHead::FindFirstOf(const EbmlCallbacks & Callbacks) const
@@ -73,7 +73,7 @@ KaxSeek * KaxSeekHead::FindFirstOf(const EbmlCallbacks & Callbacks) const
         {
 			if (EbmlId(*(*Itr)) == EBML_ID(KaxSeekID)) {
 				aId = static_cast<KaxSeekID*>(*Itr);
-				EbmlId aEbmlId(aId->GetBuffer(), aId->GetSize());
+				EbmlId aEbmlId(aId->GetBuffer(), static_cast<unsigned int>(aId->GetSize()));
 				if (aEbmlId == EBML_INFO_ID(Callbacks))
 				{
 					return aElt;
@@ -129,7 +129,7 @@ bool KaxSeek::IsEbmlId(const EbmlId & aId) const
 	KaxSeekID *_Id = static_cast<KaxSeekID*>(FindFirstElt(EBML_INFO(KaxSeekID)));
 	if (_Id == NULL)
 		return false;
-	EbmlId aEbmlId(_Id->GetBuffer(), _Id->GetSize());
+	EbmlId aEbmlId(_Id->GetBuffer(), static_cast<unsigned int>(_Id->GetSize()));
 	return (aId == aEbmlId);
 }
 
@@ -141,8 +141,8 @@ bool KaxSeek::IsEbmlId(const KaxSeek & aPoint) const
 	KaxSeekID *_IdB = static_cast<KaxSeekID*>(aPoint.FindFirstElt(EBML_INFO(KaxSeekID)));
 	if (_IdB == NULL)
 		return false;
-	EbmlId aEbmlIdA(_IdA->GetBuffer(), _IdA->GetSize());
-	EbmlId aEbmlIdB(_IdB->GetBuffer(), _IdB->GetSize());
+	EbmlId aEbmlIdA(_IdA->GetBuffer(), static_cast<unsigned int>(_IdA->GetSize()));
+	EbmlId aEbmlIdB(_IdB->GetBuffer(), static_cast<unsigned int>(_IdB->GetSize()));
 	return (aEbmlIdA == aEbmlIdB);
 }
 
diff --git a/libmatroska/src/KaxSemantic.cpp b/libmatroska/src/KaxSemantic.cpp
index 29be7d1..6920642 100644
--- a/libmatroska/src/KaxSemantic.cpp
+++ b/libmatroska/src/KaxSemantic.cpp
@@ -666,97 +666,97 @@ DEFINE_MKX_UINTEGER_DEF(KaxTagDefault, 0x4484, 2, KaxTagSimple, "TagDefault", 1)
 DEFINE_MKX_UNISTRING(KaxTagString, 0x4487, 2, KaxTagSimple, "TagString");
 DEFINE_MKX_BINARY (KaxTagBinary, 0x4485, 2, KaxTagSimple, "TagBinary");
 
-filepos_t KaxBlockVirtual::RenderData(IOCallback & output, bool bForceRender, bool bSaveDefault) {
+filepos_t KaxBlockVirtual::RenderData(IOCallback &, bool, bool) {
 	assert(false); // no you are not allowed to use this element !
 	return 0;
 }
 
-filepos_t KaxReferenceVirtual::RenderData(IOCallback & output, bool bForceRender, bool bSaveDefault) {
+filepos_t KaxReferenceVirtual::RenderData(IOCallback &, bool, bool) {
 	assert(false); // no you are not allowed to use this element !
 	return 0;
 }
 
-filepos_t KaxSliceFrameNumber::RenderData(IOCallback & output, bool bForceRender, bool bSaveDefault) {
+filepos_t KaxSliceFrameNumber::RenderData(IOCallback &, bool, bool) {
 	assert(false); // no you are not allowed to use this element !
 	return 0;
 }
 
-filepos_t KaxSliceBlockAddID::RenderData(IOCallback & output, bool bForceRender, bool bSaveDefault) {
+filepos_t KaxSliceBlockAddID::RenderData(IOCallback &, bool, bool) {
 	assert(false); // no you are not allowed to use this element !
 	return 0;
 }
 
-filepos_t KaxSliceDelay::RenderData(IOCallback & output, bool bForceRender, bool bSaveDefault) {
+filepos_t KaxSliceDelay::RenderData(IOCallback &, bool, bool) {
 	assert(false); // no you are not allowed to use this element !
 	return 0;
 }
 
-filepos_t KaxSliceDuration::RenderData(IOCallback & output, bool bForceRender, bool bSaveDefault) {
+filepos_t KaxSliceDuration::RenderData(IOCallback &, bool, bool) {
 	assert(false); // no you are not allowed to use this element !
 	return 0;
 }
 
-filepos_t KaxEncryptedBlock::RenderData(IOCallback & output, bool bForceRender, bool bSaveDefault) {
+filepos_t KaxEncryptedBlock::RenderData(IOCallback &, bool, bool) {
 	assert(false); // no you are not allowed to use this element !
 	return 0;
 }
 
-filepos_t KaxTrackOffset::RenderData(IOCallback & output, bool bForceRender, bool bSaveDefault) {
+filepos_t KaxTrackOffset::RenderData(IOCallback &, bool, bool) {
 	assert(false); // no you are not allowed to use this element !
 	return 0;
 }
 
-filepos_t KaxCodecSettings::RenderData(IOCallback & output, bool bForceRender, bool bSaveDefault) {
+filepos_t KaxCodecSettings::RenderData(IOCallback &, bool, bool) {
 	assert(false); // no you are not allowed to use this element !
 	return 0;
 }
 
-filepos_t KaxCodecInfoURL::RenderData(IOCallback & output, bool bForceRender, bool bSaveDefault) {
+filepos_t KaxCodecInfoURL::RenderData(IOCallback &, bool, bool) {
 	assert(false); // no you are not allowed to use this element !
 	return 0;
 }
 
-filepos_t KaxCodecDownloadURL::RenderData(IOCallback & output, bool bForceRender, bool bSaveDefault) {
+filepos_t KaxCodecDownloadURL::RenderData(IOCallback &, bool, bool) {
 	assert(false); // no you are not allowed to use this element !
 	return 0;
 }
 
-filepos_t KaxOldStereoMode::RenderData(IOCallback & output, bool bForceRender, bool bSaveDefault) {
+filepos_t KaxOldStereoMode::RenderData(IOCallback &, bool, bool) {
 	assert(false); // no you are not allowed to use this element !
 	return 0;
 }
 
-filepos_t KaxVideoGamma::RenderData(IOCallback & output, bool bForceRender, bool bSaveDefault) {
+filepos_t KaxVideoGamma::RenderData(IOCallback &, bool, bool) {
 	assert(false); // no you are not allowed to use this element !
 	return 0;
 }
 
-filepos_t KaxVideoFrameRate::RenderData(IOCallback & output, bool bForceRender, bool bSaveDefault) {
+filepos_t KaxVideoFrameRate::RenderData(IOCallback &, bool, bool) {
 	assert(false); // no you are not allowed to use this element !
 	return 0;
 }
 
-filepos_t KaxAudioPosition::RenderData(IOCallback & output, bool bForceRender, bool bSaveDefault) {
+filepos_t KaxAudioPosition::RenderData(IOCallback &, bool, bool) {
 	assert(false); // no you are not allowed to use this element !
 	return 0;
 }
 
-filepos_t KaxCueRefCluster::RenderData(IOCallback & output, bool bForceRender, bool bSaveDefault) {
+filepos_t KaxCueRefCluster::RenderData(IOCallback &, bool, bool) {
 	assert(false); // no you are not allowed to use this element !
 	return 0;
 }
 
-filepos_t KaxCueRefNumber::RenderData(IOCallback & output, bool bForceRender, bool bSaveDefault) {
+filepos_t KaxCueRefNumber::RenderData(IOCallback &, bool, bool) {
 	assert(false); // no you are not allowed to use this element !
 	return 0;
 }
 
-filepos_t KaxCueRefCodecState::RenderData(IOCallback & output, bool bForceRender, bool bSaveDefault) {
+filepos_t KaxCueRefCodecState::RenderData(IOCallback &, bool, bool) {
 	assert(false); // no you are not allowed to use this element !
 	return 0;
 }
 
-filepos_t KaxFileReferral::RenderData(IOCallback & output, bool bForceRender, bool bSaveDefault) {
+filepos_t KaxFileReferral::RenderData(IOCallback &, bool, bool) {
 	assert(false); // no you are not allowed to use this element !
 	return 0;
 }

-----------------------------------------------------------------------


-- 
asterisk-scf/integration/matroska.git



More information about the asterisk-scf-commits mailing list