Changes of Revision 2
[-] | Changed | libmatroska.spec |
x 1
2 # 3 -# spec file for package libmatroska (Version 0.8.0) 4 +# spec file for package libmatroska (Version 0.8.1) 5 # 6 -# Copyright (c) 2006 SUSE LINUX Products GmbH, Nuernberg, Germany. 7 +# Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany. 8 # This file and all modifications and additions to the pristine 9 # package are under the same license as the package itself. 10 # 11
12 # 13 14 # norootforbuild 15 -# usedforbuild aaa_base acl attr audit-libs autoconf automake bash bind-libs bind-utils binutils bison bzip2 coreutils cpio cpp cracklib cvs cyrus-sasl db diffutils e2fsprogs file filesystem fillup findutils flex gawk gcc gcc-c++ gdbm gdbm-devel gettext gettext-devel glibc glibc-devel glibc-locale gpm grep groff gzip info insserv klogd less libacl libattr libcom_err libebml libgcc libnscd libstdc++ libstdc++-devel libtool libxcrypt libzio m4 make man mktemp module-init-tools ncurses ncurses-devel net-tools netcfg openldap2-client openssl pam pam-modules patch perl permissions popt procinfo procps psmisc pwdutils rcs readline rpm sed strace sysvinit tar tcpd texinfo timezone unzip util-linux vim zlib zlib-devel 16 17 Name: libmatroska 18 -BuildRequires: gcc-c++ libebml 19 +BuildRequires: gcc-c++ libebml-devel 20 URL: http://dl.matroska.org/downloads/libmatroska/ 21 -Version: 0.8.0 22 -Release: 10 23 +Version: 0.8.1 24 +Release: 67 25 Summary: Library to Deal with Matroska Files 26 -License: LGPL 27 +License: GNU Library General Public License v. 2.0 and 2.1 (LGPL) 28 Group: Development/Libraries/Other 29 Source: %{name}-%{version}.tar.bz2 30 Patch: makefile.diff 31
32 -------- 33 Steve Lhomme <steve.lhomme@free.fr> 34 35 -%debug_package 36 +%package devel 37 +Summary: Library to Deal with Matroska Files 38 +Group: Development/Libraries/Other 39 +Provides: libmatroska:/usr/include/matroska/KaxVersion.h 40 +Requires: libmatroska = %{version} 41 +Requires: libebml-devel 42 +Autoreqprov: on 43 + 44 +%description devel 45 +Libmatroska is a C++ library to parse Matroska files (.mkv and .mka). 46 +It depends on libebml to work. You only need this package to compile 47 +your own applications. 48 + 49 + 50 + 51 +Authors: 52 +-------- 53 + Steve Lhomme <steve.lhomme@free.fr> 54 + 55 %prep 56 rm -rf $RPM_BUILD_ROOT 57 %setup 58
59 60 %files 61 %defattr (-,root,root) 62 -%{_libdir}/libmatroska* 63 +%{_libdir}/libmatroska*.so.* 64 + 65 +%files devel 66 +%defattr (-,root,root) 67 +%{_libdir}/libmatroska*.so 68 +%{_libdir}/libmatroska*.a 69 /usr/include/matroska 70 71 -%changelog -n libmatroska 72 -* Sun Sep 30 2007 Carsten Schoene <cs@linux-administrator.com> 73 -- import for SLE_10 build 74 -* Wed Jan 25 2006 - mls@suse.de 75 +%changelog 76 +* Sun May 27 2007 ro@suse.de 77 +- added libebml-devel to buildreq 78 +- split off devel package 79 +* Mon Feb 26 2007 seife@suse.de 80 +- version update to 0.8.1 81 + - add support for KaxCodecState and indexing them in the cues 82 + - "make install" fixes 83 +* Wed Jan 25 2006 mls@suse.de 84 - converted neededforbuild to BuildRequires 85 -* Mon Nov 21 2005 - seife@suse.de 86 +* Mon Nov 21 2005 seife@suse.de 87 - version update to 0.8.0 88 -* Wed Nov 02 2005 - dmueller@suse.de 89 +* Wed Nov 2 2005 dmueller@suse.de 90 - don't build as root 91 -* Wed Sep 28 2005 - meissner@suse.de 92 +* Wed Sep 28 2005 meissner@suse.de 93 - use RPM_OPT_FLAGS correctly. 94 -* Tue Jul 05 2005 - seife@suse.de 95 +* Tue Jul 5 2005 seife@suse.de 96 - version 0.7.7 97 -* Sun Apr 17 2005 - seife@suse.de 98 +* Sun Apr 17 2005 seife@suse.de 99 - version 0.7.6 100 -* Mon Feb 07 2005 - seife@suse.de 101 +* Mon Feb 7 2005 seife@suse.de 102 - version 0.7.5 103 -* Tue Oct 26 2004 - seife@suse.de 104 +* Tue Oct 26 2004 seife@suse.de 105 - version 0.7.4 106 -* Thu Sep 02 2004 - seife@suse.de 107 +* Thu Sep 2 2004 seife@suse.de 108 - add libebml to neededforbuild 109 -* Wed Sep 01 2004 - seife@suse.de 110 +* Wed Sep 1 2004 seife@suse.de 111 - initial submission 112 |
||
[+] | Changed | libmatroska-0.8.1.tar.bz2/ChangeLog ^ |
@@ -1,3 +1,46 @@ +2007-01-19 09:58 robux4 + + * trunk/libebml/libebml.proj, trunk/libmatroska/libmatroska.proj, + trunk/libmatroska/test/ebml/ebml.proj, + trunk/libmatroska/test/mux/mux.proj, + trunk/libmatroska/test/tags/tags.proj, + trunk/libmatroska/test/test.proj, + trunk/libmatroska/test/utf8/utf8.proj: add support for coremake + building for the moment the config.h and coremake are referenced + by a parent project + +2007-01-15 16:01 mosu + + * trunk/libmatroska/debian/changelog, + trunk/libmatroska/matroska/KaxVersion.h: Version number upgrade to + 0.8.1. + +2007-01-14 17:20 mosu + + * trunk/libmatroska/matroska/KaxBlock.h, + trunk/libmatroska/matroska/KaxCluster.h, + trunk/libmatroska/matroska/KaxCuesData.h, + trunk/libmatroska/src/KaxBlock.cpp, + trunk/libmatroska/src/KaxCues.cpp, + trunk/libmatroska/src/KaxCuesData.cpp: Added support for + KaxCodecState and for indexing them in the cues. + +2006-06-02 14:32 mosu + + * trunk/libmatroska/make/linux/Makefile: Overwrite existing symlinks + during install. + +2006-03-30 19:57 mosu + + * trunk/libmatroska/make/linux/Makefile: Do not abort if the symlink + exists already. + +2005-10-18 18:02 mosu + + * trunk/libmatroska/ChangeLog, trunk/libmatroska/debian/changelog: + Changed the version in the Debian control file & automatic + ChangeLog update. + 2005-10-16 13:06 robux4 * trunk/libmatroska/src/KaxBlock.cpp: libmatroska: set the | ||
[+] | Changed | libmatroska-0.8.1.tar.bz2/debian/changelog ^ |
@@ -1,3 +1,9 @@ +libmatroska (0.8.1-1) unstable; urgency=low + + * New version. + + -- Moritz Bunkus <moritz@bunkus.org> Mon, 16 Jan 2007 17:00:30 +0100 + libmatroska (0.8.0-1) unstable; urgency=low * New version. | ||
[+] | Added | libmatroska-0.8.1.tar.bz2/libmatroska.proj ^ |
@@ -0,0 +1,68 @@ +Include "*/*.proj" + +LIB matroska +{ + INCLUDE . + INCLUDE ../libebml + + USE ebml + +// OPTIMIZE_GLOBALLY . + FAVOR_MAX_SPEED . + REDUCE_SIZE . + FASTER_FLOAT . + + SOURCE src/FileKax.cpp + SOURCE src/KaxAttached.cpp + SOURCE src/KaxAttachments.cpp + SOURCE src/KaxBlock.cpp + SOURCE src/KaxBlockData.cpp + SOURCE src/KaxChapters.cpp + SOURCE src/KaxCluster.cpp + SOURCE src/KaxClusterData.cpp + SOURCE src/KaxContentEncoding.cpp + SOURCE src/KaxContexts.cpp + SOURCE src/KaxCues.cpp + SOURCE src/KaxCuesData.cpp + SOURCE src/KaxInfo.cpp + SOURCE src/KaxInfoData.cpp + SOURCE src/KaxSeekHead.cpp + SOURCE src/KaxSegment.cpp + SOURCE src/KaxTag.cpp + SOURCE src/KaxTagMulti.cpp + SOURCE src/KaxTags.cpp + SOURCE src/KaxTrackAudio.cpp + SOURCE src/KaxTrackEntryData.cpp + SOURCE src/KaxTrackVideo.cpp + SOURCE src/KaxTracks.cpp + SOURCE src/KaxVersion.cpp + + HEADER matroska/FileKax.h + HEADER matroska/KaxAttached.h + HEADER matroska/KaxAttachments.h + HEADER matroska/KaxBlock.h + HEADER matroska/KaxBlockData.h + HEADER matroska/KaxChapters.h + HEADER matroska/KaxCluster.h + HEADER matroska/KaxClusterData.h + HEADER matroska/KaxConfig.h + HEADER matroska/KaxContentEncoding.h + HEADER matroska/KaxContexts.h + HEADER matroska/KaxCues.h + HEADER matroska/KaxCuesData.h + HEADER matroska/KaxInfo.h + HEADER matroska/KaxInfoData.h + HEADER matroska/KaxSeekHead.h + HEADER matroska/KaxSegment.h + HEADER matroska/KaxTag.h + HEADER matroska/KaxTagMulti.h + HEADER matroska/KaxTags.h + HEADER matroska/KaxTrackAudio.h + HEADER matroska/KaxTrackEntryData.h + HEADER matroska/KaxTrackVideo.h + HEADER matroska/KaxTracks.h + HEADER matroska/KaxTypes.h + HEADER matroska/KaxVersion.h + HEADER matroska/c/libmatroska_t.h + HEADER matroska/c/libmatroska.h +} | ||
[+] | Changed | libmatroska-0.8.1.tar.bz2/make/linux/Makefile ^ |
@@ -1,5 +1,5 @@ # libmatroska core Makefile (used in cygwin) -# $Id: Makefile 1146 2005-04-19 07:00:00Z mosu $ +# $Id: Makefile 1254 2006-06-02 14:32:52Z mosu $ # Author: Steve Lhomme <robux4 @ users.sf.net> # Author: Moritz Bunkus <moritz @ bunkus.org> @@ -103,6 +103,7 @@ $(LIBRARY_SO): $(objects_so) $(CXX) -shared -Wl,-soname,$(LIBRARY_SO_VER) -o $(LIBRARY_SO_VER) $(objects_so) -lebml + rm -f $(LIBRARY_SO) ln -s $(LIBRARY_SO_VER) $(LIBRARY_SO) clean: cleantest @@ -171,7 +172,7 @@ install_sharedlib: $(LIBRARY_SO) $(INSTALL) $(INSTALL_DIR_OPTS) -d $(libdir) $(INSTALL) $(INSTALL_OPTS_LIB) $(LIBRARY_SO_VER) $(libdir) - ln -s $(LIBRARY_SO_VER) $(libdir)/$(LIBRARY_SO) + ln -fs $(LIBRARY_SO_VER) $(libdir)/$(LIBRARY_SO) ifneq ($(wildcard .depend),) include .depend | ||
[+] | Changed | libmatroska-0.8.1.tar.bz2/matroska/KaxBlock.h ^ |
@@ -187,6 +187,8 @@ operator KaxInternalBlock &(); + const KaxCluster *GetParentCluster() const { return ParentCluster; } + protected: KaxCluster * ParentCluster; const KaxTrackEntry * ParentTrack; @@ -320,6 +322,7 @@ } operator KaxBlockGroup &(); + operator const KaxBlockGroup &() const; #if MATROSKA_VERSION >= 2 operator KaxSimpleBlock &(); #endif @@ -434,6 +437,19 @@ EbmlElement * Clone() const {return new KaxBlockAddID(*this);} }; +class MATROSKA_DLL_API KaxCodecState : public EbmlBinary { + public: + KaxCodecState() {} + KaxCodecState(const KaxCodecState & ElementToClone) :EbmlBinary(ElementToClone){} + static EbmlElement & Create() {return *(new KaxCodecState);} + const EbmlCallbacks & Generic() const {return ClassInfos;} + static const EbmlCallbacks ClassInfos; + operator const EbmlId &() const {return ClassInfos.GlobalId;} + bool ValidateSize() const {return true;} + + EbmlElement * Clone() const {return new KaxCodecState(*this);} +}; + END_LIBMATROSKA_NAMESPACE #endif // LIBMATROSKA_BLOCK_H | ||
[+] | Changed | libmatroska-0.8.1.tar.bz2/matroska/KaxCluster.h ^ |
@@ -140,6 +140,8 @@ bool AddBlockBlob(KaxBlockBlob * NewBlob); + const KaxSegment *GetParentSegment() const { return ParentSegment; } + protected: KaxBlockBlob * currentNewBlob; std::vector<KaxBlockBlob*> Blobs; | ||
[+] | Changed | libmatroska-0.8.1.tar.bz2/matroska/KaxCuesData.h ^ |
@@ -56,7 +56,7 @@ operator const EbmlId &() const {return ClassInfos.GlobalId;} EbmlElement * Clone() const {return new KaxCuePoint(*this);} void PositionSet(const KaxBlockGroup & BlockReference, uint64 GlobalTimecodeScale); - void PositionSet(const KaxInternalBlock & BlockReference, uint64 GlobalTimecodeScale); + void PositionSet(const KaxBlockBlob & BlobReference, uint64 GlobalTimecodeScale); bool operator<(const EbmlElement & EltB) const; | ||
[+] | Changed | libmatroska-0.8.1.tar.bz2/matroska/KaxVersion.h ^ |
@@ -40,9 +40,9 @@ START_LIBMATROSKA_NAMESPACE -#define LIBMATROSKA_VERSION 0x000800 +#define LIBMATROSKA_VERSION 0x000801 -static const std::string KaxCodeVersion = "0.8.0"; +static const std::string KaxCodeVersion = "0.8.1"; static const std::string KaxCodeDate = __TIMESTAMP__; /*! | ||
[+] | Changed | libmatroska-0.8.1.tar.bz2/src/KaxBlock.cpp ^ |
@@ -27,7 +27,7 @@ /*! \file - \version \$Id: KaxBlock.cpp 1236 2005-10-16 13:06:07Z robux4 $ + \version \$Id: KaxBlock.cpp 1265 2007-01-14 17:20:35Z mosu $ \author Steve Lhomme <robux4 @ users.sf.net> \author Julien Coloos <suiryc @ users.sf.net> */ @@ -45,7 +45,7 @@ #if MATROSKA_VERSION == 1 const EbmlSemantic KaxBlockGroup_ContextList[6] = #else // MATROSKA_VERSION -const EbmlSemantic KaxBlockGroup_ContextList[8] = +const EbmlSemantic KaxBlockGroup_ContextList[9] = #endif // MATROSKA_VERSION { EbmlSemantic(true, true, KaxBlock::ClassInfos), @@ -58,6 +58,7 @@ EbmlSemantic(false, false, KaxReferenceBlock::ClassInfos), #if MATROSKA_VERSION >= 2 EbmlSemantic(false, true, KaxReferenceVirtual::ClassInfos), + EbmlSemantic(false, true, KaxCodecState::ClassInfos), #endif // MATROSKA_VERSION EbmlSemantic(false, true, KaxBlockAdditions::ClassInfos), }; @@ -79,6 +80,7 @@ EbmlId KaxBlockDuration_TheId (0x9B, 1); #if MATROSKA_VERSION >= 2 EbmlId KaxBlockVirtual_TheId (0xA2, 1); +EbmlId KaxCodecState_TheId (0xA4, 1); #endif // MATROSKA_VERSION EbmlId KaxBlockAdditions_TheId (0x75A1, 2); EbmlId KaxBlockMore_TheId (0xA6, 1); @@ -91,6 +93,7 @@ #if MATROSKA_VERSION >= 2 const EbmlSemanticContext KaxSimpleBlock_Context = EbmlSemanticContext(0, NULL, &KaxCluster_Context, *GetKaxGlobal_Context, &KaxSimpleBlock::ClassInfos); const EbmlSemanticContext KaxBlockVirtual_Context = EbmlSemanticContext(0, NULL, &KaxBlockGroup_Context, *GetKaxGlobal_Context, &KaxBlockVirtual::ClassInfos); +const EbmlSemanticContext KaxCodecState_Context = EbmlSemanticContext(0, NULL, &KaxBlockGroup_Context, *GetKaxGlobal_Context, &KaxCodecState::ClassInfos); #endif // MATROSKA_VERSION const EbmlSemanticContext KaxBlockAdditions_Context = EbmlSemanticContext(countof(KaxBlockAdditions_ContextList), KaxBlockAdditions_ContextList, &KaxBlockGroup_Context, *GetKaxGlobal_Context, &KaxBlockAdditions::ClassInfos); const EbmlSemanticContext KaxBlockMore_Context = EbmlSemanticContext(countof(KaxBlockMore_ContextList), KaxBlockMore_ContextList, &KaxBlockAdditions_Context, *GetKaxGlobal_Context, &KaxBlockMore::ClassInfos); @@ -103,6 +106,7 @@ #if MATROSKA_VERSION >= 2 const EbmlCallbacks KaxSimpleBlock::ClassInfos(KaxSimpleBlock::Create, KaxSimpleBlock_TheId, "SimpleBlock", KaxSimpleBlock_Context); const EbmlCallbacks KaxBlockVirtual::ClassInfos(KaxBlockVirtual::Create, KaxBlockVirtual_TheId, "BlockVirtual", KaxBlockVirtual_Context); +const EbmlCallbacks KaxCodecState::ClassInfos(KaxCodecState::Create, KaxCodecState_TheId, "CodecState", KaxCodecState_Context); #endif // MATROSKA_VERSION const EbmlCallbacks KaxBlockAdditions::ClassInfos(KaxBlockAdditions::Create, KaxBlockAdditions_TheId, "BlockAdditions", KaxBlockAdditions_Context); const EbmlCallbacks KaxBlockMore::ClassInfos(KaxBlockMore::Create, KaxBlockMore_TheId, "BlockMore", KaxBlockMore_Context); @@ -963,6 +967,13 @@ { assert(!bUseSimpleBlock); assert(Block.group); + return *Block.group; +} + +KaxBlockBlob::operator const KaxBlockGroup &() const +{ + assert(!bUseSimpleBlock); + assert(Block.group); return *Block.group; } | ||
[+] | Changed | libmatroska-0.8.1.tar.bz2/src/KaxCues.cpp ^ |
@@ -27,7 +27,7 @@ /*! \file - \version \$Id: KaxCues.cpp 1227 2005-10-13 21:21:59Z robux4 $ + \version \$Id: KaxCues.cpp 1265 2007-01-14 17:20:35Z mosu $ \author Steve Lhomme <robux4 @ users.sf.net> */ #include <cassert> @@ -96,8 +96,7 @@ if (*ListIdx == &BlockReference) { // found, now add the element to the entry list KaxCuePoint & NewPoint = AddNewChild<KaxCuePoint>(*this); - const KaxInternalBlock &intblock = BlockReference; - NewPoint.PositionSet(intblock, GlobalTimecodeScale()); + NewPoint.PositionSet(BlockReference, GlobalTimecodeScale()); myTempReferences.erase(ListIdx); break; } @@ -115,7 +114,7 @@ refTmp.TrackNum() == BlockRef.TrackNumber()) { // found, now add the element to the entry list KaxCuePoint & NewPoint = AddNewChild<KaxCuePoint>(*this); - NewPoint.PositionSet(refTmp, GlobalTimecodeScale()); + NewPoint.PositionSet(**ListIdx, GlobalTimecodeScale()); myTempReferences.erase(ListIdx); break; } | ||
[+] | Changed | libmatroska-0.8.1.tar.bz2/src/KaxCuesData.cpp ^ |
@@ -27,7 +27,7 @@ /*! \file - \version \$Id: KaxCuesData.cpp 1231 2005-10-15 12:34:47Z robux4 $ + \version \$Id: KaxCuesData.cpp 1265 2007-01-14 17:20:35Z mosu $ \author Steve Lhomme <robux4 @ users.sf.net> */ #include <cassert> @@ -36,6 +36,8 @@ #include "matroska/KaxContexts.h" #include "matroska/KaxBlock.h" #include "matroska/KaxBlockData.h" +#include "matroska/KaxCluster.h" +#include "matroska/KaxSegment.h" START_LIBMATROSKA_NAMESPACE @@ -156,13 +158,21 @@ NewRefs.AddReference(BlockReference.Reference(i).RefBlock(), GlobalTimecodeScale); } } + + KaxCodecState *CodecState = static_cast<KaxCodecState *>(BlockReference.FindFirstElt(KaxCodecState::ClassInfos)); + if (CodecState != NULL) { + KaxCueCodecState &CueCodecState = AddNewChild<KaxCueCodecState>(NewPositions); + *static_cast<EbmlUInteger*>(&CueCodecState) = BlockReference.GetParentCluster()->GetParentSegment()->GetRelativePosition(CodecState->GetElementPosition()); + } #endif // MATROSKA_VERSION bValueIsSet = true; } -void KaxCuePoint::PositionSet(const KaxInternalBlock & BlockReference, uint64 GlobalTimecodeScale) +void KaxCuePoint::PositionSet(const KaxBlockBlob & BlobReference, uint64 GlobalTimecodeScale) { + const KaxInternalBlock &BlockReference = BlobReference; + // fill me KaxCueTime & NewTime = GetChild<KaxCueTime>(*this); *static_cast<EbmlUInteger*>(&NewTime) = BlockReference.GlobalTimecode() / GlobalTimecodeScale; @@ -185,6 +195,17 @@ } } #endif // MATROSKA_VERSION + +#if MATROSKA_VERSION >= 2 + if (!BlobReference.IsSimpleBlock()) { + const KaxBlockGroup &BlockGroup = BlobReference; + const KaxCodecState *CodecState = static_cast<KaxCodecState *>(BlockGroup.FindFirstElt(KaxCodecState::ClassInfos)); + if (CodecState != NULL) { + KaxCueCodecState &CueCodecState = AddNewChild<KaxCueCodecState>(NewPositions); + *static_cast<EbmlUInteger*>(&CueCodecState) = BlockGroup.GetParentCluster()->GetParentSegment()->GetRelativePosition(CodecState->GetElementPosition()); + } + } +#endif // MATROSKA_VERSION bValueIsSet = true; } | ||
[+] | Added | libmatroska-0.8.1.tar.bz2/test/ebml/ebml.proj ^ |
@@ -0,0 +1,11 @@ +#include "*/*.proj" + +CON ebml-test00 +{ + SOURCE test00.cpp +} + +CON ebml-test0 +{ + SOURCE test0.cpp +} | ||
[+] | Added | libmatroska-0.8.1.tar.bz2/test/mux/mux.proj ^ |
@@ -0,0 +1,11 @@ +#include "*/*.proj" + +CON mux-test6 +{ + SOURCE test6.cpp +} + +CON mux-test8 +{ + SOURCE test8.cpp +} | ||
[+] | Added | libmatroska-0.8.1.tar.bz2/test/tags/tags.proj ^ |
@@ -0,0 +1,6 @@ +#include "*/*.proj" + +CON tags-test9 +{ + SOURCE tags.cpp +} | ||
[+] | Added | libmatroska-0.8.1.tar.bz2/test/test.proj ^ |
@@ -0,0 +1 @@ +#include "*/*.proj" | ||
[+] | Added | libmatroska-0.8.1.tar.bz2/test/utf8/utf8.proj ^ |
@@ -0,0 +1,6 @@ +#include "*/*.proj" + +CON utf8-test5 +{ + SOURCE test5.cpp +} |