Compare commits
47 Commits
release-1.
...
dev
Author | SHA1 | Date | |
---|---|---|---|
![]() |
fb1eddb293 | ||
![]() |
edcf087607 | ||
![]() |
de304c170a | ||
![]() |
40a5b6e130 | ||
![]() |
e23d29d21b | ||
![]() |
a8f9a28def | ||
![]() |
773e7d7755 | ||
![]() |
4f5d0b977c | ||
![]() |
1a15920ee4 | ||
![]() |
264a7537e5 | ||
![]() |
bdcc3ef3a1 | ||
![]() |
734b6a1803 | ||
![]() |
c718d51867 | ||
![]() |
f3f1214c13 | ||
![]() |
08eb86ee0a | ||
![]() |
0a96109b73 | ||
![]() |
0f3f33bf6f | ||
![]() |
4ac544deac | ||
![]() |
a463c247a6 | ||
![]() |
e06fb9db92 | ||
![]() |
726c4bee88 | ||
![]() |
3fbe2877fb | ||
![]() |
7648e65aac | ||
![]() |
0f6409c2f1 | ||
![]() |
699562e709 | ||
![]() |
94391f1f4e | ||
![]() |
c5f95ca5ad | ||
![]() |
945625f4e3 | ||
![]() |
4e905afe8d | ||
![]() |
c5e1f64a43 | ||
![]() |
b5306bbeda | ||
![]() |
9fd2a78333 | ||
![]() |
3a34fb5a2e | ||
![]() |
1212eca974 | ||
![]() |
890be90df1 | ||
![]() |
8c4a6cccb4 | ||
![]() |
4edebabe92 | ||
![]() |
2f1c0dd15b | ||
![]() |
86036dfabb | ||
![]() |
f5f263461f | ||
![]() |
5ca6d6c747 | ||
![]() |
6304254275 | ||
![]() |
13c11f7c32 | ||
![]() |
7a815aae19 | ||
![]() |
9201cd4b98 | ||
![]() |
9e32281dca | ||
![]() |
e5d8c2585c |
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@@ -0,0 +1 @@
|
||||
*.[ao]
|
26
ChangeLog
26
ChangeLog
@@ -1,3 +1,28 @@
|
||||
2013-03-19 mosu/robux4
|
||||
New 1.4.0 version:
|
||||
* Note that this release is not binary compatible to 1.3.0 due to
|
||||
the dependancy on libEBML 1.3.0 which is not binary compatible
|
||||
to its predecessor.
|
||||
- Added new elements CueDuration, CueRelativePosition,
|
||||
ChapterStringUID, VideoAlphaMode and DefaultDecodedFieldDuration
|
||||
- Removed the Debian build files from our package.
|
||||
|
||||
2011-09-23 robux4/mosu
|
||||
New 1.3.0 version:
|
||||
- initialize all data members
|
||||
- The KaxCodeVersion variable now resides in the library instead of being declared static in the header file.
|
||||
- make KaxChapterSegmentEditionUID an unsigned integer to match the KaxChapterEditionUID it's supposed to target
|
||||
- This release is not binary compatible to 1.2.x.
|
||||
|
||||
2011-06-26 robux4/mosu
|
||||
New 1.2.0 version:
|
||||
- skip data from KaxBlockVirtual as it should not be used
|
||||
- use semantic generated from the specs so there is no more possible mismatch
|
||||
|
||||
2011-02-02 impulze
|
||||
* trunk/libmatroska/test/test9.cpp
|
||||
- also remove no longer needed tests for old/outdated/previous tag system
|
||||
|
||||
2011-01-30 robux4/mosu
|
||||
New 1.1.0 version:
|
||||
- give access to the SetParent to KaxSimpleBlock as well
|
||||
@@ -1965,4 +1990,3 @@ New 0.9.0 version:
|
||||
trunk/libmatroska/test/utf8,
|
||||
trunk/libmatroska/test/utf8/test5.cpp: Initial CVS version after
|
||||
the crash
|
||||
|
||||
|
18
LICENSE.LGPL
18
LICENSE.LGPL
@@ -1,8 +1,8 @@
|
||||
GNU LESSER GENERAL PUBLIC LICENSE
|
||||
Version 2.1, February 1999
|
||||
GNU LESSER GENERAL PUBLIC LICENSE
|
||||
Version 2.1, February 1999
|
||||
|
||||
Copyright (C) 1991, 1999 Free Software Foundation, Inc.
|
||||
59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
as the successor of the GNU Library Public License, version 2, hence
|
||||
the version number 2.1.]
|
||||
|
||||
Preamble
|
||||
Preamble
|
||||
|
||||
The licenses for most software are designed to take away your
|
||||
freedom to share and change it. By contrast, the GNU General Public
|
||||
@@ -112,7 +112,7 @@ modification follow. Pay close attention to the difference between a
|
||||
former contains code derived from the library, whereas the latter must
|
||||
be combined with the library in order to run.
|
||||
|
||||
GNU LESSER GENERAL PUBLIC LICENSE
|
||||
GNU LESSER GENERAL PUBLIC LICENSE
|
||||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||
|
||||
0. This License Agreement applies to any software library or other
|
||||
@@ -432,7 +432,7 @@ decision will be guided by the two goals of preserving the free status
|
||||
of all derivatives of our free software and of promoting the sharing
|
||||
and reuse of software generally.
|
||||
|
||||
NO WARRANTY
|
||||
NO WARRANTY
|
||||
|
||||
15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
|
||||
WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
|
||||
@@ -455,7 +455,7 @@ FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
|
||||
SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
|
||||
DAMAGES.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
How to Apply These Terms to Your New Libraries
|
||||
|
||||
@@ -485,7 +485,7 @@ convey the exclusion of warranty; and each file should have at least the
|
||||
|
||||
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
|
||||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
|
||||
Also add information on how to contact you by electronic and paper mail.
|
||||
|
||||
@@ -500,5 +500,3 @@ necessary. Here is a sample; alter the names:
|
||||
Ty Coon, President of Vice
|
||||
|
||||
That's all there is to it!
|
||||
|
||||
|
||||
|
192
debian/changelog
vendored
192
debian/changelog
vendored
@@ -1,192 +0,0 @@
|
||||
libmatroska (1.1.0-1) lucid; urgency=low
|
||||
|
||||
* New version.
|
||||
|
||||
-- Moritz Bunkus <moritz@bunkus.org> Sun, 30 Jan 2011 15:30:00 +0200
|
||||
|
||||
libmatroska (1.0.0-1) lucid; urgency=low
|
||||
|
||||
* New version.
|
||||
|
||||
-- Moritz Bunkus <moritz@bunkus.org> Sat, 05 Jun 2010 10:39:00 +0200
|
||||
|
||||
libmatroska (0.9.0-1) karmic; urgency=low
|
||||
|
||||
* New version.
|
||||
|
||||
-- Moritz Bunkus <moritz@bunkus.org> Sun, 09 May 2010 16:59:20 +0200
|
||||
|
||||
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.
|
||||
|
||||
-- Moritz Bunkus <moritz@bunkus.org> Tue, 18 Oct 2005 20:00:18 +0200
|
||||
|
||||
libmatroska (0.7.7-2) unstable; urgency=low
|
||||
|
||||
* Rebuilt with g++ 4.0.2.
|
||||
|
||||
-- Moritz Bunkus <moritz@bunkus.org> Sat, 15 Oct 2005 14:25:46 +0200
|
||||
|
||||
libmatroska (0.7.7-1) unstable; urgency=low
|
||||
|
||||
* New version.
|
||||
|
||||
-- Moritz Bunkus <moritz@bunkus.org> Fri, 20 May 2005 16:28:21 +0200
|
||||
|
||||
libmatroska (0.7.6-1) unstable; urgency=low
|
||||
|
||||
* New version.
|
||||
|
||||
-- Moritz Bunkus <moritz@bunkus.org> Sat, 16 Apr 2005 13:24:30 +0200
|
||||
|
||||
libmatroska (0.7.5-1) unstable; urgency=low
|
||||
|
||||
* New version.
|
||||
|
||||
-- Moritz Bunkus <moritz@bunkus.org> Sun, 6 Feb 2005 21:02:42 +0100
|
||||
|
||||
libmatroska (0.7.4-1) unstable; urgency=low
|
||||
|
||||
* New version.
|
||||
|
||||
-- Moritz Bunkus <moritz@bunkus.org> Sun, 26 Sep 2004 12:35:05 +0200
|
||||
|
||||
libmatroska (0.7.3-1) unstable; urgency=low
|
||||
|
||||
* New version.
|
||||
|
||||
-- Moritz Bunkus <moritz@bunkus.org> Mon, 16 Aug 2004 22:52:57 +0200
|
||||
|
||||
libmatroska (0.7.2-1) unstable; urgency=low
|
||||
|
||||
* New version.
|
||||
|
||||
-- Moritz Bunkus <moritz@bunkus.org> Wed, 4 Aug 2004 19:49:25 +0200
|
||||
|
||||
libmatroska (0.7.1-1) unstable; urgency=low
|
||||
|
||||
* New version.
|
||||
|
||||
-- Moritz Bunkus <moritz@bunkus.org> Sun, 25 Jul 2004 12:41:11 +0200
|
||||
|
||||
libmatroska (0.7.0-1) unstable; urgency=low
|
||||
|
||||
* New version.
|
||||
|
||||
-- Moritz Bunkus <moritz@bunkus.org> Fri, 23 Apr 2004 18:45:32 +0200
|
||||
|
||||
libmatroska (0.6.3-1) unstable; urgency=low
|
||||
|
||||
* New version.
|
||||
|
||||
-- Moritz Bunkus <moritz@bunkus.org> Mon, 5 Jan 2004 19:55:59 +0100
|
||||
|
||||
libmatroska (0.6.2-1) unstable; urgency=low
|
||||
|
||||
* New version.
|
||||
|
||||
-- Moritz Bunkus <moritz@bunkus.org> Tue, 30 Dec 2003 10:59:47 +0100
|
||||
|
||||
libmatroska (0.6.1-1) unstable; urgency=low
|
||||
|
||||
* New version.
|
||||
|
||||
-- Moritz Bunkus <moritz@bunkus.org> Thu, 30 Oct 2003 13:49:33 +0100
|
||||
|
||||
libmatroska (0.6.0-1) unstable; urgency=low
|
||||
|
||||
* New version.
|
||||
|
||||
-- Moritz Bunkus <moritz@bunkus.org> Tue, 28 Oct 2003 23:09:34 +0100
|
||||
|
||||
libmatroska (0.5.3-1) unstable; urgency=low
|
||||
|
||||
* New version.
|
||||
|
||||
-- Moritz Bunkus <moritz@bunkus.org> Wed, 22 Oct 2003 19:22:10 +0200
|
||||
|
||||
libmatroska (0.5.2-1) unstable; urgency=low
|
||||
|
||||
* New version.
|
||||
|
||||
-- Moritz Bunkus <moritz@bunkus.org> Wed, 17 Sep 2003 22:22:10 +0200
|
||||
|
||||
libmatroska (0.5.1-1) unstable; urgency=low
|
||||
|
||||
* New version.
|
||||
|
||||
-- Moritz Bunkus <moritz@bunkus.org> Mon, 1 Sep 2003 13:42:56 +0200
|
||||
|
||||
libmatroska (0.5.0-1) unstable; urgency=low
|
||||
|
||||
* New version.
|
||||
|
||||
-- Moritz Bunkus <moritz@bunkus.org> Mon, 28 Jul 2003 10:49:27 +0200
|
||||
|
||||
libmatroska (0.4.4-2) unstable; urgency=low
|
||||
|
||||
* New version.
|
||||
|
||||
-- Moritz Bunkus <moritz@bunkus.org> Sat, 14 Jun 2003 17:40:11 +0200
|
||||
|
||||
libmatroska (0.4.4-1) unstable; urgency=low
|
||||
|
||||
* New version.
|
||||
|
||||
-- Moritz Bunkus <moritz@bunkus.org> Wed, 11 Jun 2003 20:32:09 +0200
|
||||
|
||||
libmatroska (0.4.3-1) unstable; urgency=low
|
||||
|
||||
* New version with API changes.
|
||||
|
||||
-- Moritz Bunkus <moritz@bunkus.org> Wed, 21 May 2003 22:35:52 +0200
|
||||
|
||||
libmatroska (0.4.2-1) unstable; urgency=low
|
||||
|
||||
* New version with API changes.
|
||||
|
||||
-- Moritz Bunkus <moritz@bunkus.org> Tue, 6 May 2003 22:33:44 +0200
|
||||
|
||||
libmatroska (0.4.1-2) unstable; urgency=low
|
||||
|
||||
* Compiled with gcc 3.2.3
|
||||
|
||||
-- Moritz Bunkus <moritz@bunkus.org> Sun, 04 May 2003 22:11:33 +0200
|
||||
|
||||
libmatroska (0.4.1-1) unstable; urgency=low
|
||||
|
||||
* Some bugfixes, memleak fixed.
|
||||
|
||||
-- Moritz Bunkus <moritz@bunkus.org> Sat, 03 May 2003 23:07:33 +0200
|
||||
|
||||
libmatroska (0.4.0-1) unstable; urgency=low
|
||||
|
||||
* First alpha release :)
|
||||
|
||||
-- Moritz Bunkus <moritz@bunkus.org> Wed, 30 Apr 2003 10:44:33 +0200
|
||||
|
||||
libmatroska (0.2.0.20030425) unstable; urgency=low
|
||||
|
||||
* New version with bugfixes by Steve.
|
||||
|
||||
-- Moritz Bunkus <moritz@bunkus.org> Fri, 25 Apr 2003 20:01:49 +0200
|
||||
|
||||
libmatroska (0.2.0.20030421) unstable; urgency=low
|
||||
|
||||
* Separated libebml from libmatroska like in the upstream sources.)
|
||||
|
||||
-- Moritz Bunkus <moritz@bunkus.org> Mon, 21 Apr 2003 16:33:36 +0200
|
||||
|
||||
libmatroska (0.0.20030225) unstable; urgency=low
|
||||
|
||||
* Initial Release.
|
||||
|
||||
-- Moritz Bunkus <moritz@bunkus.org> Tue, 25 Feb 2003 18:28:52 +0100
|
||||
|
16
debian/control
vendored
16
debian/control
vendored
@@ -1,16 +0,0 @@
|
||||
Source: libmatroska
|
||||
Priority: optional
|
||||
Maintainer: Moritz Bunkus <moritz@bunkus.org>
|
||||
Build-Depends: debhelper (>> 3.0.0), libebml-dev (>= 1.0.0-1)
|
||||
Standards-Version: 3.5.8
|
||||
|
||||
Package: libmatroska-dev
|
||||
Section: devel
|
||||
Architecture: any
|
||||
Depends: libebml-dev (>= 1.0.0-1)
|
||||
Description: an extensible open standard Audio/Video container format
|
||||
Matroska is aiming to become the standard of Multimedia
|
||||
Container Formats one day. It is based on EBML (Extensible Binary
|
||||
Meta Language), a kind of binary version of XML. This way the
|
||||
significant advantages in terms of future format extensability
|
||||
are gained without breaking file support in old parsers.
|
26
debian/copyright
vendored
26
debian/copyright
vendored
@@ -1,26 +0,0 @@
|
||||
This package was debianized by Moritz Bunkus <moritz@bunkus.org> on
|
||||
Mon, 21 Apr 2003 12:49:33 +0200.
|
||||
|
||||
It was downloaded from http://www.matroska.org/
|
||||
|
||||
Upstream Author: Steve Lhomme <steve.lhomme@free.fr>
|
||||
|
||||
Copyright (C) 2002-2003 Steve Lhomme. All rights reserved.
|
||||
|
||||
This file may be distributed under the terms of the Q Public License
|
||||
as defined by Trolltech AS of Norway and appearing in the file
|
||||
LICENSE.QPL included in the packaging of this file.
|
||||
|
||||
This proram is also licensed under the GPL. See
|
||||
/usr/share/common-licenses/GPL for details.
|
||||
|
||||
Licensees holding an other license may use this file in accordance with
|
||||
the Agreement provided with the Software.
|
||||
|
||||
This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
|
||||
WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
|
||||
|
||||
See http://www.matroska.org/license/qpl/ for QPL licensing information.
|
||||
|
||||
Contact license@matroska.org if any conditions of this licensing are
|
||||
not clear to you.
|
2
debian/dirs
vendored
2
debian/dirs
vendored
@@ -1,2 +0,0 @@
|
||||
usr/bin
|
||||
usr/sbin
|
0
debian/docs
vendored
0
debian/docs
vendored
2
debian/libmatroska-dev.dirs
vendored
2
debian/libmatroska-dev.dirs
vendored
@@ -1,2 +0,0 @@
|
||||
usr/lib
|
||||
usr/include
|
2
debian/libmatroska-dev.files
vendored
2
debian/libmatroska-dev.files
vendored
@@ -1,2 +0,0 @@
|
||||
usr/include/*
|
||||
usr/lib/lib*.a
|
95
debian/rules
vendored
95
debian/rules
vendored
@@ -1,95 +0,0 @@
|
||||
#!/usr/bin/make -f
|
||||
# Sample debian/rules that uses debhelper.
|
||||
# GNU copyright 1997 to 1999 by Joey Hess.
|
||||
|
||||
# Uncomment this to turn on verbose mode.
|
||||
#export DH_VERBOSE=1
|
||||
|
||||
# This is the debhelper compatibility version to use.
|
||||
export DH_COMPAT=4
|
||||
|
||||
# shared library versions, option 1
|
||||
version=2.0.5
|
||||
major=2
|
||||
# option 2, assuming the library is created as src/.libs/libfoo.so.2.0.5 or so
|
||||
#version=`ls src/.libs/lib*.so.* | \
|
||||
# awk '{if (match($$0,/[0-9]+\.[0-9]+\.[0-9]+$$/)) print substr($$0,RSTART)}'`
|
||||
#major=`ls src/.libs/lib*.so.* | \
|
||||
# awk '{if (match($$0,/\.so\.[0-9]+$$/)) print substr($$0,RSTART+4)}'`
|
||||
|
||||
# configure: configure-stamp
|
||||
# configure-stamp:
|
||||
# dh_testdir
|
||||
# # Add here commands to configure the package.
|
||||
|
||||
# touch configure-stamp
|
||||
|
||||
|
||||
build: build-stamp
|
||||
build-stamp:
|
||||
dh_testdir
|
||||
|
||||
# Add here commands to compile the package.
|
||||
$(MAKE) -C make/linux $(DEB_BUILD_OPTIONS) LIBEBML_INCLUDE_DIR=/usr/include/ebml staticlib
|
||||
|
||||
touch build-stamp
|
||||
|
||||
clean:
|
||||
dh_testdir
|
||||
dh_testroot
|
||||
rm -f build-stamp
|
||||
|
||||
# Add here commands to clean up after the build process.
|
||||
-$(MAKE) -C make/linux $(DEB_BUILD_OPTIONS) clean
|
||||
|
||||
dh_clean
|
||||
|
||||
install: build
|
||||
dh_testdir
|
||||
dh_testroot
|
||||
dh_clean -k
|
||||
dh_installdirs
|
||||
|
||||
# Add here commands to install the package into debian/tmp
|
||||
$(MAKE) -C make/linux prefix=$(CURDIR)/debian/tmp/usr \
|
||||
install_headers install_staticlib
|
||||
|
||||
|
||||
# Build architecture-independent files here.
|
||||
binary-indep: build install
|
||||
# We have nothing to do by default.
|
||||
|
||||
# Build architecture-dependent files here.
|
||||
binary-arch: build install
|
||||
dh_testdir
|
||||
dh_testroot
|
||||
dh_movefiles
|
||||
|
||||
# dh_installdebconf
|
||||
dh_installdocs
|
||||
# dh_installexamples
|
||||
# dh_installmenu
|
||||
# dh_installlogrotate
|
||||
# dh_installemacsen
|
||||
# dh_installpam
|
||||
# dh_installmime
|
||||
# dh_installinit
|
||||
# dh_installcron
|
||||
# dh_installman
|
||||
# dh_installinfo
|
||||
# dh_undocumented
|
||||
dh_installchangelogs ChangeLog
|
||||
dh_link
|
||||
# dh_strip
|
||||
dh_compress
|
||||
dh_fixperms
|
||||
dh_makeshlibs
|
||||
dh_installdeb
|
||||
# dh_perl
|
||||
dh_shlibdeps
|
||||
dh_gencontrol
|
||||
dh_md5sums
|
||||
dh_builddeb
|
||||
|
||||
binary: binary-indep binary-arch
|
||||
.PHONY: build clean binary-indep binary-arch binary install configure
|
@@ -2,7 +2,7 @@
|
||||
|
||||
LIB matroska
|
||||
{
|
||||
PROJECT_VERSION 1.1.0
|
||||
PROJECT_VERSION 1.3.0
|
||||
|
||||
INCLUDE .
|
||||
EXPINCLUDE .
|
||||
@@ -24,48 +24,30 @@ LIB matroska
|
||||
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/KaxTags.cpp
|
||||
SOURCE src/KaxTrackAudio.cpp
|
||||
SOURCE src/KaxTrackEntryData.cpp
|
||||
SOURCE src/KaxTrackVideo.cpp
|
||||
SOURCE src/KaxSemantic.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/KaxDefines.h
|
||||
HEADER matroska/KaxInfo.h
|
||||
HEADER matroska/KaxInfoData.h
|
||||
HEADER matroska/KaxSeekHead.h
|
||||
HEADER matroska/KaxSegment.h
|
||||
HEADER matroska/KaxTag.h
|
||||
HEADER matroska/KaxTags.h
|
||||
HEADER matroska/KaxTrackAudio.h
|
||||
HEADER matroska/KaxTrackEntryData.h
|
||||
HEADER matroska/KaxTrackVideo.h
|
||||
HEADER matroska/KaxSemantic.h
|
||||
HEADER matroska/KaxTracks.h
|
||||
HEADER matroska/KaxTypes.h
|
||||
HEADER matroska/KaxVersion.h
|
||||
|
@@ -41,12 +41,22 @@ ifeq (yes,$(DEBUG))
|
||||
DEBUGFLAGS=-g -DDEBUG
|
||||
endif
|
||||
|
||||
ifeq (Darwin,$(shell uname -s))
|
||||
link=static
|
||||
else
|
||||
link=both
|
||||
endif
|
||||
|
||||
targets_both = staticlib sharedlib
|
||||
targets_shared = sharedlib
|
||||
targets_static = staticlib
|
||||
|
||||
SRC_DIR=$(CWD)/../../src/
|
||||
INCLUDE_DIR=$(CWD)/../../matroska
|
||||
MUX_SRC_DIR=$(CWD)/../../test/mux/
|
||||
TAG_SRC_DIR=$(CWD)/../../test/tags/
|
||||
|
||||
# Librarires
|
||||
# Libraries
|
||||
INCLUDE=-I$(CWD)/../.. -I$(LIBEBML_INCLUDE_DIR)
|
||||
LIBS=
|
||||
MUX_LIBS=-lmatroska -lebml $(LIBICONV)
|
||||
@@ -54,7 +64,7 @@ MUX_LIBS=-lmatroska -lebml $(LIBICONV)
|
||||
# Names
|
||||
LIBRARY=libmatroska.a
|
||||
LIBRARY_SO=libmatroska.so
|
||||
LIBRARY_SO_VER=libmatroska.so.3
|
||||
LIBRARY_SO_VER=libmatroska.so.6
|
||||
|
||||
# source-files
|
||||
sources:=$(wildcard ${SRC_DIR}*$(EXTENSION))
|
||||
@@ -67,17 +77,12 @@ objects:=$(patsubst %$(EXTENSION),%.o,$(sources))
|
||||
|
||||
objects_so:=$(patsubst %$(EXTENSION),%.lo,$(sources))
|
||||
|
||||
WARNINGFLAGS=-Wall -Wno-unknown-pragmas -ansi -fno-gnu-keywords -D_GNU_SOURCE \
|
||||
-Wshadow
|
||||
WARNINGFLAGS=-Wall -Wextra -Wno-unknown-pragmas -D_GNU_SOURCE -Wshadow
|
||||
COMPILEFLAGS=$(DEBUGFLAGS) $(CXXFLAGS) $(CPPFLAGS) $(WARNINGFLAGS) $(INCLUDE)
|
||||
LINKFLAGS=-L. -L$(LIBEBML_LIB_DIR) $(LDFLAGS)
|
||||
DEPENDFLAGS = $(CXXFLAGS) $(INCLUDE)
|
||||
|
||||
ifeq (Darwin,$(shell uname -s))
|
||||
all: staticlib
|
||||
else
|
||||
all: staticlib sharedlib
|
||||
endif
|
||||
all: $(targets_$(link))
|
||||
|
||||
staticlib: $(LIBRARY)
|
||||
|
||||
@@ -146,30 +151,26 @@ test9: test9.o $(LIBRARY) $(LIBRARY_SO)
|
||||
test9.o: $(TAG_SRC_DIR)test9.cpp
|
||||
$(CXX) -c $(COMPILEFLAGS) -o $@ $<
|
||||
|
||||
ifeq (Darwin,$(shell uname -s))
|
||||
install: install_staticlib install_headers
|
||||
else
|
||||
install: install_staticlib install_sharedlib install_headers
|
||||
endif
|
||||
install: $(targets_$(link):%=install_%) install_headers
|
||||
|
||||
install_headers:
|
||||
$(INSTALL) $(INSTALL_DIR_OPTS) -d $(includedir)
|
||||
$(INSTALL) $(INSTALL_DIR_OPTS) -d $(DESTDIR)$(includedir)
|
||||
for i in $(INCLUDE_DIR)/*.h; do \
|
||||
$(INSTALL) $(INSTALL_OPTS) $$i $(includedir) ; \
|
||||
$(INSTALL) $(INSTALL_OPTS) $$i $(DESTDIR)$(includedir) ; \
|
||||
done
|
||||
$(INSTALL) $(INSTALL_DIR_OPTS) -d $(includedir)/c
|
||||
$(INSTALL) $(INSTALL_DIR_OPTS) -d $(DESTDIR)$(includedir)/c
|
||||
for i in $(INCLUDE_DIR)/c/*.h; do \
|
||||
$(INSTALL) $(INSTALL_OPTS) $$i $(includedir)/c ; \
|
||||
$(INSTALL) $(INSTALL_OPTS) $$i $(DESTDIR)$(includedir)/c ; \
|
||||
done
|
||||
|
||||
install_staticlib: $(LIBRARY)
|
||||
$(INSTALL) $(INSTALL_DIR_OPTS) -d $(libdir)
|
||||
$(INSTALL) $(INSTALL_OPTS_LIB) $(LIBRARY) $(libdir)
|
||||
$(INSTALL) $(INSTALL_DIR_OPTS) -d $(DESTDIR)$(libdir)
|
||||
$(INSTALL) $(INSTALL_OPTS_LIB) $(LIBRARY) $(DESTDIR)$(libdir)
|
||||
|
||||
install_sharedlib: $(LIBRARY_SO)
|
||||
$(INSTALL) $(INSTALL_DIR_OPTS) -d $(libdir)
|
||||
$(INSTALL) $(INSTALL_OPTS_LIB) $(LIBRARY_SO_VER) $(libdir)
|
||||
ln -fs $(LIBRARY_SO_VER) $(libdir)/$(LIBRARY_SO)
|
||||
$(INSTALL) $(INSTALL_DIR_OPTS) -d $(DESTDIR)$(libdir)
|
||||
$(INSTALL) $(INSTALL_OPTS_LIB) $(LIBRARY_SO_VER) $(DESTDIR)$(libdir)
|
||||
ln -fs $(LIBRARY_SO_VER) $(DESTDIR)$(libdir)/$(LIBRARY_SO)
|
||||
|
||||
ifneq ($(wildcard .depend),)
|
||||
include .depend
|
||||
|
@@ -1,7 +1,7 @@
|
||||
# SPEC file for (at least) Fedora Core 1, 2, 3
|
||||
|
||||
Name: libmatroska
|
||||
Version: 1.1.0
|
||||
Version: 1.4.0
|
||||
Release: 1
|
||||
License: LGPL
|
||||
Summary: Matroska Video Container
|
||||
|
@@ -14,7 +14,7 @@ BuildRequires: bzip2 cpp libebml make tar zlib zlib-devel binutils gcc gcc-c++ l
|
||||
|
||||
Name: libmatroska
|
||||
URL: http://dl.matroska.org/downloads/libmatroska/
|
||||
Version: 1.1.0
|
||||
Version: 1.4.0
|
||||
Release: 1
|
||||
Summary: library to deal with matroska files.
|
||||
License: LGPL
|
||||
|
@@ -19,9 +19,9 @@
|
||||
**
|
||||
** 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
|
||||
** Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
**
|
||||
** See http://www.matroska.org/license/lgpl/ for LGPL licensing information.**
|
||||
** See http://www.gnu.org/licenses/lgpl-2.1.html for LGPL licensing information.**
|
||||
** Contact license@matroska.org if any conditions of this licensing are
|
||||
** not clear to you.
|
||||
**
|
||||
|
@@ -19,9 +19,9 @@
|
||||
**
|
||||
** 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
|
||||
** Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
**
|
||||
** See http://www.matroska.org/license/lgpl/ for LGPL licensing information.**
|
||||
** See http://www.gnu.org/licenses/lgpl-2.1.html for LGPL licensing information.**
|
||||
** Contact license@matroska.org if any conditions of this licensing are
|
||||
** not clear to you.
|
||||
**
|
||||
@@ -35,39 +35,6 @@
|
||||
#ifndef LIBMATROSKA_ATTACHED_H
|
||||
#define LIBMATROSKA_ATTACHED_H
|
||||
|
||||
#include "matroska/KaxTypes.h"
|
||||
#include "ebml/EbmlMaster.h"
|
||||
#include "ebml/EbmlUnicodeString.h"
|
||||
#include "ebml/EbmlString.h"
|
||||
#include "ebml/EbmlBinary.h"
|
||||
#include "ebml/EbmlUInteger.h"
|
||||
#include "matroska/KaxDefines.h"
|
||||
|
||||
using namespace LIBEBML_NAMESPACE;
|
||||
|
||||
START_LIBMATROSKA_NAMESPACE
|
||||
|
||||
DECLARE_MKX_MASTER(KaxAttached)
|
||||
};
|
||||
|
||||
DECLARE_MKX_UNISTRING(KaxFileDescription)
|
||||
};
|
||||
|
||||
DECLARE_MKX_UNISTRING(KaxFileName)
|
||||
};
|
||||
|
||||
DECLARE_MKX_STRING(KaxMimeType)
|
||||
};
|
||||
|
||||
DECLARE_MKX_BINARY(KaxFileData)
|
||||
};
|
||||
|
||||
DECLARE_MKX_BINARY(KaxFileReferral)
|
||||
};
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxFileUID)
|
||||
};
|
||||
|
||||
END_LIBMATROSKA_NAMESPACE
|
||||
#include "matroska/KaxSemantic.h"
|
||||
|
||||
#endif // LIBMATROSKA_ATTACHED_H
|
||||
|
@@ -19,9 +19,9 @@
|
||||
**
|
||||
** 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
|
||||
** Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
**
|
||||
** See http://www.matroska.org/license/lgpl/ for LGPL licensing information.**
|
||||
** See http://www.gnu.org/licenses/lgpl-2.1.html for LGPL licensing information.**
|
||||
** Contact license@matroska.org if any conditions of this licensing are
|
||||
** not clear to you.
|
||||
**
|
||||
@@ -35,17 +35,6 @@
|
||||
#ifndef LIBMATROSKA_ATTACHEMENTS_H
|
||||
#define LIBMATROSKA_ATTACHEMENTS_H
|
||||
|
||||
#include "matroska/KaxTypes.h"
|
||||
#include "ebml/EbmlMaster.h"
|
||||
#include "matroska/KaxDefines.h"
|
||||
|
||||
using namespace LIBEBML_NAMESPACE;
|
||||
|
||||
START_LIBMATROSKA_NAMESPACE
|
||||
|
||||
DECLARE_MKX_MASTER(KaxAttachments)
|
||||
};
|
||||
|
||||
END_LIBMATROSKA_NAMESPACE
|
||||
#include "matroska/KaxSemantic.h"
|
||||
|
||||
#endif // LIBMATROSKA_ATTACHEMENTS_H
|
||||
|
@@ -17,9 +17,9 @@
|
||||
**
|
||||
** 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
|
||||
** Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
**
|
||||
** See http://www.matroska.org/license/lgpl/ for LGPL licensing information.**
|
||||
** See http://www.gnu.org/licenses/lgpl-2.1.html for LGPL licensing information.**
|
||||
** Contact license@matroska.org if any conditions of this licensing are
|
||||
** not clear to you.
|
||||
**
|
||||
@@ -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) {
|
||||
@@ -305,7 +305,6 @@ class MATROSKA_DLL_API KaxSimpleBlock : public KaxInternalBlock {
|
||||
bool IsKeyframe() const { return bIsKeyframe; }
|
||||
bool IsDiscardable() const { return bIsDiscardable; }
|
||||
|
||||
operator KaxInternalBlock &() { return *this; }
|
||||
void SetParent(KaxCluster & aParentCluster);
|
||||
|
||||
EBML_CONCRETE_CLASS(KaxSimpleBlock)
|
||||
@@ -359,9 +358,6 @@ protected:
|
||||
BlockBlobType SimpleBlockMode;
|
||||
};
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxBlockDuration)
|
||||
};
|
||||
|
||||
#if MATROSKA_VERSION >= 2
|
||||
DECLARE_MKX_BINARY_CONS(KaxBlockVirtual)
|
||||
public:
|
||||
@@ -374,6 +370,10 @@ DECLARE_MKX_BINARY_CONS(KaxBlockVirtual)
|
||||
|
||||
void SetParent(const KaxCluster & aParentCluster) {ParentCluster = &aParentCluster;}
|
||||
|
||||
filepos_t RenderData(IOCallback & output, bool bForceRender, bool bSaveDefault);
|
||||
|
||||
filepos_t ReadData(IOCallback & input, ScopeMode ReadFully = SCOPE_ALL_DATA);
|
||||
|
||||
protected:
|
||||
uint64 Timecode; // temporary timecode of the first frame if there are more than one
|
||||
uint16 TrackNumber;
|
||||
@@ -383,21 +383,6 @@ DECLARE_MKX_BINARY_CONS(KaxBlockVirtual)
|
||||
};
|
||||
#endif // MATROSKA_VERSION
|
||||
|
||||
DECLARE_MKX_BINARY(KaxBlockAdditional)
|
||||
};
|
||||
|
||||
DECLARE_MKX_MASTER(KaxBlockAdditions)
|
||||
};
|
||||
|
||||
DECLARE_MKX_MASTER(KaxBlockMore)
|
||||
};
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxBlockAddID)
|
||||
};
|
||||
|
||||
DECLARE_MKX_BINARY(KaxCodecState)
|
||||
};
|
||||
|
||||
END_LIBMATROSKA_NAMESPACE
|
||||
|
||||
#endif // LIBMATROSKA_BLOCK_H
|
||||
|
@@ -17,9 +17,9 @@
|
||||
**
|
||||
** 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
|
||||
** Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
**
|
||||
** See http://www.matroska.org/license/lgpl/ for LGPL licensing information.**
|
||||
** See http://www.gnu.org/licenses/lgpl-2.1.html for LGPL licensing information.**
|
||||
** Contact license@matroska.org if any conditions of this licensing are
|
||||
** not clear to you.
|
||||
**
|
||||
@@ -38,18 +38,12 @@
|
||||
#include "ebml/EbmlUInteger.h"
|
||||
#include "ebml/EbmlSInteger.h"
|
||||
#include "matroska/KaxDefines.h"
|
||||
#include "matroska/KaxBlock.h"
|
||||
|
||||
using namespace LIBEBML_NAMESPACE;
|
||||
|
||||
START_LIBMATROSKA_NAMESPACE
|
||||
|
||||
class KaxReferenceBlock;
|
||||
class KaxBlockGroup;
|
||||
class KaxBlockBlob;
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxReferencePriority)
|
||||
};
|
||||
|
||||
/*!
|
||||
\brief element used for B frame-likes
|
||||
*/
|
||||
@@ -75,32 +69,6 @@ DECLARE_MKX_SINTEGER_CONS(KaxReferenceBlock)
|
||||
void FreeBlob();
|
||||
};
|
||||
|
||||
#if MATROSKA_VERSION >= 2
|
||||
DECLARE_MKX_SINTEGER(KaxReferenceVirtual)
|
||||
};
|
||||
#endif // MATROSKA_VERSION
|
||||
|
||||
DECLARE_MKX_MASTER(KaxTimeSlice)
|
||||
};
|
||||
|
||||
DECLARE_MKX_MASTER(KaxSlices)
|
||||
};
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxSliceLaceNumber)
|
||||
};
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxSliceFrameNumber)
|
||||
};
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxSliceBlockAddID)
|
||||
};
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxSliceDelay)
|
||||
};
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxSliceDuration)
|
||||
};
|
||||
|
||||
END_LIBMATROSKA_NAMESPACE
|
||||
|
||||
#endif // LIBMATROSKA_BLOCK_ADDITIONAL_H
|
||||
|
@@ -19,9 +19,9 @@
|
||||
**
|
||||
** 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
|
||||
** Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
**
|
||||
** See http://www.matroska.org/license/lgpl/ for LGPL licensing information.**
|
||||
** See http://www.gnu.org/licenses/lgpl-2.1.html for LGPL licensing information.**
|
||||
** Contact license@matroska.org if any conditions of this licensing are
|
||||
** not clear to you.
|
||||
**
|
||||
@@ -35,103 +35,6 @@
|
||||
#ifndef LIBMATROSKA_CHAPTERS_H
|
||||
#define LIBMATROSKA_CHAPTERS_H
|
||||
|
||||
#include "matroska/KaxTypes.h"
|
||||
#include "ebml/EbmlMaster.h"
|
||||
#include "ebml/EbmlUInteger.h"
|
||||
#include "ebml/EbmlUnicodeString.h"
|
||||
#include "ebml/EbmlString.h"
|
||||
#include "ebml/EbmlBinary.h"
|
||||
#include "matroska/KaxDefines.h"
|
||||
|
||||
using namespace LIBEBML_NAMESPACE;
|
||||
|
||||
START_LIBMATROSKA_NAMESPACE
|
||||
|
||||
DECLARE_MKX_MASTER(KaxChapters)
|
||||
};
|
||||
|
||||
DECLARE_MKX_MASTER(KaxEditionEntry)
|
||||
};
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxEditionUID)
|
||||
};
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxEditionFlagHidden)
|
||||
};
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxEditionFlagDefault)
|
||||
};
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxEditionFlagOrdered)
|
||||
};
|
||||
|
||||
DECLARE_MKX_MASTER(KaxChapterAtom)
|
||||
};
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxChapterUID)
|
||||
};
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxChapterTimeStart)
|
||||
};
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxChapterTimeEnd)
|
||||
};
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxChapterFlagHidden)
|
||||
};
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxChapterFlagEnabled)
|
||||
};
|
||||
|
||||
DECLARE_MKX_BINARY(KaxChapterSegmentUID)
|
||||
public:
|
||||
virtual bool ValidateSize() const { return IsFiniteSize() && (GetSize() == 16);}
|
||||
};
|
||||
|
||||
DECLARE_MKX_BINARY(KaxChapterSegmentEditionUID)
|
||||
public:
|
||||
virtual bool ValidateSize() const { return IsFiniteSize() && (GetSize() == 16);}
|
||||
};
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxChapterPhysicalEquiv)
|
||||
};
|
||||
|
||||
DECLARE_MKX_MASTER(KaxChapterTrack)
|
||||
};
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxChapterTrackNumber)
|
||||
};
|
||||
|
||||
DECLARE_MKX_MASTER(KaxChapterDisplay)
|
||||
};
|
||||
|
||||
DECLARE_MKX_UNISTRING(KaxChapterString)
|
||||
};
|
||||
|
||||
DECLARE_MKX_STRING(KaxChapterLanguage)
|
||||
};
|
||||
|
||||
DECLARE_MKX_STRING(KaxChapterCountry)
|
||||
};
|
||||
|
||||
DECLARE_MKX_MASTER(KaxChapterProcess)
|
||||
};
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxChapterProcessCodecID)
|
||||
};
|
||||
|
||||
DECLARE_MKX_BINARY(KaxChapterProcessPrivate)
|
||||
};
|
||||
|
||||
DECLARE_MKX_MASTER(KaxChapterProcessCommand)
|
||||
};
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxChapterProcessTime)
|
||||
};
|
||||
|
||||
DECLARE_MKX_BINARY(KaxChapterProcessData)
|
||||
};
|
||||
|
||||
END_LIBMATROSKA_NAMESPACE
|
||||
#include "matroska/KaxSemantic.h"
|
||||
|
||||
#endif // LIBMATROSKA_CHAPTERS_H
|
||||
|
@@ -17,9 +17,9 @@
|
||||
**
|
||||
** 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
|
||||
** Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
**
|
||||
** See http://www.matroska.org/license/lgpl/ for LGPL licensing information.**
|
||||
** See http://www.gnu.org/licenses/lgpl-2.1.html for LGPL licensing information.**
|
||||
** Contact license@matroska.org if any conditions of this licensing are
|
||||
** not clear to you.
|
||||
**
|
||||
@@ -40,7 +40,6 @@
|
||||
#include "matroska/KaxTracks.h"
|
||||
#include "matroska/KaxBlock.h"
|
||||
#include "matroska/KaxCues.h"
|
||||
#include "matroska/KaxClusterData.h"
|
||||
#include "matroska/KaxDefines.h"
|
||||
|
||||
using namespace LIBEBML_NAMESPACE;
|
||||
|
@@ -19,9 +19,9 @@
|
||||
**
|
||||
** 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
|
||||
** Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
**
|
||||
** See http://www.matroska.org/license/lgpl/ for LGPL licensing information.**
|
||||
** See http://www.gnu.org/licenses/lgpl-2.1.html for LGPL licensing information.**
|
||||
** Contact license@matroska.org if any conditions of this licensing are
|
||||
** not clear to you.
|
||||
**
|
||||
@@ -35,30 +35,6 @@
|
||||
#ifndef LIBMATROSKA_CLUSTER_DATA_H
|
||||
#define LIBMATROSKA_CLUSTER_DATA_H
|
||||
|
||||
#include "matroska/KaxTypes.h"
|
||||
#include "ebml/EbmlMaster.h"
|
||||
#include "ebml/EbmlUInteger.h"
|
||||
#include "matroska/KaxDefines.h"
|
||||
|
||||
using namespace LIBEBML_NAMESPACE;
|
||||
|
||||
START_LIBMATROSKA_NAMESPACE
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxClusterTimecode)
|
||||
};
|
||||
|
||||
DECLARE_MKX_MASTER(KaxClusterSilentTracks)
|
||||
};
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxClusterSilentTrackNumber)
|
||||
};
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxClusterPosition)
|
||||
};
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxClusterPrevSize)
|
||||
};
|
||||
|
||||
END_LIBMATROSKA_NAMESPACE
|
||||
#include "matroska/KaxSemantic.h"
|
||||
|
||||
#endif // LIBMATROSKA_CLUSTER_DATA_H
|
||||
|
@@ -17,9 +17,9 @@
|
||||
**
|
||||
** 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
|
||||
** Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
**
|
||||
** See http://www.matroska.org/license/lgpl/ for LGPL licensing information.**
|
||||
** See http://www.gnu.org/licenses/lgpl-2.1.html for LGPL licensing information.**
|
||||
** Contact license@matroska.org if any conditions of this licensing are
|
||||
** not clear to you.
|
||||
**
|
||||
|
@@ -19,9 +19,9 @@
|
||||
**
|
||||
** 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
|
||||
** Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
**
|
||||
** See http://www.matroska.org/license/lgpl/ for LGPL licensing information.**
|
||||
** See http://www.gnu.org/licenses/lgpl-2.1.html for LGPL licensing information.**
|
||||
** Contact license@matroska.org if any conditions of this licensing are
|
||||
** not clear to you.
|
||||
**
|
||||
@@ -30,66 +30,11 @@
|
||||
/*!
|
||||
\file
|
||||
\version \$Id: KaxContentEncoding.h,v 1.7 2004/04/14 23:26:17 robux4 Exp $
|
||||
\author Moritz Bunkus <moritz @ bunkus.org>
|
||||
\author Steve Lhomme <robux4 @ users.sf.net>
|
||||
*/
|
||||
#ifndef LIBMATROSKA_CONTENT_ENCODING_H
|
||||
#define LIBMATROSKA_CONTENT_ENCODING_H
|
||||
|
||||
#include "matroska/KaxTypes.h"
|
||||
#include "ebml/EbmlMaster.h"
|
||||
#include "ebml/EbmlUInteger.h"
|
||||
#include "ebml/EbmlBinary.h"
|
||||
#include "matroska/KaxDefines.h"
|
||||
|
||||
using namespace LIBEBML_NAMESPACE;
|
||||
|
||||
START_LIBMATROSKA_NAMESPACE
|
||||
|
||||
DECLARE_MKX_MASTER(KaxContentEncodings)
|
||||
};
|
||||
|
||||
DECLARE_MKX_MASTER(KaxContentEncoding)
|
||||
};
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxContentEncodingOrder)
|
||||
};
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxContentEncodingScope)
|
||||
};
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxContentEncodingType)
|
||||
};
|
||||
|
||||
DECLARE_MKX_MASTER(KaxContentCompression)
|
||||
};
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxContentCompAlgo)
|
||||
};
|
||||
|
||||
DECLARE_MKX_BINARY(KaxContentCompSettings)
|
||||
};
|
||||
|
||||
DECLARE_MKX_MASTER(KaxContentEncryption)
|
||||
};
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxContentEncAlgo)
|
||||
};
|
||||
|
||||
DECLARE_MKX_BINARY(KaxContentEncKeyID)
|
||||
};
|
||||
|
||||
DECLARE_MKX_BINARY(KaxContentSignature)
|
||||
};
|
||||
|
||||
DECLARE_MKX_BINARY(KaxContentSigKeyID)
|
||||
};
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxContentSigAlgo)
|
||||
};
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxContentSigHashAlgo)
|
||||
};
|
||||
|
||||
END_LIBMATROSKA_NAMESPACE
|
||||
#include "matroska/KaxSemantic.h"
|
||||
|
||||
#endif // LIBMATROSKA_CONTENT_ENCODING_H
|
||||
|
@@ -19,9 +19,9 @@
|
||||
**
|
||||
** 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
|
||||
** Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
**
|
||||
** See http://www.matroska.org/license/lgpl/ for LGPL licensing information.**
|
||||
** See http://www.gnu.org/licenses/lgpl-2.1.html for LGPL licensing information.**
|
||||
** Contact license@matroska.org if any conditions of this licensing are
|
||||
** not clear to you.
|
||||
**
|
||||
|
@@ -19,9 +19,9 @@
|
||||
**
|
||||
** 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
|
||||
** Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
**
|
||||
** See http://www.matroska.org/license/lgpl/ for LGPL licensing information.**
|
||||
** See http://www.gnu.org/licenses/lgpl-2.1.html for LGPL licensing information.**
|
||||
** Contact license@matroska.org if any conditions of this licensing are
|
||||
** not clear to you.
|
||||
**
|
||||
|
@@ -17,9 +17,9 @@
|
||||
**
|
||||
** 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
|
||||
** Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
**
|
||||
** See http://www.matroska.org/license/lgpl/ for LGPL licensing information.**
|
||||
** See http://www.gnu.org/licenses/lgpl-2.1.html for LGPL licensing information.**
|
||||
** Contact license@matroska.org if any conditions of this licensing are
|
||||
** not clear to you.
|
||||
**
|
||||
@@ -58,45 +58,18 @@ DECLARE_MKX_MASTER(KaxCuePoint)
|
||||
bool Timecode(uint64 & aTimecode, uint64 GlobalTimecodeScale) const;
|
||||
};
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxCueTime)
|
||||
};
|
||||
|
||||
DECLARE_MKX_MASTER(KaxCueTrackPositions)
|
||||
public:
|
||||
uint64 ClusterPosition() const;
|
||||
uint16 TrackNumber() const;
|
||||
};
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxCueTrack)
|
||||
};
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxCueClusterPosition)
|
||||
};
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxCueBlockNumber)
|
||||
};
|
||||
|
||||
#if MATROSKA_VERSION >= 2
|
||||
DECLARE_MKX_UINTEGER(KaxCueCodecState)
|
||||
};
|
||||
|
||||
DECLARE_MKX_MASTER(KaxCueReference)
|
||||
public:
|
||||
void AddReference(const KaxBlockGroup & BlockReferenced, uint64 GlobalTimecodeScale);
|
||||
void AddReference(const KaxBlockBlob & BlockReferenced, uint64 GlobalTimecodeScale);
|
||||
};
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxCueRefTime)
|
||||
};
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxCueRefCluster)
|
||||
};
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxCueRefNumber)
|
||||
};
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxCueRefCodecState)
|
||||
};
|
||||
#endif // MATROSKA_VERSION
|
||||
|
||||
END_LIBMATROSKA_NAMESPACE
|
||||
|
@@ -17,9 +17,9 @@
|
||||
**
|
||||
** 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
|
||||
** Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
**
|
||||
** See http://www.matroska.org/license/lgpl/ for LGPL licensing information.**
|
||||
** See http://www.gnu.org/licenses/lgpl-2.1.html for LGPL licensing information.**
|
||||
** Contact license@matroska.org if any conditions of this licensing are
|
||||
** not clear to you.
|
||||
**
|
||||
@@ -42,6 +42,7 @@
|
||||
#define DEFINE_MKX_MASTER(a,b,c,d,e) DEFINE_xxx_MASTER(a,b,d,e,EBML_SemanticGlobal)
|
||||
#define DEFINE_MKX_MASTER_ORPHAN(a,b,c,d) DEFINE_xxx_MASTER_ORPHAN(a,b,d,EBML_SemanticGlobal)
|
||||
#define DEFINE_MKX_UINTEGER_DEF(a,b,c,d,e,v) DEFINE_xxx_UINTEGER_DEF(a,b,d,e,EBML_SemanticGlobal,v)
|
||||
#define DEFINE_MKX_SINTEGER_DEF(a,b,c,d,e,v) DEFINE_xxx_SINTEGER_DEF(a,b,d,e,EBML_SemanticGlobal,v)
|
||||
#define DEFINE_MKX_UINTEGER(a,b,c,d,e) DEFINE_xxx_UINTEGER(a,b,d,e,EBML_SemanticGlobal)
|
||||
#define DEFINE_MKX_SINTEGER(a,b,c,d,e) DEFINE_xxx_SINTEGER(a,b,d,e,EBML_SemanticGlobal)
|
||||
#define DEFINE_MKX_SINTEGER_CONS(a,b,c,d,e) DEFINE_xxx_SINTEGER_CONS(a,b,d,e,EBML_SemanticGlobal)
|
||||
@@ -130,6 +131,7 @@ class MATROSKA_DLL_API x : public EbmlMaster { \
|
||||
#define DEFINE_MKX_MASTER(a,b,c,d,e) DEFINE_xxx_MASTER(a,b,c,d,e,*GetKaxGlobal_Context)
|
||||
#define DEFINE_MKX_MASTER_ORPHAN(a,b,c,d) DEFINE_xxx_MASTER_ORPHAN(a,b,c,d,*GetKaxGlobal_Context)
|
||||
#define DEFINE_MKX_UINTEGER_DEF(a,b,c,d,e,v) DEFINE_xxx_UINTEGER_DEF(a,b,c,d,e,*GetKaxGlobal_Context,v)
|
||||
#define DEFINE_MKX_SINTEGER_DEF(a,b,c,d,e,v) DEFINE_xxx_SINTEGER_DEF(a,b,c,d,e,*GetKaxGlobal_Context,v)
|
||||
#define DEFINE_MKX_UINTEGER(a,b,c,d,e) DEFINE_xxx_CLASS(a,b,c,d,e,*GetKaxGlobal_Context)
|
||||
#define DEFINE_MKX_SINTEGER(a,b,c,d,e) DEFINE_xxx_CLASS(a,b,c,d,e,*GetKaxGlobal_Context)
|
||||
#define DEFINE_MKX_STRING_DEF(a,b,c,d,e,v) DEFINE_xxx_STRING_DEF(a,b,c,d,e,*GetKaxGlobal_Context,v)
|
||||
|
@@ -19,9 +19,9 @@
|
||||
**
|
||||
** 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
|
||||
** Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
**
|
||||
** See http://www.matroska.org/license/lgpl/ for LGPL licensing information.**
|
||||
** See http://www.gnu.org/licenses/lgpl-2.1.html for LGPL licensing information.**
|
||||
** Contact license@matroska.org if any conditions of this licensing are
|
||||
** not clear to you.
|
||||
**
|
||||
@@ -35,24 +35,6 @@
|
||||
#ifndef LIBMATROSKA_INFO_H
|
||||
#define LIBMATROSKA_INFO_H
|
||||
|
||||
#include "matroska/KaxTypes.h"
|
||||
#include "ebml/EbmlMaster.h"
|
||||
#include "ebml/EbmlUnicodeString.h"
|
||||
#include "matroska/KaxDefines.h"
|
||||
|
||||
using namespace LIBEBML_NAMESPACE;
|
||||
|
||||
START_LIBMATROSKA_NAMESPACE
|
||||
|
||||
DECLARE_MKX_MASTER(KaxInfo)
|
||||
};
|
||||
|
||||
DECLARE_MKX_UNISTRING(KaxMuxingApp)
|
||||
};
|
||||
|
||||
DECLARE_MKX_UNISTRING(KaxWritingApp)
|
||||
};
|
||||
|
||||
END_LIBMATROSKA_NAMESPACE
|
||||
#include "matroska/KaxSemantic.h"
|
||||
|
||||
#endif // LIBMATROSKA_INFO_H
|
||||
|
@@ -19,9 +19,9 @@
|
||||
**
|
||||
** 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
|
||||
** Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
**
|
||||
** See http://www.matroska.org/license/lgpl/ for LGPL licensing information.**
|
||||
** See http://www.gnu.org/licenses/lgpl-2.1.html for LGPL licensing information.**
|
||||
** Contact license@matroska.org if any conditions of this licensing are
|
||||
** not clear to you.
|
||||
**
|
||||
@@ -45,22 +45,12 @@
|
||||
#include "ebml/EbmlDate.h"
|
||||
#include "ebml/EbmlMaster.h"
|
||||
#include "matroska/KaxDefines.h"
|
||||
#include "matroska/KaxSemantic.h"
|
||||
|
||||
using namespace LIBEBML_NAMESPACE;
|
||||
|
||||
START_LIBMATROSKA_NAMESPACE
|
||||
|
||||
DECLARE_MKX_BINARY(KaxSegmentUID)
|
||||
public:
|
||||
#if defined(HAVE_EBML2) || defined(HAS_EBML2)
|
||||
KaxSegmentUID(EBML_DEF_CONS EBML_DEF_SEP EBML_EXTRA_PARAM);
|
||||
#endif
|
||||
virtual bool ValidateSize() const { return IsFiniteSize() && (GetSize() == 16);}
|
||||
};
|
||||
|
||||
DECLARE_MKX_UNISTRING(KaxSegmentFilename)
|
||||
};
|
||||
|
||||
DECLARE_MKX_CONTEXT(KaxPrevUID);
|
||||
class MATROSKA_DLL_API KaxPrevUID : public KaxSegmentUID {
|
||||
public:
|
||||
@@ -71,9 +61,6 @@ class MATROSKA_DLL_API KaxPrevUID : public KaxSegmentUID {
|
||||
EBML_CONCRETE_CLASS(KaxPrevUID)
|
||||
};
|
||||
|
||||
DECLARE_MKX_UNISTRING(KaxPrevFilename)
|
||||
};
|
||||
|
||||
DECLARE_MKX_CONTEXT(KaxNextUID);
|
||||
class MATROSKA_DLL_API KaxNextUID : public KaxSegmentUID {
|
||||
public:
|
||||
@@ -84,38 +71,6 @@ class MATROSKA_DLL_API KaxNextUID : public KaxSegmentUID {
|
||||
EBML_CONCRETE_CLASS(KaxNextUID)
|
||||
};
|
||||
|
||||
DECLARE_MKX_UNISTRING(KaxNextFilename)
|
||||
};
|
||||
|
||||
DECLARE_MKX_BINARY(KaxSegmentFamily)
|
||||
public:
|
||||
virtual bool ValidateSize() const { return IsFiniteSize() && (GetSize() == 16);}
|
||||
};
|
||||
|
||||
DECLARE_MKX_MASTER(KaxChapterTranslate)
|
||||
};
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxChapterTranslateCodec)
|
||||
};
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxChapterTranslateEditionUID)
|
||||
};
|
||||
|
||||
DECLARE_MKX_BINARY(KaxChapterTranslateID)
|
||||
};
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxTimecodeScale)
|
||||
};
|
||||
|
||||
DECLARE_MKX_FLOAT(KaxDuration)
|
||||
};
|
||||
|
||||
DECLARE_MKX_DATE(KaxDateUTC)
|
||||
};
|
||||
|
||||
DECLARE_MKX_UNISTRING(KaxTitle)
|
||||
};
|
||||
|
||||
END_LIBMATROSKA_NAMESPACE
|
||||
|
||||
#endif // LIBMATROSKA_INFO_DATA_H
|
||||
|
@@ -19,9 +19,9 @@
|
||||
**
|
||||
** 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
|
||||
** Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
**
|
||||
** See http://www.matroska.org/license/lgpl/ for LGPL licensing information.**
|
||||
** See http://www.gnu.org/licenses/lgpl-2.1.html for LGPL licensing information.**
|
||||
** Contact license@matroska.org if any conditions of this licensing are
|
||||
** not clear to you.
|
||||
**
|
||||
@@ -46,7 +46,13 @@ using namespace LIBEBML_NAMESPACE;
|
||||
START_LIBMATROSKA_NAMESPACE
|
||||
|
||||
class KaxSegment;
|
||||
class KaxSeek;
|
||||
|
||||
DECLARE_MKX_MASTER(KaxSeek)
|
||||
public:
|
||||
int64 Location() const;
|
||||
bool IsEbmlId(const EbmlId & aId) const;
|
||||
bool IsEbmlId(const KaxSeek & aPoint) const;
|
||||
};
|
||||
|
||||
DECLARE_MKX_MASTER(KaxSeekHead)
|
||||
public:
|
||||
@@ -60,21 +66,6 @@ DECLARE_MKX_MASTER(KaxSeekHead)
|
||||
KaxSeek * FindNextOf(const KaxSeek &aPrev) const;
|
||||
};
|
||||
|
||||
DECLARE_MKX_MASTER(KaxSeek)
|
||||
public:
|
||||
int64 Location() const;
|
||||
bool IsEbmlId(const EbmlId & aId) const;
|
||||
bool IsEbmlId(const KaxSeek & aPoint) const;
|
||||
};
|
||||
|
||||
DECLARE_MKX_BINARY(KaxSeekID)
|
||||
public:
|
||||
virtual bool ValidateSize() const {return IsFiniteSize() && GetSize() <= 4;}
|
||||
};
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxSeekPosition)
|
||||
};
|
||||
|
||||
END_LIBMATROSKA_NAMESPACE
|
||||
|
||||
#endif // LIBMATROSKA_SEEK_HEAD_H
|
||||
|
@@ -19,9 +19,9 @@
|
||||
**
|
||||
** 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
|
||||
** Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
**
|
||||
** See http://www.matroska.org/license/lgpl/ for LGPL licensing information.**
|
||||
** See http://www.gnu.org/licenses/lgpl-2.1.html for LGPL licensing information.**
|
||||
** Contact license@matroska.org if any conditions of this licensing are
|
||||
** not clear to you.
|
||||
**
|
||||
|
741
matroska/KaxSemantic.h
Normal file
741
matroska/KaxSemantic.h
Normal file
@@ -0,0 +1,741 @@
|
||||
/**********************************************************************
|
||||
** DO NOT EDIT, GENERATED WITH DATA2LIB
|
||||
**
|
||||
** libmatroska : parse Matroska files, see http://www.matroska.org/
|
||||
**
|
||||
** Copyright (c) 2002-2010, Matroska (non-profit organisation)
|
||||
** All rights reserved.
|
||||
**
|
||||
** This file is part of libmatroska.
|
||||
**
|
||||
** 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
**
|
||||
** See http://www.gnu.org/licenses/lgpl-2.1.html for LGPL licensing information.**
|
||||
** Contact license@matroska.org if any conditions of this licensing are
|
||||
** not clear to you.
|
||||
**
|
||||
**********************************************************************/
|
||||
|
||||
|
||||
#ifndef LIBMATROSKA_SEMANTIC_H
|
||||
#define LIBMATROSKA_SEMANTIC_H
|
||||
|
||||
#include "matroska/KaxTypes.h"
|
||||
#include "ebml/EbmlUInteger.h"
|
||||
#include "ebml/EbmlSInteger.h"
|
||||
#include "ebml/EbmlDate.h"
|
||||
#include "ebml/EbmlFloat.h"
|
||||
#include "ebml/EbmlString.h"
|
||||
#include "ebml/EbmlUnicodeString.h"
|
||||
#include "ebml/EbmlBinary.h"
|
||||
#include "ebml/EbmlMaster.h"
|
||||
#include "matroska/KaxDefines.h"
|
||||
|
||||
using namespace LIBEBML_NAMESPACE;
|
||||
|
||||
START_LIBMATROSKA_NAMESPACE
|
||||
|
||||
DECLARE_MKX_BINARY (KaxSeekID)
|
||||
public:
|
||||
virtual bool ValidateSize() const {return IsFiniteSize() && GetSize() <= 4;}
|
||||
};
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxSeekPosition)
|
||||
};
|
||||
|
||||
DECLARE_MKX_MASTER(KaxInfo)
|
||||
};
|
||||
|
||||
|
||||
DECLARE_MKX_BINARY (KaxSegmentUID)
|
||||
#if defined(HAVE_EBML2) || defined(HAS_EBML2)
|
||||
public:
|
||||
KaxSegmentUID(EBML_DEF_CONS EBML_DEF_SEP EBML_EXTRA_PARAM);
|
||||
#endif
|
||||
public:
|
||||
virtual bool ValidateSize() const {return IsFiniteSize() && GetSize() == 16;}
|
||||
};
|
||||
|
||||
DECLARE_MKX_UNISTRING(KaxSegmentFilename)
|
||||
};
|
||||
|
||||
DECLARE_MKX_UNISTRING(KaxPrevFilename)
|
||||
};
|
||||
|
||||
DECLARE_MKX_UNISTRING(KaxNextFilename)
|
||||
};
|
||||
|
||||
DECLARE_MKX_BINARY (KaxSegmentFamily)
|
||||
public:
|
||||
virtual bool ValidateSize() const {return IsFiniteSize() && GetSize() == 16;}
|
||||
};
|
||||
|
||||
DECLARE_MKX_MASTER(KaxChapterTranslate)
|
||||
};
|
||||
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxChapterTranslateEditionUID)
|
||||
};
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxChapterTranslateCodec)
|
||||
};
|
||||
|
||||
DECLARE_MKX_BINARY (KaxChapterTranslateID)
|
||||
};
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxTimecodeScale)
|
||||
};
|
||||
|
||||
DECLARE_MKX_FLOAT(KaxDuration)
|
||||
};
|
||||
|
||||
DECLARE_MKX_DATE (KaxDateUTC)
|
||||
};
|
||||
|
||||
DECLARE_MKX_UNISTRING(KaxTitle)
|
||||
};
|
||||
|
||||
DECLARE_MKX_UNISTRING(KaxMuxingApp)
|
||||
};
|
||||
|
||||
DECLARE_MKX_UNISTRING(KaxWritingApp)
|
||||
};
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxClusterTimecode)
|
||||
};
|
||||
|
||||
DECLARE_MKX_MASTER(KaxClusterSilentTracks)
|
||||
};
|
||||
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxClusterSilentTrackNumber)
|
||||
};
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxClusterPosition)
|
||||
};
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxClusterPrevSize)
|
||||
};
|
||||
|
||||
DECLARE_MKX_MASTER(KaxBlockAdditions)
|
||||
};
|
||||
|
||||
|
||||
DECLARE_MKX_MASTER(KaxBlockMore)
|
||||
};
|
||||
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxBlockAddID)
|
||||
};
|
||||
|
||||
DECLARE_MKX_BINARY (KaxBlockAdditional)
|
||||
};
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxBlockDuration)
|
||||
};
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxReferencePriority)
|
||||
};
|
||||
|
||||
#if MATROSKA_VERSION >= 2
|
||||
DECLARE_MKX_SINTEGER(KaxReferenceVirtual)
|
||||
public:
|
||||
filepos_t RenderData(IOCallback & output, bool bForceRender, bool bSaveDefault);
|
||||
};
|
||||
|
||||
DECLARE_MKX_BINARY (KaxCodecState)
|
||||
};
|
||||
|
||||
DECLARE_MKX_SINTEGER(KaxDiscardPadding)
|
||||
};
|
||||
#endif
|
||||
|
||||
DECLARE_MKX_MASTER(KaxSlices)
|
||||
};
|
||||
|
||||
|
||||
DECLARE_MKX_MASTER(KaxTimeSlice)
|
||||
};
|
||||
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxSliceLaceNumber)
|
||||
};
|
||||
|
||||
#if MATROSKA_VERSION >= 2
|
||||
DECLARE_MKX_UINTEGER(KaxSliceFrameNumber)
|
||||
public:
|
||||
filepos_t RenderData(IOCallback & output, bool bForceRender, bool bSaveDefault);
|
||||
};
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxSliceBlockAddID)
|
||||
public:
|
||||
filepos_t RenderData(IOCallback & output, bool bForceRender, bool bSaveDefault);
|
||||
};
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxSliceDelay)
|
||||
public:
|
||||
filepos_t RenderData(IOCallback & output, bool bForceRender, bool bSaveDefault);
|
||||
};
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxSliceDuration)
|
||||
public:
|
||||
filepos_t RenderData(IOCallback & output, bool bForceRender, bool bSaveDefault);
|
||||
};
|
||||
|
||||
DECLARE_MKX_MASTER(KaxReferenceFrame)
|
||||
};
|
||||
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxReferenceOffset)
|
||||
};
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxReferenceTimeCode)
|
||||
};
|
||||
|
||||
DECLARE_MKX_BINARY (KaxEncryptedBlock)
|
||||
public:
|
||||
filepos_t RenderData(IOCallback & output, bool bForceRender, bool bSaveDefault);
|
||||
};
|
||||
#endif
|
||||
|
||||
DECLARE_MKX_MASTER(KaxTracks)
|
||||
};
|
||||
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxTrackNumber)
|
||||
};
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxTrackUID)
|
||||
};
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxTrackType)
|
||||
};
|
||||
|
||||
#if MATROSKA_VERSION >= 2
|
||||
DECLARE_MKX_UINTEGER(KaxTrackFlagEnabled)
|
||||
};
|
||||
#endif
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxTrackFlagDefault)
|
||||
};
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxTrackFlagForced)
|
||||
};
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxTrackFlagLacing)
|
||||
};
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxTrackMinCache)
|
||||
};
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxTrackMaxCache)
|
||||
};
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxTrackDefaultDuration)
|
||||
};
|
||||
|
||||
#if MATROSKA_VERSION >= 2
|
||||
DECLARE_MKX_UINTEGER(KaxTrackDefaultDecodedFieldDuration)
|
||||
};
|
||||
#endif
|
||||
|
||||
DECLARE_MKX_FLOAT(KaxTrackTimecodeScale)
|
||||
public:
|
||||
filepos_t RenderData(IOCallback & output, bool bForceRender, bool bSaveDefault);
|
||||
};
|
||||
|
||||
#if MATROSKA_VERSION >= 2
|
||||
DECLARE_MKX_SINTEGER(KaxTrackOffset)
|
||||
public:
|
||||
filepos_t RenderData(IOCallback & output, bool bForceRender, bool bSaveDefault);
|
||||
};
|
||||
#endif
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxMaxBlockAdditionID)
|
||||
};
|
||||
|
||||
DECLARE_MKX_UNISTRING(KaxTrackName)
|
||||
};
|
||||
|
||||
DECLARE_MKX_STRING(KaxTrackLanguage)
|
||||
};
|
||||
|
||||
DECLARE_MKX_STRING(KaxCodecID)
|
||||
};
|
||||
|
||||
DECLARE_MKX_BINARY (KaxCodecPrivate)
|
||||
};
|
||||
|
||||
DECLARE_MKX_UNISTRING(KaxCodecName)
|
||||
};
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxTrackAttachmentLink)
|
||||
};
|
||||
|
||||
#if MATROSKA_VERSION >= 2
|
||||
DECLARE_MKX_UNISTRING(KaxCodecSettings)
|
||||
public:
|
||||
filepos_t RenderData(IOCallback & output, bool bForceRender, bool bSaveDefault);
|
||||
};
|
||||
|
||||
DECLARE_MKX_STRING(KaxCodecInfoURL)
|
||||
public:
|
||||
filepos_t RenderData(IOCallback & output, bool bForceRender, bool bSaveDefault);
|
||||
};
|
||||
|
||||
DECLARE_MKX_STRING(KaxCodecDownloadURL)
|
||||
public:
|
||||
filepos_t RenderData(IOCallback & output, bool bForceRender, bool bSaveDefault);
|
||||
};
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxCodecDecodeAll)
|
||||
};
|
||||
#endif
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxTrackOverlay)
|
||||
};
|
||||
|
||||
#if MATROSKA_VERSION >= 2
|
||||
DECLARE_MKX_UINTEGER(KaxCodecDelay)
|
||||
};
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxSeekPreRoll)
|
||||
};
|
||||
#endif
|
||||
|
||||
DECLARE_MKX_MASTER(KaxTrackTranslate)
|
||||
};
|
||||
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxTrackTranslateEditionUID)
|
||||
};
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxTrackTranslateCodec)
|
||||
};
|
||||
|
||||
DECLARE_MKX_BINARY (KaxTrackTranslateTrackID)
|
||||
};
|
||||
|
||||
DECLARE_MKX_MASTER(KaxTrackVideo)
|
||||
};
|
||||
|
||||
|
||||
#if MATROSKA_VERSION >= 2
|
||||
DECLARE_MKX_UINTEGER(KaxVideoFlagInterlaced)
|
||||
};
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxVideoStereoMode)
|
||||
};
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxVideoAlphaMode)
|
||||
};
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxOldStereoMode)
|
||||
public:
|
||||
filepos_t RenderData(IOCallback & output, bool bForceRender, bool bSaveDefault);
|
||||
};
|
||||
#endif
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxVideoPixelWidth)
|
||||
};
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxVideoPixelHeight)
|
||||
};
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxVideoPixelCropBottom)
|
||||
};
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxVideoPixelCropTop)
|
||||
};
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxVideoPixelCropLeft)
|
||||
};
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxVideoPixelCropRight)
|
||||
};
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxVideoDisplayWidth)
|
||||
};
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxVideoDisplayHeight)
|
||||
};
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxVideoDisplayUnit)
|
||||
};
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxVideoAspectRatio)
|
||||
};
|
||||
|
||||
DECLARE_MKX_BINARY (KaxVideoColourSpace)
|
||||
public:
|
||||
virtual bool ValidateSize() const {return IsFiniteSize() && GetSize() == 4;}
|
||||
};
|
||||
|
||||
#if MATROSKA_VERSION >= 2
|
||||
DECLARE_MKX_FLOAT(KaxVideoGamma)
|
||||
public:
|
||||
filepos_t RenderData(IOCallback & output, bool bForceRender, bool bSaveDefault);
|
||||
};
|
||||
|
||||
DECLARE_MKX_FLOAT(KaxVideoFrameRate)
|
||||
public:
|
||||
filepos_t RenderData(IOCallback & output, bool bForceRender, bool bSaveDefault);
|
||||
};
|
||||
#endif
|
||||
|
||||
DECLARE_MKX_MASTER(KaxTrackAudio)
|
||||
};
|
||||
|
||||
|
||||
DECLARE_MKX_FLOAT(KaxAudioSamplingFreq)
|
||||
};
|
||||
|
||||
DECLARE_MKX_FLOAT(KaxAudioOutputSamplingFreq)
|
||||
};
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxAudioChannels)
|
||||
};
|
||||
|
||||
#if MATROSKA_VERSION >= 2
|
||||
DECLARE_MKX_BINARY (KaxAudioPosition)
|
||||
public:
|
||||
filepos_t RenderData(IOCallback & output, bool bForceRender, bool bSaveDefault);
|
||||
};
|
||||
#endif
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxAudioBitDepth)
|
||||
};
|
||||
|
||||
#if MATROSKA_VERSION >= 2
|
||||
DECLARE_MKX_MASTER(KaxTrackOperation)
|
||||
};
|
||||
|
||||
|
||||
DECLARE_MKX_MASTER(KaxTrackCombinePlanes)
|
||||
};
|
||||
|
||||
|
||||
DECLARE_MKX_MASTER(KaxTrackPlane)
|
||||
};
|
||||
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxTrackPlaneUID)
|
||||
};
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxTrackPlaneType)
|
||||
};
|
||||
|
||||
DECLARE_MKX_MASTER(KaxTrackJoinBlocks)
|
||||
};
|
||||
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxTrackJoinUID)
|
||||
};
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxTrickTrackUID)
|
||||
};
|
||||
|
||||
DECLARE_MKX_BINARY (KaxTrickTrackSegmentUID)
|
||||
public:
|
||||
virtual bool ValidateSize() const {return IsFiniteSize() && GetSize() == 16;}
|
||||
};
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxTrickTrackFlag)
|
||||
};
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxTrickMasterTrackUID)
|
||||
};
|
||||
|
||||
DECLARE_MKX_BINARY (KaxTrickMasterTrackSegmentUID)
|
||||
public:
|
||||
virtual bool ValidateSize() const {return IsFiniteSize() && GetSize() == 16;}
|
||||
};
|
||||
#endif
|
||||
|
||||
DECLARE_MKX_MASTER(KaxContentEncodings)
|
||||
};
|
||||
|
||||
|
||||
DECLARE_MKX_MASTER(KaxContentEncoding)
|
||||
};
|
||||
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxContentEncodingOrder)
|
||||
};
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxContentEncodingScope)
|
||||
};
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxContentEncodingType)
|
||||
};
|
||||
|
||||
DECLARE_MKX_MASTER(KaxContentCompression)
|
||||
};
|
||||
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxContentCompAlgo)
|
||||
};
|
||||
|
||||
DECLARE_MKX_BINARY (KaxContentCompSettings)
|
||||
};
|
||||
|
||||
DECLARE_MKX_MASTER(KaxContentEncryption)
|
||||
};
|
||||
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxContentEncAlgo)
|
||||
};
|
||||
|
||||
DECLARE_MKX_BINARY (KaxContentEncKeyID)
|
||||
};
|
||||
|
||||
DECLARE_MKX_BINARY (KaxContentSignature)
|
||||
};
|
||||
|
||||
DECLARE_MKX_BINARY (KaxContentSigKeyID)
|
||||
};
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxContentSigAlgo)
|
||||
};
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxContentSigHashAlgo)
|
||||
};
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxCueTime)
|
||||
};
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxCueTrack)
|
||||
};
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxCueClusterPosition)
|
||||
};
|
||||
|
||||
#if MATROSKA_VERSION >= 2
|
||||
DECLARE_MKX_UINTEGER(KaxCueRelativePosition)
|
||||
};
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxCueDuration)
|
||||
};
|
||||
#endif
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxCueBlockNumber)
|
||||
};
|
||||
|
||||
#if MATROSKA_VERSION >= 2
|
||||
DECLARE_MKX_UINTEGER(KaxCueCodecState)
|
||||
};
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxCueRefTime)
|
||||
};
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxCueRefCluster)
|
||||
public:
|
||||
filepos_t RenderData(IOCallback & output, bool bForceRender, bool bSaveDefault);
|
||||
};
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxCueRefNumber)
|
||||
public:
|
||||
filepos_t RenderData(IOCallback & output, bool bForceRender, bool bSaveDefault);
|
||||
};
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxCueRefCodecState)
|
||||
public:
|
||||
filepos_t RenderData(IOCallback & output, bool bForceRender, bool bSaveDefault);
|
||||
};
|
||||
#endif
|
||||
|
||||
DECLARE_MKX_MASTER(KaxAttachments)
|
||||
};
|
||||
|
||||
|
||||
DECLARE_MKX_MASTER(KaxAttached)
|
||||
};
|
||||
|
||||
|
||||
DECLARE_MKX_UNISTRING(KaxFileDescription)
|
||||
};
|
||||
|
||||
DECLARE_MKX_UNISTRING(KaxFileName)
|
||||
};
|
||||
|
||||
DECLARE_MKX_STRING(KaxMimeType)
|
||||
};
|
||||
|
||||
DECLARE_MKX_BINARY (KaxFileData)
|
||||
};
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxFileUID)
|
||||
};
|
||||
|
||||
#if MATROSKA_VERSION >= 2
|
||||
DECLARE_MKX_BINARY (KaxFileReferral)
|
||||
public:
|
||||
filepos_t RenderData(IOCallback & output, bool bForceRender, bool bSaveDefault);
|
||||
};
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxFileUsedStartTime)
|
||||
};
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxFileUsedEndTime)
|
||||
};
|
||||
#endif
|
||||
|
||||
DECLARE_MKX_MASTER(KaxChapters)
|
||||
};
|
||||
|
||||
|
||||
DECLARE_MKX_MASTER(KaxEditionEntry)
|
||||
};
|
||||
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxEditionUID)
|
||||
};
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxEditionFlagHidden)
|
||||
};
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxEditionFlagDefault)
|
||||
};
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxEditionFlagOrdered)
|
||||
};
|
||||
|
||||
DECLARE_MKX_MASTER(KaxChapterAtom)
|
||||
};
|
||||
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxChapterUID)
|
||||
};
|
||||
|
||||
#if MATROSKA_VERSION >= 2
|
||||
DECLARE_MKX_UNISTRING(KaxChapterStringUID)
|
||||
};
|
||||
#endif
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxChapterTimeStart)
|
||||
};
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxChapterTimeEnd)
|
||||
};
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxChapterFlagHidden)
|
||||
};
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxChapterFlagEnabled)
|
||||
};
|
||||
|
||||
DECLARE_MKX_BINARY (KaxChapterSegmentUID)
|
||||
public:
|
||||
virtual bool ValidateSize() const {return IsFiniteSize() && GetSize() == 16;}
|
||||
};
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxChapterSegmentEditionUID)
|
||||
};
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxChapterPhysicalEquiv)
|
||||
};
|
||||
|
||||
DECLARE_MKX_MASTER(KaxChapterTrack)
|
||||
};
|
||||
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxChapterTrackNumber)
|
||||
};
|
||||
|
||||
DECLARE_MKX_MASTER(KaxChapterDisplay)
|
||||
};
|
||||
|
||||
|
||||
DECLARE_MKX_UNISTRING(KaxChapterString)
|
||||
};
|
||||
|
||||
DECLARE_MKX_STRING(KaxChapterLanguage)
|
||||
};
|
||||
|
||||
DECLARE_MKX_STRING(KaxChapterCountry)
|
||||
};
|
||||
|
||||
DECLARE_MKX_MASTER(KaxChapterProcess)
|
||||
};
|
||||
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxChapterProcessCodecID)
|
||||
};
|
||||
|
||||
DECLARE_MKX_BINARY (KaxChapterProcessPrivate)
|
||||
};
|
||||
|
||||
DECLARE_MKX_MASTER(KaxChapterProcessCommand)
|
||||
};
|
||||
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxChapterProcessTime)
|
||||
};
|
||||
|
||||
DECLARE_MKX_BINARY (KaxChapterProcessData)
|
||||
};
|
||||
|
||||
DECLARE_MKX_MASTER(KaxTags)
|
||||
};
|
||||
|
||||
|
||||
DECLARE_MKX_MASTER(KaxTag)
|
||||
};
|
||||
|
||||
|
||||
DECLARE_MKX_MASTER(KaxTagTargets)
|
||||
};
|
||||
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxTagTargetTypeValue)
|
||||
};
|
||||
|
||||
DECLARE_MKX_STRING(KaxTagTargetType)
|
||||
};
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxTagTrackUID)
|
||||
};
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxTagEditionUID)
|
||||
};
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxTagChapterUID)
|
||||
};
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxTagAttachmentUID)
|
||||
};
|
||||
|
||||
DECLARE_MKX_MASTER(KaxTagSimple)
|
||||
};
|
||||
|
||||
|
||||
DECLARE_MKX_UNISTRING(KaxTagName)
|
||||
};
|
||||
|
||||
DECLARE_MKX_STRING(KaxTagLangue)
|
||||
};
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxTagDefault)
|
||||
};
|
||||
|
||||
DECLARE_MKX_UNISTRING(KaxTagString)
|
||||
};
|
||||
|
||||
DECLARE_MKX_BINARY (KaxTagBinary)
|
||||
};
|
||||
|
||||
END_LIBMATROSKA_NAMESPACE
|
||||
|
||||
#endif // LIBMATROSKA_SEMANTIC_H
|
@@ -19,9 +19,9 @@
|
||||
**
|
||||
** 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
|
||||
** Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
**
|
||||
** See http://www.matroska.org/license/lgpl/ for LGPL licensing information.**
|
||||
** See http://www.gnu.org/licenses/lgpl-2.1.html for LGPL licensing information.**
|
||||
** Contact license@matroska.org if any conditions of this licensing are
|
||||
** not clear to you.
|
||||
**
|
||||
@@ -30,71 +30,11 @@
|
||||
/*!
|
||||
\file
|
||||
\version \$Id$
|
||||
\author Jory Stone <jcsston @ toughguy.net>
|
||||
\author Steve Lhomme <robux4 @ users.sf.net>
|
||||
*/
|
||||
#ifndef LIBMATROSKA_TAG_H
|
||||
#define LIBMATROSKA_TAG_H
|
||||
|
||||
#include "matroska/KaxTypes.h"
|
||||
#include "ebml/EbmlMaster.h"
|
||||
#include "ebml/EbmlFloat.h"
|
||||
#include "ebml/EbmlSInteger.h"
|
||||
#include "ebml/EbmlUInteger.h"
|
||||
#include "ebml/EbmlString.h"
|
||||
#include "ebml/EbmlUnicodeString.h"
|
||||
#include "ebml/EbmlBinary.h"
|
||||
#include "matroska/KaxDefines.h"
|
||||
|
||||
using namespace LIBEBML_NAMESPACE;
|
||||
|
||||
START_LIBMATROSKA_NAMESPACE
|
||||
|
||||
DECLARE_MKX_MASTER(KaxTag)
|
||||
};
|
||||
|
||||
DECLARE_MKX_MASTER(KaxTagTargets)
|
||||
};
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxTagTargetTypeValue)
|
||||
};
|
||||
|
||||
DECLARE_MKX_STRING(KaxTagTargetType)
|
||||
};
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxTagTrackUID)
|
||||
};
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxTagEditionUID)
|
||||
};
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxTagChapterUID)
|
||||
};
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxTagAttachmentUID)
|
||||
};
|
||||
|
||||
DECLARE_MKX_STRING(KaxTagLanguage)
|
||||
};
|
||||
|
||||
DECLARE_MKX_MASTER(KaxTagSimple)
|
||||
};
|
||||
|
||||
DECLARE_MKX_UNISTRING(KaxTagName)
|
||||
};
|
||||
|
||||
DECLARE_MKX_STRING(KaxTagLangue)
|
||||
};
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxTagDefault)
|
||||
};
|
||||
|
||||
DECLARE_MKX_UNISTRING(KaxTagString)
|
||||
};
|
||||
|
||||
DECLARE_MKX_BINARY(KaxTagBinary)
|
||||
};
|
||||
|
||||
END_LIBMATROSKA_NAMESPACE
|
||||
#include "matroska/KaxSemantic.h"
|
||||
|
||||
#endif // LIBMATROSKA_TAG_H
|
||||
|
@@ -19,9 +19,9 @@
|
||||
**
|
||||
** 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
|
||||
** Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
**
|
||||
** See http://www.matroska.org/license/lgpl/ for LGPL licensing information.**
|
||||
** See http://www.gnu.org/licenses/lgpl-2.1.html for LGPL licensing information.**
|
||||
** Contact license@matroska.org if any conditions of this licensing are
|
||||
** not clear to you.
|
||||
**
|
||||
@@ -35,17 +35,6 @@
|
||||
#ifndef LIBMATROSKA_TAGS_H
|
||||
#define LIBMATROSKA_TAGS_H
|
||||
|
||||
#include "matroska/KaxTypes.h"
|
||||
#include "ebml/EbmlMaster.h"
|
||||
#include "matroska/KaxDefines.h"
|
||||
|
||||
using namespace LIBEBML_NAMESPACE;
|
||||
|
||||
START_LIBMATROSKA_NAMESPACE
|
||||
|
||||
DECLARE_MKX_MASTER(KaxTags)
|
||||
};
|
||||
|
||||
END_LIBMATROSKA_NAMESPACE
|
||||
#include "matroska/KaxSemantic.h"
|
||||
|
||||
#endif // LIBMATROSKA_TAGS_H
|
||||
|
@@ -19,9 +19,9 @@
|
||||
**
|
||||
** 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
|
||||
** Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
**
|
||||
** See http://www.matroska.org/license/lgpl/ for LGPL licensing information.**
|
||||
** See http://www.gnu.org/licenses/lgpl-2.1.html for LGPL licensing information.**
|
||||
** Contact license@matroska.org if any conditions of this licensing are
|
||||
** not clear to you.
|
||||
**
|
||||
@@ -35,37 +35,6 @@
|
||||
#ifndef LIBMATROSKA_TRACK_AUDIO_H
|
||||
#define LIBMATROSKA_TRACK_AUDIO_H
|
||||
|
||||
#include "matroska/KaxTypes.h"
|
||||
#include "ebml/EbmlMaster.h"
|
||||
#include "ebml/EbmlFloat.h"
|
||||
#include "ebml/EbmlUInteger.h"
|
||||
#include "ebml/EbmlBinary.h"
|
||||
#include "matroska/KaxDefines.h"
|
||||
|
||||
using namespace LIBEBML_NAMESPACE;
|
||||
|
||||
START_LIBMATROSKA_NAMESPACE
|
||||
|
||||
DECLARE_MKX_MASTER(KaxTrackAudio)
|
||||
};
|
||||
|
||||
DECLARE_MKX_FLOAT(KaxAudioSamplingFreq)
|
||||
};
|
||||
|
||||
DECLARE_MKX_FLOAT(KaxAudioOutputSamplingFreq)
|
||||
};
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxAudioChannels)
|
||||
};
|
||||
|
||||
#if MATROSKA_VERSION >= 2
|
||||
DECLARE_MKX_BINARY(KaxAudioPosition)
|
||||
};
|
||||
#endif // MATROSKA_VERSION
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxAudioBitDepth)
|
||||
};
|
||||
|
||||
END_LIBMATROSKA_NAMESPACE
|
||||
#include "matroska/KaxSemantic.h"
|
||||
|
||||
#endif // LIBMATROSKA_TRACK_AUDIO_H
|
||||
|
@@ -19,9 +19,9 @@
|
||||
**
|
||||
** 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
|
||||
** Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
**
|
||||
** See http://www.matroska.org/license/lgpl/ for LGPL licensing information.**
|
||||
** See http://www.gnu.org/licenses/lgpl-2.1.html for LGPL licensing information.**
|
||||
** Contact license@matroska.org if any conditions of this licensing are
|
||||
** not clear to you.
|
||||
**
|
||||
@@ -31,109 +31,10 @@
|
||||
\file
|
||||
\version \$Id: KaxTrackEntryData.h,v 1.9 2004/04/14 23:26:17 robux4 Exp $
|
||||
\author Steve Lhomme <robux4 @ users.sf.net>
|
||||
\author John Cannon <spyder2555 @ users.sf.net>
|
||||
*/
|
||||
#ifndef LIBMATROSKA_TRACK_ENTRY_DATA_H
|
||||
#define LIBMATROSKA_TRACK_ENTRY_DATA_H
|
||||
|
||||
#include "matroska/KaxTypes.h"
|
||||
#include "ebml/EbmlUInteger.h"
|
||||
#include "ebml/EbmlFloat.h"
|
||||
#include "ebml/EbmlString.h"
|
||||
#include "ebml/EbmlUnicodeString.h"
|
||||
#include "ebml/EbmlBinary.h"
|
||||
#include "ebml/EbmlMaster.h"
|
||||
#include "matroska/KaxDefines.h"
|
||||
|
||||
using namespace LIBEBML_NAMESPACE;
|
||||
|
||||
START_LIBMATROSKA_NAMESPACE
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxTrackNumber)
|
||||
};
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxTrackUID)
|
||||
};
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxTrackType)
|
||||
};
|
||||
|
||||
#if MATROSKA_VERSION >= 2
|
||||
DECLARE_MKX_UINTEGER(KaxTrackFlagEnabled)
|
||||
};
|
||||
#endif // MATROSKA_VERSION
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxTrackFlagDefault)
|
||||
};
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxTrackFlagForced)
|
||||
};
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxTrackFlagLacing)
|
||||
};
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxTrackMinCache)
|
||||
};
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxTrackMaxCache)
|
||||
};
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxTrackDefaultDuration)
|
||||
};
|
||||
|
||||
DECLARE_MKX_FLOAT(KaxTrackTimecodeScale)
|
||||
};
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxMaxBlockAdditionID)
|
||||
};
|
||||
|
||||
DECLARE_MKX_UNISTRING(KaxTrackName)
|
||||
};
|
||||
|
||||
DECLARE_MKX_STRING(KaxTrackLanguage)
|
||||
};
|
||||
|
||||
DECLARE_MKX_STRING(KaxCodecID)
|
||||
};
|
||||
|
||||
DECLARE_MKX_BINARY(KaxCodecPrivate)
|
||||
};
|
||||
|
||||
DECLARE_MKX_UNISTRING(KaxCodecName)
|
||||
};
|
||||
|
||||
DECLARE_MKX_BINARY(KaxTrackAttachmentLink)
|
||||
};
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxTrackOverlay)
|
||||
};
|
||||
|
||||
DECLARE_MKX_MASTER(KaxTrackTranslate)
|
||||
};
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxTrackTranslateCodec)
|
||||
};
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxTrackTranslateEditionUID)
|
||||
};
|
||||
|
||||
DECLARE_MKX_BINARY(KaxTrackTranslateTrackID)
|
||||
};
|
||||
|
||||
#if MATROSKA_VERSION >= 2
|
||||
DECLARE_MKX_UNISTRING(KaxCodecSettings)
|
||||
};
|
||||
|
||||
DECLARE_MKX_STRING(KaxCodecInfoURL)
|
||||
};
|
||||
|
||||
DECLARE_MKX_STRING(KaxCodecDownloadURL)
|
||||
};
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxCodecDecodeAll)
|
||||
};
|
||||
#endif // MATROSKA_VERSION
|
||||
|
||||
END_LIBMATROSKA_NAMESPACE
|
||||
#include "matroska/KaxSemantic.h"
|
||||
|
||||
#endif // LIBMATROSKA_TRACK_ENTRY_DATA_H
|
||||
|
@@ -19,9 +19,9 @@
|
||||
**
|
||||
** 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
|
||||
** Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
**
|
||||
** See http://www.matroska.org/license/lgpl/ for LGPL licensing information.**
|
||||
** See http://www.gnu.org/licenses/lgpl-2.1.html for LGPL licensing information.**
|
||||
** Contact license@matroska.org if any conditions of this licensing are
|
||||
** not clear to you.
|
||||
**
|
||||
@@ -35,76 +35,6 @@
|
||||
#ifndef LIBMATROSKA_TRACK_VIDEO_H
|
||||
#define LIBMATROSKA_TRACK_VIDEO_H
|
||||
|
||||
#include "matroska/KaxTypes.h"
|
||||
#include "ebml/EbmlMaster.h"
|
||||
#include "ebml/EbmlUInteger.h"
|
||||
#include "ebml/EbmlBinary.h"
|
||||
#include "ebml/EbmlFloat.h"
|
||||
#include "matroska/KaxDefines.h"
|
||||
|
||||
using namespace LIBEBML_NAMESPACE;
|
||||
|
||||
START_LIBMATROSKA_NAMESPACE
|
||||
|
||||
DECLARE_MKX_MASTER(KaxTrackVideo)
|
||||
};
|
||||
|
||||
#if MATROSKA_VERSION >= 2
|
||||
DECLARE_MKX_UINTEGER(KaxVideoFlagInterlaced)
|
||||
};
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxVideoStereoMode)
|
||||
};
|
||||
#endif // MATROSKA_VERSION
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxVideoPixelWidth)
|
||||
};
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxVideoPixelHeight)
|
||||
};
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxVideoPixelCropBottom)
|
||||
};
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxVideoPixelCropTop)
|
||||
};
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxVideoPixelCropLeft)
|
||||
};
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxVideoPixelCropRight)
|
||||
};
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxVideoDisplayWidth)
|
||||
};
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxVideoDisplayHeight)
|
||||
};
|
||||
|
||||
#if MATROSKA_VERSION >= 2
|
||||
DECLARE_MKX_UINTEGER(KaxVideoDisplayUnit)
|
||||
};
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxVideoAspectRatio)
|
||||
};
|
||||
#endif // MATROSKA_VERSION
|
||||
|
||||
DECLARE_MKX_BINARY(KaxVideoColourSpace)
|
||||
public:
|
||||
bool ValidateSize(void) const {return IsFiniteSize() && (GetSize() == 4);}
|
||||
};
|
||||
|
||||
#if MATROSKA_VERSION >= 2
|
||||
DECLARE_MKX_FLOAT(KaxVideoGamma)
|
||||
};
|
||||
#endif // MATROSKA_VERSION
|
||||
|
||||
DECLARE_MKX_FLOAT(KaxVideoFrameRate)
|
||||
public:
|
||||
filepos_t RenderData(IOCallback & output, bool bForceRender, bool bSaveDefault);
|
||||
};
|
||||
|
||||
|
||||
END_LIBMATROSKA_NAMESPACE
|
||||
#include "matroska/KaxSemantic.h"
|
||||
|
||||
#endif // LIBMATROSKA_TRACK_VIDEO_H
|
||||
|
@@ -19,9 +19,9 @@
|
||||
**
|
||||
** 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
|
||||
** Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
**
|
||||
** See http://www.matroska.org/license/lgpl/ for LGPL licensing information.**
|
||||
** See http://www.gnu.org/licenses/lgpl-2.1.html for LGPL licensing information.**
|
||||
** Contact license@matroska.org if any conditions of this licensing are
|
||||
** not clear to you.
|
||||
**
|
||||
@@ -38,16 +38,13 @@
|
||||
#include "matroska/KaxTypes.h"
|
||||
#include "ebml/EbmlMaster.h"
|
||||
#include "ebml/EbmlUInteger.h"
|
||||
#include "matroska/KaxTrackEntryData.h"
|
||||
#include "matroska/KaxDefines.h"
|
||||
#include "matroska/KaxSemantic.h"
|
||||
|
||||
using namespace LIBEBML_NAMESPACE;
|
||||
|
||||
START_LIBMATROSKA_NAMESPACE
|
||||
|
||||
DECLARE_MKX_MASTER(KaxTracks)
|
||||
};
|
||||
|
||||
DECLARE_MKX_MASTER(KaxTrackEntry)
|
||||
public:
|
||||
EbmlUInteger & TrackNumber() const { return *(static_cast<EbmlUInteger *>(FindElt(EBML_INFO(KaxTrackNumber)))); }
|
||||
@@ -76,29 +73,6 @@ DECLARE_MKX_MASTER(KaxTrackEntry)
|
||||
uint64 mGlobalTimecodeScale;
|
||||
};
|
||||
|
||||
#if MATROSKA_VERSION >= 2
|
||||
DECLARE_MKX_MASTER(KaxTrackOperation)
|
||||
};
|
||||
|
||||
DECLARE_MKX_MASTER(KaxTrackCombinePlanes)
|
||||
};
|
||||
|
||||
DECLARE_MKX_MASTER(KaxTrackPlane)
|
||||
};
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxTrackPlaneUID)
|
||||
};
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxTrackPlaneType)
|
||||
};
|
||||
|
||||
DECLARE_MKX_MASTER(KaxTrackJoinBlocks)
|
||||
};
|
||||
|
||||
DECLARE_MKX_UINTEGER(KaxTrackJoinUID)
|
||||
};
|
||||
#endif
|
||||
|
||||
END_LIBMATROSKA_NAMESPACE
|
||||
|
||||
#endif // LIBMATROSKA_TRACKS_H
|
||||
|
@@ -19,9 +19,9 @@
|
||||
**
|
||||
** 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
|
||||
** Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
**
|
||||
** See http://www.matroska.org/license/lgpl/ for LGPL licensing information.**
|
||||
** See http://www.gnu.org/licenses/lgpl-2.1.html for LGPL licensing information.**
|
||||
** Contact license@matroska.org if any conditions of this licensing are
|
||||
** not clear to you.
|
||||
**
|
||||
|
@@ -17,9 +17,9 @@
|
||||
**
|
||||
** 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
|
||||
** Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
**
|
||||
** See http://www.matroska.org/license/lgpl/ for LGPL licensing information.**
|
||||
** See http://www.gnu.org/licenses/lgpl-2.1.html for LGPL licensing information.**
|
||||
** Contact license@matroska.org if any conditions of this licensing are
|
||||
** not clear to you.
|
||||
**
|
||||
@@ -40,10 +40,10 @@
|
||||
|
||||
START_LIBMATROSKA_NAMESPACE
|
||||
|
||||
#define LIBMATROSKA_VERSION 0x010100
|
||||
#define LIBMATROSKA_VERSION 0x010400
|
||||
|
||||
static const std::string KaxCodeVersion = "1.1.0";
|
||||
static const std::string KaxCodeDate = __TIMESTAMP__;
|
||||
extern const std::string KaxCodeVersion;
|
||||
extern const std::string KaxCodeDate;
|
||||
|
||||
/*!
|
||||
\todo Improve the CRC/ECC system (backward and forward possible ?) to fit streaming/live writing/simple reading
|
||||
|
@@ -19,9 +19,9 @@
|
||||
**
|
||||
** 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
|
||||
** Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
**
|
||||
** See http://www.matroska.org/license/lgpl/ for LGPL licensing information.
|
||||
** See http://www.gnu.org/licenses/lgpl-2.1.html for LGPL licensing information.
|
||||
**
|
||||
** Contact license@matroska.org if any conditions of this licensing are
|
||||
** not clear to you.
|
||||
|
@@ -19,9 +19,9 @@
|
||||
**
|
||||
** 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
|
||||
** Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
**
|
||||
** See http://www.matroska.org/license/lgpl/ for LGPL licensing information.**
|
||||
** See http://www.gnu.org/licenses/lgpl-2.1.html for LGPL licensing information.**
|
||||
** Contact license@matroska.org if any conditions of this licensing are
|
||||
** not clear to you.
|
||||
**
|
||||
|
@@ -19,9 +19,9 @@
|
||||
**
|
||||
** 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
|
||||
** Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
**
|
||||
** See http://www.matroska.org/license/lgpl/ for LGPL licensing information.**
|
||||
** See http://www.gnu.org/licenses/lgpl-2.1.html for LGPL licensing information.**
|
||||
** Contact license@matroska.org if any conditions of this licensing are
|
||||
** not clear to you.
|
||||
**
|
||||
|
@@ -19,9 +19,9 @@
|
||||
**
|
||||
** 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
|
||||
** Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
**
|
||||
** See http://www.matroska.org/license/lgpl/ for LGPL licensing information.**
|
||||
** See http://www.gnu.org/licenses/lgpl-2.1.html for LGPL licensing information.**
|
||||
** Contact license@matroska.org if any conditions of this licensing are
|
||||
** not clear to you.
|
||||
**
|
||||
@@ -32,9 +32,9 @@
|
||||
\version \$Id: KaxAttached.cpp 1202 2005-08-30 14:39:01Z robux4 $
|
||||
\author Steve Lhomme <robux4 @ users.sf.net>
|
||||
*/
|
||||
#include "matroska/KaxAttached.h"
|
||||
#include "matroska/KaxContexts.h"
|
||||
#include "matroska/KaxDefines.h"
|
||||
#include "matroska/KaxSemantic.h"
|
||||
|
||||
// sub elements
|
||||
|
||||
@@ -42,27 +42,6 @@ using namespace LIBEBML_NAMESPACE;
|
||||
|
||||
START_LIBMATROSKA_NAMESPACE
|
||||
|
||||
DEFINE_START_SEMANTIC(KaxAttached)
|
||||
DEFINE_SEMANTIC_ITEM(true, true, KaxFileName)
|
||||
DEFINE_SEMANTIC_ITEM(true, true, KaxMimeType)
|
||||
DEFINE_SEMANTIC_ITEM(true, true, KaxFileData)
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxFileDescription)
|
||||
DEFINE_SEMANTIC_ITEM(true, true, KaxFileUID)
|
||||
#if MATROSKA_VERSION >= 2
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxFileReferral)
|
||||
#endif // MATROSKA_VERSION
|
||||
DEFINE_END_SEMANTIC(KaxAttached)
|
||||
|
||||
DEFINE_MKX_MASTER_CONS(KaxAttached, 0x61A7, 2, KaxAttachments, "AttachedFile");
|
||||
DEFINE_MKX_UNISTRING (KaxFileDescription, 0x467E, 2, KaxAttachments, "FileDescription");
|
||||
DEFINE_MKX_UNISTRING (KaxFileName, 0x466E, 2, KaxAttachments, "FileName");
|
||||
DEFINE_MKX_STRING (KaxMimeType, 0x4660, 2, KaxAttachments, "FileMimeType");
|
||||
DEFINE_MKX_BINARY (KaxFileData, 0x465C, 2, KaxAttachments, "FileData");
|
||||
DEFINE_MKX_UINTEGER (KaxFileUID, 0x46AE, 2, KaxAttachments, "FileUID");
|
||||
#if MATROSKA_VERSION >= 2
|
||||
DEFINE_MKX_BINARY (KaxFileReferral, 0x4675, 2, KaxAttachments, "FileReferral");
|
||||
#endif
|
||||
|
||||
KaxAttached::KaxAttached(EBML_EXTRA_DEF)
|
||||
:EbmlMaster(EBML_CLASS_SEMCONTEXT(KaxAttached) EBML_DEF_SEP EBML_EXTRA_CALL)
|
||||
{
|
||||
|
@@ -19,9 +19,9 @@
|
||||
**
|
||||
** 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
|
||||
** Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
**
|
||||
** See http://www.matroska.org/license/lgpl/ for LGPL licensing information.**
|
||||
** See http://www.gnu.org/licenses/lgpl-2.1.html for LGPL licensing information.**
|
||||
** Contact license@matroska.org if any conditions of this licensing are
|
||||
** not clear to you.
|
||||
**
|
||||
@@ -32,22 +32,15 @@
|
||||
\version \$Id: KaxAttachments.cpp 640 2004-07-09 21:05:36Z mosu $
|
||||
\author Steve Lhomme <robux4 @ users.sf.net>
|
||||
*/
|
||||
#include "matroska/KaxAttachments.h"
|
||||
#include "matroska/KaxAttached.h"
|
||||
#include "matroska/KaxContexts.h"
|
||||
#include "matroska/KaxDefines.h"
|
||||
#include "matroska/KaxSemantic.h"
|
||||
|
||||
using namespace LIBEBML_NAMESPACE;
|
||||
|
||||
// sub elements
|
||||
START_LIBMATROSKA_NAMESPACE
|
||||
|
||||
DEFINE_START_SEMANTIC(KaxAttachments)
|
||||
DEFINE_SEMANTIC_ITEM(true, false, KaxAttached) ///< EBMLVersion
|
||||
DEFINE_END_SEMANTIC(KaxAttachments)
|
||||
|
||||
DEFINE_MKX_MASTER_CONS(KaxAttachments, 0x1941A469, 4, KaxSegment, "Attachments");
|
||||
|
||||
KaxAttachments::KaxAttachments(EBML_EXTRA_DEF)
|
||||
:EbmlMaster(EBML_CLASS_SEMCONTEXT(KaxAttachments) EBML_DEF_SEP EBML_EXTRA_CALL)
|
||||
{
|
||||
|
@@ -17,9 +17,9 @@
|
||||
**
|
||||
** 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
|
||||
** Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
**
|
||||
** See http://www.matroska.org/license/lgpl/ for LGPL licensing information.**
|
||||
** See http://www.gnu.org/licenses/lgpl-2.1.html for LGPL licensing information.**
|
||||
** Contact license@matroska.org if any conditions of this licensing are
|
||||
** not clear to you.
|
||||
**
|
||||
@@ -43,45 +43,6 @@
|
||||
|
||||
START_LIBMATROSKA_NAMESPACE
|
||||
|
||||
DEFINE_START_SEMANTIC(KaxBlockGroup)
|
||||
DEFINE_SEMANTIC_ITEM(true, true, KaxBlock)
|
||||
#if MATROSKA_VERSION >= 2
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxBlockVirtual)
|
||||
#endif // MATROSKA_VERSION
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxBlockDuration)
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxSlices)
|
||||
DEFINE_SEMANTIC_ITEM(true, true, KaxReferencePriority)
|
||||
DEFINE_SEMANTIC_ITEM(false, false, KaxReferenceBlock)
|
||||
#if MATROSKA_VERSION >= 2
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxReferenceVirtual)
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxCodecState)
|
||||
#endif // MATROSKA_VERSION
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxBlockAdditions)
|
||||
DEFINE_END_SEMANTIC(KaxBlockGroup)
|
||||
|
||||
DEFINE_START_SEMANTIC(KaxBlockAdditions)
|
||||
DEFINE_SEMANTIC_ITEM(true, false, KaxBlockMore)
|
||||
DEFINE_END_SEMANTIC(KaxBlockAdditions)
|
||||
|
||||
DEFINE_START_SEMANTIC(KaxBlockMore)
|
||||
DEFINE_SEMANTIC_ITEM(true, true, KaxBlockAddID)
|
||||
DEFINE_SEMANTIC_ITEM(true, true, KaxBlockAdditional)
|
||||
DEFINE_END_SEMANTIC(KaxBlockMore)
|
||||
|
||||
DEFINE_MKX_MASTER_CONS (KaxBlockGroup, 0xA0, 1, KaxCluster, "BlockGroup");
|
||||
DEFINE_MKX_BINARY_CONS (KaxBlock, 0xA1, 1, KaxBlockGroup, "Block");
|
||||
DEFINE_MKX_UINTEGER (KaxBlockDuration, 0x9B, 1, KaxBlockGroup, "BlockDuration");
|
||||
#if MATROSKA_VERSION >= 2
|
||||
DEFINE_MKX_BINARY_CONS (KaxSimpleBlock, 0xA3, 1, KaxCluster, "SimpleBlock");
|
||||
DEFINE_MKX_BINARY_CONS (KaxBlockVirtual, 0xA2, 1, KaxBlockGroup, "BlockVirtual");
|
||||
DEFINE_MKX_BINARY (KaxCodecState, 0xA4, 1, KaxBlockGroup, "CodecState");
|
||||
#endif
|
||||
DEFINE_MKX_MASTER (KaxBlockAdditions, 0x75A1, 2, KaxBlockGroup, "BlockAdditions");
|
||||
DEFINE_MKX_MASTER (KaxBlockMore, 0xA6, 1, KaxBlockAdditions, "BlockMore");
|
||||
DEFINE_MKX_UINTEGER_DEF(KaxBlockAddID, 0xEE, 1, KaxBlockMore, "BlockAddID", 1);
|
||||
DEFINE_MKX_BINARY (KaxBlockAdditional, 0xA5, 1, KaxBlockMore, "BlockAdditional");
|
||||
|
||||
|
||||
DataBuffer * DataBuffer::Clone()
|
||||
{
|
||||
binary *ClonedData = (binary *)malloc(mySize * sizeof(binary));
|
||||
@@ -200,7 +161,7 @@ LacingType KaxInternalBlock::GetBestLacingType() const {
|
||||
return LACING_EBML;
|
||||
}
|
||||
|
||||
filepos_t KaxInternalBlock::UpdateSize(bool bSaveDefault, bool bForceRender)
|
||||
filepos_t KaxInternalBlock::UpdateSize(bool /* bSaveDefault */, bool /* bForceRender */)
|
||||
{
|
||||
LacingType LacingHere;
|
||||
assert(EbmlBinary::GetBuffer() == NULL); // Data is not used for KaxInternalBlock
|
||||
@@ -277,7 +238,7 @@ KaxBlockVirtual::~KaxBlockVirtual()
|
||||
SetBuffer( NULL, 0 );
|
||||
}
|
||||
|
||||
filepos_t KaxBlockVirtual::UpdateSize(bool bSaveDefault, bool bForceRender)
|
||||
filepos_t KaxBlockVirtual::UpdateSize(bool /* bSaveDefault */, bool /* bForceRender */)
|
||||
{
|
||||
assert(TrackNumber < 0x4000);
|
||||
binary *cursor = EbmlBinary::GetBuffer();
|
||||
@@ -307,7 +268,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 /* bForceRender */, bool /* bSaveDefault */)
|
||||
{
|
||||
if (myBuffers.size() == 0) {
|
||||
return 0;
|
||||
@@ -1073,4 +1034,10 @@ void KaxBlockBlob::SetBlockGroup( KaxBlockGroup &BlockRef )
|
||||
Block.group = &BlockRef;
|
||||
}
|
||||
|
||||
filepos_t KaxBlockVirtual::ReadData(IOCallback & input, ScopeMode /* ReadFully */)
|
||||
{
|
||||
input.setFilePointer(SizePosition + CodedSizeLength(Size, SizeLength, bSizeIsFinite) + Size, seek_beginning);
|
||||
return GetSize();
|
||||
}
|
||||
|
||||
END_LIBMATROSKA_NAMESPACE
|
||||
|
@@ -17,9 +17,9 @@
|
||||
**
|
||||
** 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
|
||||
** Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
**
|
||||
** See http://www.matroska.org/license/lgpl/ for LGPL licensing information.**
|
||||
** See http://www.gnu.org/licenses/lgpl-2.1.html for LGPL licensing information.**
|
||||
** Contact license@matroska.org if any conditions of this licensing are
|
||||
** not clear to you.
|
||||
**
|
||||
@@ -36,37 +36,12 @@
|
||||
#include "matroska/KaxContexts.h"
|
||||
#include "matroska/KaxBlock.h"
|
||||
#include "matroska/KaxDefines.h"
|
||||
#include "matroska/KaxSemantic.h"
|
||||
|
||||
using namespace LIBEBML_NAMESPACE;
|
||||
|
||||
START_LIBMATROSKA_NAMESPACE
|
||||
|
||||
DEFINE_START_SEMANTIC(KaxSlices)
|
||||
DEFINE_SEMANTIC_ITEM(false, false, KaxTimeSlice)
|
||||
DEFINE_END_SEMANTIC(KaxSlices)
|
||||
|
||||
DEFINE_START_SEMANTIC(KaxTimeSlice)
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxSliceLaceNumber)
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxSliceFrameNumber)
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxSliceBlockAddID)
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxSliceDelay)
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxSliceDuration)
|
||||
DEFINE_END_SEMANTIC(KaxTimeSlice)
|
||||
|
||||
DEFINE_MKX_UINTEGER_DEF (KaxReferencePriority, 0xFA, 1, KaxBlockGroup, "FlagReferenced", 0);
|
||||
DEFINE_MKX_SINTEGER_CONS(KaxReferenceBlock, 0xFB, 1, KaxBlockGroup, "ReferenceBlock");
|
||||
DEFINE_MKX_MASTER (KaxSlices, 0x8E, 1, KaxBlockGroup, "Slices");
|
||||
DEFINE_MKX_MASTER (KaxTimeSlice, 0xE8, 1, KaxSlices, "TimeSlice");
|
||||
DEFINE_MKX_UINTEGER_DEF (KaxSliceLaceNumber, 0xCC, 1, KaxTimeSlice, "SliceLaceNumber", 0);
|
||||
DEFINE_MKX_UINTEGER_DEF (KaxSliceFrameNumber, 0xCD, 1, KaxTimeSlice, "SliceFrameNumber", 0);
|
||||
DEFINE_MKX_UINTEGER_DEF (KaxSliceBlockAddID, 0xCB, 1, KaxTimeSlice, "SliceBlockAddID", 0);
|
||||
DEFINE_MKX_UINTEGER (KaxSliceDelay, 0xCE, 1, KaxTimeSlice, "SliceDelay");
|
||||
DEFINE_MKX_UINTEGER_DEF (KaxSliceDuration, 0xCF, 1, KaxTimeSlice, "SliceDuration", 0);
|
||||
#if MATROSKA_VERSION >= 2
|
||||
DEFINE_MKX_SINTEGER (KaxReferenceVirtual, 0xFD, 1, KaxBlockGroup, "ReferenceVirtual");
|
||||
#endif
|
||||
|
||||
|
||||
const KaxBlockBlob & KaxReferenceBlock::RefBlock() const
|
||||
{
|
||||
assert(RefdBlock != NULL);
|
||||
@@ -77,12 +52,16 @@ KaxReferenceBlock::KaxReferenceBlock(EBML_EXTRA_DEF)
|
||||
:EBML_DEF_SINTEGER(KaxReferenceBlock)EBML_DEF_SEP
|
||||
RefdBlock(NULL)
|
||||
,ParentBlock(NULL)
|
||||
,bTimecodeSet(false)
|
||||
,bOurBlob(false)
|
||||
{
|
||||
bTimecodeSet = false;
|
||||
}
|
||||
|
||||
KaxReferenceBlock::KaxReferenceBlock(const KaxReferenceBlock & ElementToClone)
|
||||
:EbmlSInteger(ElementToClone)
|
||||
,RefdBlock(NULL)
|
||||
,ParentBlock(NULL)
|
||||
,bTimecodeSet(ElementToClone.bTimecodeSet)
|
||||
,bOurBlob(false)
|
||||
{
|
||||
|
@@ -1,118 +0,0 @@
|
||||
/****************************************************************************
|
||||
** libmatroska : parse Matroska files, see http://www.matroska.org/
|
||||
**
|
||||
** <file/class description>
|
||||
**
|
||||
** Copyright (C) 2002-2010 Steve Lhomme. All rights reserved.
|
||||
**
|
||||
** This file is part of libmatroska.
|
||||
**
|
||||
** 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: KaxChapters.cpp 1201 2005-08-30 14:28:27Z robux4 $
|
||||
\author Steve Lhomme <robux4 @ users.sf.net>
|
||||
*/
|
||||
#include "matroska/KaxChapters.h"
|
||||
#include "matroska/KaxContexts.h"
|
||||
#include "matroska/KaxDefines.h"
|
||||
|
||||
// sub elements
|
||||
START_LIBMATROSKA_NAMESPACE
|
||||
|
||||
DEFINE_START_SEMANTIC(KaxChapters)
|
||||
DEFINE_SEMANTIC_ITEM(true, false, KaxEditionEntry)
|
||||
DEFINE_END_SEMANTIC(KaxChapters)
|
||||
|
||||
DEFINE_START_SEMANTIC(KaxEditionEntry)
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxEditionUID)
|
||||
DEFINE_SEMANTIC_ITEM(true, true, KaxEditionFlagHidden)
|
||||
DEFINE_SEMANTIC_ITEM(true, true, KaxEditionFlagDefault)
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxEditionFlagOrdered)
|
||||
DEFINE_SEMANTIC_ITEM(true, false, KaxChapterAtom)
|
||||
DEFINE_END_SEMANTIC(KaxEditionEntry)
|
||||
|
||||
DEFINE_START_SEMANTIC(KaxChapterAtom)
|
||||
DEFINE_SEMANTIC_ITEM(false, false, KaxChapterAtom)
|
||||
DEFINE_SEMANTIC_ITEM(true, true, KaxChapterUID)
|
||||
DEFINE_SEMANTIC_ITEM(true, true, KaxChapterTimeStart)
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxChapterTimeEnd)
|
||||
DEFINE_SEMANTIC_ITEM(true, true, KaxChapterFlagHidden)
|
||||
DEFINE_SEMANTIC_ITEM(true, true, KaxChapterFlagEnabled)
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxChapterSegmentUID)
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxChapterSegmentEditionUID)
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxChapterPhysicalEquiv)
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxChapterTrack)
|
||||
DEFINE_SEMANTIC_ITEM(false, false, KaxChapterDisplay)
|
||||
DEFINE_SEMANTIC_ITEM(false, false, KaxChapterProcess)
|
||||
DEFINE_END_SEMANTIC(KaxChapterAtom)
|
||||
|
||||
DEFINE_START_SEMANTIC(KaxChapterTrack)
|
||||
DEFINE_SEMANTIC_ITEM(true, false, KaxChapterTrackNumber)
|
||||
DEFINE_END_SEMANTIC(KaxChapterTrack)
|
||||
|
||||
DEFINE_START_SEMANTIC(KaxChapterDisplay)
|
||||
DEFINE_SEMANTIC_ITEM(true, true, KaxChapterString)
|
||||
DEFINE_SEMANTIC_ITEM(true, false, KaxChapterLanguage)
|
||||
DEFINE_SEMANTIC_ITEM(false, false, KaxChapterCountry)
|
||||
DEFINE_END_SEMANTIC(KaxChapterDisplay)
|
||||
|
||||
DEFINE_START_SEMANTIC(KaxChapterProcess)
|
||||
DEFINE_SEMANTIC_ITEM(true, true, KaxChapterProcessCodecID)
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxChapterProcessPrivate)
|
||||
DEFINE_SEMANTIC_ITEM(false, false, KaxChapterProcessCommand)
|
||||
DEFINE_END_SEMANTIC(KaxChapterProcess)
|
||||
|
||||
DEFINE_START_SEMANTIC(KaxChapterProcessCommand)
|
||||
DEFINE_SEMANTIC_ITEM(true, true, KaxChapterProcessTime)
|
||||
DEFINE_SEMANTIC_ITEM(true, true, KaxChapterProcessData)
|
||||
DEFINE_END_SEMANTIC(KaxChapterProcessCommand)
|
||||
|
||||
DEFINE_MKX_MASTER (KaxChapters, 0x1043A770, 4, KaxSegment, "Chapters");
|
||||
DEFINE_MKX_MASTER (KaxEditionEntry, 0x45B9, 2, KaxChapters, "EditionEntry");
|
||||
DEFINE_MKX_UINTEGER (KaxEditionUID, 0x45BC, 2, KaxEditionEntry, "EditionUID");
|
||||
DEFINE_MKX_UINTEGER_DEF(KaxEditionFlagHidden, 0x45BD, 2, KaxEditionEntry, "EditionFlagHidden", 0);
|
||||
DEFINE_MKX_UINTEGER_DEF(KaxEditionFlagDefault, 0x45DB, 2, KaxEditionEntry, "EditionFlagDefault", 0);
|
||||
DEFINE_MKX_UINTEGER_DEF(KaxEditionFlagOrdered, 0x45DD, 2, KaxEditionEntry, "EditionFlagOrdered", 0);
|
||||
DEFINE_MKX_MASTER (KaxChapterAtom, 0xB6, 1, KaxEditionEntry, "ChapterAtom");
|
||||
DEFINE_MKX_UINTEGER (KaxChapterUID, 0x73C4, 2, KaxChapterAtom, "ChapterUID");
|
||||
DEFINE_MKX_UINTEGER (KaxChapterTimeStart, 0x91, 1, KaxChapterAtom, "ChapterTimeStart");
|
||||
DEFINE_MKX_UINTEGER (KaxChapterTimeEnd, 0x92, 1, KaxChapterAtom, "ChapterTimeEnd");
|
||||
DEFINE_MKX_UINTEGER_DEF(KaxChapterFlagHidden, 0x98, 1, KaxChapterAtom, "ChapterFlagHidden", 0);
|
||||
DEFINE_MKX_UINTEGER_DEF(KaxChapterFlagEnabled, 0x4598, 2, KaxChapterAtom, "ChapterFlagEnabled", 1);
|
||||
DEFINE_MKX_BINARY (KaxChapterSegmentUID, 0x6E67, 2, KaxChapterAtom, "ChapterSegmentUID");
|
||||
DEFINE_MKX_BINARY (KaxChapterSegmentEditionUID, 0x6EBC, 2, KaxChapterAtom, "ChapterSegmentEditionUID");
|
||||
DEFINE_MKX_UINTEGER (KaxChapterPhysicalEquiv, 0x63C3, 2, KaxChapterAtom, "ChapterPhysicalEquiv");
|
||||
DEFINE_MKX_MASTER (KaxChapterTrack, 0x8F, 1, KaxChapterAtom, "ChapterTrack");
|
||||
DEFINE_MKX_UINTEGER (KaxChapterTrackNumber, 0x89, 1, KaxChapterTrack, "ChapterTrackNumber");
|
||||
DEFINE_MKX_MASTER (KaxChapterDisplay, 0x80, 1, KaxChapterAtom, "ChapterDisplay");
|
||||
DEFINE_MKX_UNISTRING (KaxChapterString, 0x85, 1, KaxChapterDisplay, "ChapterString");
|
||||
DEFINE_MKX_STRING_DEF (KaxChapterLanguage, 0x437C, 2, KaxChapterLanguage, "ChapterLanguage", "eng"); // parent context ?
|
||||
DEFINE_MKX_STRING (KaxChapterCountry, 0x437E, 2, KaxChapterCountry, "ChapterCountry"); // parent context ?
|
||||
DEFINE_MKX_MASTER (KaxChapterProcess, 0x6944, 2, KaxChapterAtom, "ChapterProcess");
|
||||
DEFINE_MKX_UINTEGER_DEF(KaxChapterProcessCodecID, 0x6955, 2, KaxChapterProcess, "ChapterProcessCodecID", 0);
|
||||
DEFINE_MKX_BINARY (KaxChapterProcessPrivate, 0x450D, 2, KaxChapterProcess, "ChapterProcessPrivate");
|
||||
DEFINE_MKX_MASTER (KaxChapterProcessCommand, 0x6911, 2, KaxChapterProcess, "ChapterProcessCommand");
|
||||
DEFINE_MKX_UINTEGER (KaxChapterProcessTime, 0x6922, 2, KaxChapterProcessCommand, "ChapterProcessTime");
|
||||
DEFINE_MKX_BINARY (KaxChapterProcessData, 0x6933, 2, KaxChapterProcessCommand, "ChapterProcessData");
|
||||
|
||||
END_LIBMATROSKA_NAMESPACE
|
@@ -17,9 +17,9 @@
|
||||
**
|
||||
** 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
|
||||
** Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
**
|
||||
** See http://www.matroska.org/license/lgpl/ for LGPL licensing information.**
|
||||
** See http://www.gnu.org/licenses/lgpl-2.1.html for LGPL licensing information.**
|
||||
** Contact license@matroska.org if any conditions of this licensing are
|
||||
** not clear to you.
|
||||
**
|
||||
@@ -31,7 +31,6 @@
|
||||
\author Steve Lhomme <robux4 @ users.sf.net>
|
||||
*/
|
||||
#include "matroska/KaxCluster.h"
|
||||
#include "matroska/KaxClusterData.h"
|
||||
#include "matroska/KaxBlock.h"
|
||||
#include "matroska/KaxContexts.h"
|
||||
#include "matroska/KaxSegment.h"
|
||||
@@ -40,19 +39,6 @@
|
||||
// sub elements
|
||||
START_LIBMATROSKA_NAMESPACE
|
||||
|
||||
DEFINE_START_SEMANTIC(KaxCluster)
|
||||
DEFINE_SEMANTIC_ITEM(true, true, KaxClusterTimecode)
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxClusterSilentTracks)
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxClusterPrevSize)
|
||||
DEFINE_SEMANTIC_ITEM(false, false, KaxBlockGroup)
|
||||
#if MATROSKA_VERSION == 2
|
||||
DEFINE_SEMANTIC_ITEM(false, false, KaxSimpleBlock)
|
||||
#endif
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxClusterPosition)
|
||||
DEFINE_END_SEMANTIC(KaxCluster)
|
||||
|
||||
DEFINE_MKX_MASTER_CONS(KaxCluster, 0x1F43B675, 4, KaxSegment, "Cluster");
|
||||
|
||||
KaxCluster::KaxCluster(EBML_EXTRA_DEF)
|
||||
:EbmlMaster(EBML_CLASS_SEMCONTEXT(KaxCluster) EBML_DEF_SEP EBML_EXTRA_CALL)
|
||||
,currentNewBlock(NULL)
|
||||
|
@@ -1,51 +0,0 @@
|
||||
/****************************************************************************
|
||||
** libmatroska : parse Matroska files, see http://www.matroska.org/
|
||||
**
|
||||
** <file/class description>
|
||||
**
|
||||
** Copyright (C) 2002-2010 Steve Lhomme. All rights reserved.
|
||||
**
|
||||
** This file is part of libmatroska.
|
||||
**
|
||||
** 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: KaxClusterData.cpp 955 2004-11-28 15:24:37Z robux4 $
|
||||
\author Steve Lhomme <robux4 @ users.sf.net>
|
||||
*/
|
||||
#include "matroska/KaxClusterData.h"
|
||||
#include "matroska/KaxContexts.h"
|
||||
#include "matroska/KaxDefines.h"
|
||||
|
||||
START_LIBMATROSKA_NAMESPACE
|
||||
|
||||
DEFINE_START_SEMANTIC(KaxClusterSilentTracks)
|
||||
DEFINE_SEMANTIC_ITEM(false, false, KaxClusterSilentTrackNumber)
|
||||
DEFINE_END_SEMANTIC(KaxClusterSilentTracks)
|
||||
|
||||
DEFINE_MKX_UINTEGER(KaxClusterTimecode, 0xE7, 1, KaxCluster, "ClusterTimecode");
|
||||
DEFINE_MKX_MASTER (KaxClusterSilentTracks, 0x5854, 2, KaxCluster, "ClusterSilentTracks")
|
||||
DEFINE_MKX_UINTEGER(KaxClusterSilentTrackNumber, 0x58D7, 2, KaxClusterSilentTracks, "ClusterSilentTrackNumber");
|
||||
DEFINE_MKX_UINTEGER(KaxClusterPosition, 0xA7, 1, KaxCluster, "ClusterPosition");
|
||||
DEFINE_MKX_UINTEGER(KaxClusterPrevSize, 0xAB, 1, KaxCluster, "ClusterPrevSize");
|
||||
|
||||
END_LIBMATROSKA_NAMESPACE
|
@@ -1,83 +0,0 @@
|
||||
/****************************************************************************
|
||||
** libmatroska : parse Matroska files, see http://www.matroska.org/
|
||||
**
|
||||
** <file/class description>
|
||||
**
|
||||
** Copyright (C) 2002-2010 Steve Lhomme. All rights reserved.
|
||||
**
|
||||
** This file is part of libmatroska.
|
||||
**
|
||||
** 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: KaxContentEncoding.cpp 640 2004-07-09 21:05:36Z mosu $
|
||||
\author Moritz Bunkus <moritz @ bunkus.org>
|
||||
*/
|
||||
#include "matroska/KaxContentEncoding.h"
|
||||
#include "matroska/KaxContexts.h"
|
||||
#include "matroska/KaxDefines.h"
|
||||
|
||||
START_LIBMATROSKA_NAMESPACE
|
||||
|
||||
DEFINE_START_SEMANTIC(KaxContentEncodings)
|
||||
DEFINE_SEMANTIC_ITEM(true, true, KaxContentEncoding)
|
||||
DEFINE_END_SEMANTIC(KaxContentEncodings)
|
||||
|
||||
DEFINE_START_SEMANTIC(KaxContentEncoding)
|
||||
DEFINE_SEMANTIC_ITEM(true, true, KaxContentEncodingOrder)
|
||||
DEFINE_SEMANTIC_ITEM(true, true, KaxContentEncodingScope)
|
||||
DEFINE_SEMANTIC_ITEM(true, true, KaxContentEncodingType)
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxContentCompression)
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxContentEncryption)
|
||||
DEFINE_END_SEMANTIC(KaxContentEncoding)
|
||||
|
||||
DEFINE_START_SEMANTIC(KaxContentCompression)
|
||||
DEFINE_SEMANTIC_ITEM(true, true, KaxContentCompAlgo)
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxContentCompSettings)
|
||||
DEFINE_END_SEMANTIC(KaxContentCompression)
|
||||
|
||||
DEFINE_START_SEMANTIC(KaxContentEncryption)
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxContentEncAlgo)
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxContentEncKeyID)
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxContentSignature)
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxContentSigKeyID)
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxContentSigAlgo)
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxContentSigHashAlgo)
|
||||
DEFINE_END_SEMANTIC(KaxContentEncryption)
|
||||
|
||||
DEFINE_MKX_MASTER (KaxContentEncodings, 0x6d80, 2, KaxTrackEntry, "ContentEncodings");
|
||||
DEFINE_MKX_MASTER (KaxContentEncoding, 0x6240, 2, KaxContentEncodings, "ContentEncoding");
|
||||
DEFINE_MKX_UINTEGER_DEF(KaxContentEncodingOrder, 0x5031, 2, KaxContentEncoding, "ContentEncodingOrder", 0);
|
||||
DEFINE_MKX_UINTEGER_DEF(KaxContentEncodingScope, 0x5032, 2, KaxContentEncoding, "ContentEncodingScope", 1);
|
||||
DEFINE_MKX_UINTEGER_DEF(KaxContentEncodingType, 0x5033, 2, KaxContentEncoding, "ContentEncodingType", 0);
|
||||
DEFINE_MKX_MASTER (KaxContentCompression, 0x5034, 2, KaxContentEncoding, "ContentCompression");
|
||||
DEFINE_MKX_UINTEGER_DEF(KaxContentCompAlgo, 0x4254, 2, KaxContentCompression, "ContentCompAlgo", 0);
|
||||
DEFINE_MKX_BINARY (KaxContentCompSettings, 0x4255, 2, KaxContentCompression, "ContentCompSettings");
|
||||
DEFINE_MKX_MASTER (KaxContentEncryption, 0x5035, 2, KaxContentEncoding, "ContentEncryption");
|
||||
DEFINE_MKX_UINTEGER_DEF(KaxContentEncAlgo, 0x47e1, 2, KaxContentEncryption, "ContentEncAlgo", 0);
|
||||
DEFINE_MKX_BINARY (KaxContentEncKeyID, 0x47e2, 2, KaxContentEncryption, "ContentEncKeyID");
|
||||
DEFINE_MKX_BINARY (KaxContentSignature, 0x47e3, 2, KaxContentEncryption, "ContentSignature");
|
||||
DEFINE_MKX_BINARY (KaxContentSigKeyID, 0x47e4, 2, KaxContentEncryption, "ContentSigKeyID");
|
||||
DEFINE_MKX_UINTEGER_DEF(KaxContentSigAlgo, 0x47e5, 2, KaxContentEncryption, "ContentSigAlgo", 0);
|
||||
DEFINE_MKX_UINTEGER_DEF(KaxContentSigHashAlgo, 0x47e6, 2, KaxContentEncryption, "ContentSigHashAlgo", 0);
|
||||
|
||||
END_LIBMATROSKA_NAMESPACE
|
@@ -19,9 +19,9 @@
|
||||
**
|
||||
** 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
|
||||
** Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
**
|
||||
** See http://www.matroska.org/license/lgpl/ for LGPL licensing information.**
|
||||
** See http://www.gnu.org/licenses/lgpl-2.1.html for LGPL licensing information.**
|
||||
** Contact license@matroska.org if any conditions of this licensing are
|
||||
** not clear to you.
|
||||
**
|
||||
@@ -33,9 +33,8 @@
|
||||
\author Steve Lhomme <robux4 @ users.sf.net>
|
||||
*/
|
||||
#include "ebml/EbmlContexts.h"
|
||||
#include "ebml/EbmlHead.h"
|
||||
#include "matroska/KaxContexts.h"
|
||||
#include "matroska/KaxAttached.h"
|
||||
#include "matroska/KaxAttachments.h"
|
||||
#include "matroska/KaxBlock.h"
|
||||
#include "matroska/KaxCluster.h"
|
||||
#include "matroska/KaxSegment.h"
|
||||
@@ -45,6 +44,13 @@ using namespace LIBEBML_NAMESPACE;
|
||||
|
||||
START_LIBMATROSKA_NAMESPACE
|
||||
|
||||
DEFINE_START_SEMANTIC(KaxMatroska)
|
||||
DEFINE_SEMANTIC_ITEM(true, true, EbmlHead)
|
||||
DEFINE_SEMANTIC_ITEM(false, false, KaxSegment)
|
||||
DEFINE_END_SEMANTIC(KaxMatroska)
|
||||
|
||||
DEFINE_MKX_CONTEXT(KaxMatroska)
|
||||
|
||||
DEFINE_SEMANTIC_CONTEXT(KaxSegment)
|
||||
DEFINE_SEMANTIC_CONTEXT(KaxAttached)
|
||||
DEFINE_SEMANTIC_CONTEXT(KaxAttachments)
|
||||
|
@@ -17,9 +17,9 @@
|
||||
**
|
||||
** 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
|
||||
** Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
**
|
||||
** See http://www.matroska.org/license/lgpl/ for LGPL licensing information.**
|
||||
** See http://www.gnu.org/licenses/lgpl-2.1.html for LGPL licensing information.**
|
||||
** Contact license@matroska.org if any conditions of this licensing are
|
||||
** not clear to you.
|
||||
**
|
||||
@@ -37,16 +37,11 @@
|
||||
#include "matroska/KaxContexts.h"
|
||||
#include "ebml/EbmlStream.h"
|
||||
#include "matroska/KaxDefines.h"
|
||||
#include "matroska/KaxSemantic.h"
|
||||
|
||||
// sub elements
|
||||
START_LIBMATROSKA_NAMESPACE
|
||||
|
||||
DEFINE_START_SEMANTIC(KaxCues)
|
||||
DEFINE_SEMANTIC_ITEM(true, false, KaxCuePoint)
|
||||
DEFINE_END_SEMANTIC(KaxCues)
|
||||
|
||||
DEFINE_MKX_MASTER(KaxCues, 0x1C53BB6B, 4, KaxSegment, "Cues");
|
||||
|
||||
KaxCues::~KaxCues()
|
||||
{
|
||||
assert(myTempReferences.size() == 0); // otherwise that means you have added references and forgot to set the position
|
||||
@@ -125,7 +120,6 @@ const KaxCuePoint * KaxCues::GetTimecodePoint(uint64 aTimecode) const
|
||||
uint64 TimecodeToLocate = aTimecode / GlobalTimecodeScale();
|
||||
const KaxCuePoint * aPointPrev = NULL;
|
||||
uint64 aPrevTime = 0;
|
||||
const KaxCuePoint * aPointNext = NULL;
|
||||
uint64 aNextTime = EBML_PRETTYLONGINT(0xFFFFFFFFFFFF);
|
||||
|
||||
EBML_MASTER_CONST_ITERATOR Itr;
|
||||
@@ -144,7 +138,6 @@ const KaxCuePoint * KaxCues::GetTimecodePoint(uint64 aTimecode) const
|
||||
}
|
||||
if (_Time < aNextTime && _Time > TimecodeToLocate) {
|
||||
aNextTime= _Time;
|
||||
aPointNext = tmp;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -17,9 +17,9 @@
|
||||
**
|
||||
** 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
|
||||
** Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
**
|
||||
** See http://www.matroska.org/license/lgpl/ for LGPL licensing information.**
|
||||
** See http://www.gnu.org/licenses/lgpl-2.1.html for LGPL licensing information.**
|
||||
** Contact license@matroska.org if any conditions of this licensing are
|
||||
** not clear to you.
|
||||
**
|
||||
@@ -39,48 +39,10 @@
|
||||
#include "matroska/KaxCluster.h"
|
||||
#include "matroska/KaxSegment.h"
|
||||
#include "matroska/KaxDefines.h"
|
||||
#include "matroska/KaxSemantic.h"
|
||||
|
||||
START_LIBMATROSKA_NAMESPACE
|
||||
|
||||
DEFINE_START_SEMANTIC(KaxCuePoint)
|
||||
DEFINE_SEMANTIC_ITEM(true, true, KaxCueTime)
|
||||
DEFINE_SEMANTIC_ITEM(true, false, KaxCueTrackPositions)
|
||||
DEFINE_END_SEMANTIC(KaxCuePoint)
|
||||
|
||||
DEFINE_START_SEMANTIC(KaxCueTrackPositions)
|
||||
DEFINE_SEMANTIC_ITEM(true, true, KaxCueTrack)
|
||||
DEFINE_SEMANTIC_ITEM(true, true, KaxCueClusterPosition)
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxCueBlockNumber)
|
||||
#if MATROSKA_VERSION >= 2
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxCueCodecState)
|
||||
DEFINE_SEMANTIC_ITEM(false, false, KaxCueReference)
|
||||
#endif // MATROSKA_VERSION
|
||||
DEFINE_END_SEMANTIC(KaxCueTrackPositions)
|
||||
|
||||
#if MATROSKA_VERSION >= 2
|
||||
DEFINE_START_SEMANTIC(KaxCueReference)
|
||||
DEFINE_SEMANTIC_ITEM(true, true, KaxCueRefTime)
|
||||
DEFINE_SEMANTIC_ITEM(true, true, KaxCueRefCluster)
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxCueRefNumber)
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxCueRefCodecState)
|
||||
DEFINE_END_SEMANTIC(KaxCueReference)
|
||||
#endif // MATROSKA_VERSION
|
||||
|
||||
DEFINE_MKX_MASTER (KaxCuePoint, 0xBB, 1, KaxCues, "CuePoint");
|
||||
DEFINE_MKX_UINTEGER (KaxCueTime, 0xB3, 1, KaxCuePoint, "CueTime");
|
||||
DEFINE_MKX_MASTER (KaxCueTrackPositions, 0xB7, 1, KaxCuePoint, "CueTrackPositions");
|
||||
DEFINE_MKX_UINTEGER (KaxCueTrack, 0xF7, 1, KaxCueTrackPositions, "CueTrack");
|
||||
DEFINE_MKX_UINTEGER (KaxCueClusterPosition, 0xF1, 1, KaxCueTrackPositions, "CueClusterPosition");
|
||||
DEFINE_MKX_UINTEGER_DEF(KaxCueBlockNumber, 0x5378, 2, KaxCueTrackPositions, "CueBlockNumber", 1);
|
||||
#if MATROSKA_VERSION >= 2
|
||||
DEFINE_MKX_UINTEGER_DEF(KaxCueCodecState, 0xEA, 1, KaxCueTrackPositions, "CueCodecState", 0);
|
||||
DEFINE_MKX_MASTER (KaxCueReference, 0xDB, 1, KaxCueTrackPositions, "CueReference");
|
||||
DEFINE_MKX_UINTEGER (KaxCueRefTime, 0x96, 1, KaxCueReference, "CueRefTime");
|
||||
DEFINE_MKX_UINTEGER (KaxCueRefCluster, 0x97, 1, KaxCueRefTime, "CueRefCluster");
|
||||
DEFINE_MKX_UINTEGER_DEF(KaxCueRefNumber, 0x535F, 2, KaxCueRefTime, "CueRefNumber", 1);
|
||||
DEFINE_MKX_UINTEGER_DEF(KaxCueRefCodecState, 0xEB, 1, KaxCueRefTime, "CueRefCodecState", 0);
|
||||
#endif
|
||||
|
||||
/*!
|
||||
\todo handle codec state checking
|
||||
\todo remove duplicate references (reference to 2 frames that each reference the same frame)
|
||||
|
@@ -1,65 +0,0 @@
|
||||
/****************************************************************************
|
||||
** libmatroska : parse Matroska files, see http://www.matroska.org/
|
||||
**
|
||||
** <file/class description>
|
||||
**
|
||||
** Copyright (C) 2002-2010 Steve Lhomme. All rights reserved.
|
||||
**
|
||||
** This file is part of libmatroska.
|
||||
**
|
||||
** 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: KaxInfo.cpp 1078 2005-03-03 13:13:04Z robux4 $
|
||||
\author Steve Lhomme <robux4 @ users.sf.net>
|
||||
*/
|
||||
#include "matroska/KaxInfo.h"
|
||||
#include "matroska/KaxInfoData.h"
|
||||
|
||||
#include "matroska/KaxContexts.h"
|
||||
#include "matroska/KaxDefines.h"
|
||||
|
||||
// sub elements
|
||||
START_LIBMATROSKA_NAMESPACE
|
||||
|
||||
DEFINE_START_SEMANTIC(KaxInfo)
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxSegmentUID)
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxSegmentFilename)
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxPrevUID)
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxPrevFilename)
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxNextUID)
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxNextFilename)
|
||||
DEFINE_SEMANTIC_ITEM(false, false, KaxSegmentFamily)
|
||||
DEFINE_SEMANTIC_ITEM(false, false, KaxChapterTranslate)
|
||||
DEFINE_SEMANTIC_ITEM(true, true, KaxTimecodeScale)
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxDuration)
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxDateUTC)
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxTitle)
|
||||
DEFINE_SEMANTIC_ITEM(true, true, KaxMuxingApp)
|
||||
DEFINE_SEMANTIC_ITEM(true, true, KaxWritingApp)
|
||||
DEFINE_END_SEMANTIC(KaxInfo)
|
||||
|
||||
DEFINE_MKX_MASTER (KaxInfo, 0x1549A966, 4, KaxSegment, "Info");
|
||||
DEFINE_MKX_UNISTRING(KaxMuxingApp, 0x4D80, 2, KaxInfo, "MuxingApp");
|
||||
DEFINE_MKX_UNISTRING(KaxWritingApp, 0x5741, 2, KaxInfo, "WritingApp");
|
||||
|
||||
END_LIBMATROSKA_NAMESPACE
|
@@ -19,9 +19,9 @@
|
||||
**
|
||||
** 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
|
||||
** Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
**
|
||||
** See http://www.matroska.org/license/lgpl/ for LGPL licensing information.**
|
||||
** See http://www.gnu.org/licenses/lgpl-2.1.html for LGPL licensing information.**
|
||||
** Contact license@matroska.org if any conditions of this licensing are
|
||||
** not clear to you.
|
||||
**
|
||||
@@ -36,31 +36,10 @@
|
||||
#include "matroska/KaxInfoData.h"
|
||||
#include "matroska/KaxContexts.h"
|
||||
#include "matroska/KaxDefines.h"
|
||||
#include "matroska/KaxSemantic.h"
|
||||
|
||||
START_LIBMATROSKA_NAMESPACE
|
||||
|
||||
DEFINE_START_SEMANTIC(KaxChapterTranslate)
|
||||
DEFINE_SEMANTIC_ITEM(false, false, KaxChapterTranslateEditionUID)
|
||||
DEFINE_SEMANTIC_ITEM(true, true, KaxChapterTranslateCodec)
|
||||
DEFINE_SEMANTIC_ITEM(true, true, KaxChapterTranslateID)
|
||||
DEFINE_END_SEMANTIC(KaxChapterTranslate)
|
||||
|
||||
DEFINE_MKX_BINARY (KaxSegmentUID, 0x73A4, 2, KaxInfo, "SegmentUID");
|
||||
DEFINE_MKX_UNISTRING (KaxSegmentFilename, 0x7384, 2, KaxInfo, "SegmentFilename");
|
||||
DEFINE_MKX_BINARY_CONS (KaxPrevUID, 0x3CB923, 3, KaxInfo, "PrevUID");
|
||||
DEFINE_MKX_UNISTRING (KaxPrevFilename, 0x3C83AB, 3, KaxInfo, "PrevFilename");
|
||||
DEFINE_MKX_BINARY_CONS (KaxNextUID, 0x3EB923, 3, KaxInfo, "NextUID");
|
||||
DEFINE_MKX_UNISTRING (KaxNextFilename, 0x3E83BB, 3, KaxInfo, "NextFilename");
|
||||
DEFINE_MKX_BINARY (KaxSegmentFamily, 0x4444, 2, KaxInfo, "SegmentFamily");
|
||||
DEFINE_MKX_MASTER (KaxChapterTranslate, 0x6924, 2, KaxInfo, "ChapterTranslate");
|
||||
DEFINE_MKX_UINTEGER (KaxChapterTranslateEditionUID, 0x69FC, 2, KaxChapterTranslate, "ChapterTranslateEditionUID");
|
||||
DEFINE_MKX_UINTEGER (KaxChapterTranslateCodec, 0x69BF, 2, KaxChapterTranslate, "ChapterTranslateCodec");
|
||||
DEFINE_MKX_BINARY (KaxChapterTranslateID, 0x69A5, 2, KaxChapterTranslate, "ChapterTranslateID");
|
||||
DEFINE_MKX_UINTEGER_DEF(KaxTimecodeScale, 0x2AD7B1, 3, KaxInfo, "TimecodeScale", 1000000);
|
||||
DEFINE_MKX_FLOAT (KaxDuration, 0x4489, 2, KaxInfo, "Duration");
|
||||
DEFINE_MKX_DATE (KaxDateUTC, 0x4461, 2, KaxInfo, "DateUTC");
|
||||
DEFINE_MKX_UNISTRING (KaxTitle, 0x7BA9, 2, KaxInfo, "Title");
|
||||
|
||||
KaxPrevUID::KaxPrevUID(EBML_EXTRA_DEF)
|
||||
:KaxSegmentUID(EBML_DEF_BINARY_CTX(KaxPrevUID) EBML_DEF_SEP EBML_EXTRA_CALL)
|
||||
{
|
||||
|
@@ -19,9 +19,9 @@
|
||||
**
|
||||
** 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
|
||||
** Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
**
|
||||
** See http://www.matroska.org/license/lgpl/ for LGPL licensing information.**
|
||||
** See http://www.gnu.org/licenses/lgpl-2.1.html for LGPL licensing information.**
|
||||
** Contact license@matroska.org if any conditions of this licensing are
|
||||
** not clear to you.
|
||||
**
|
||||
@@ -43,20 +43,6 @@ using namespace LIBEBML_NAMESPACE;
|
||||
// sub elements
|
||||
START_LIBMATROSKA_NAMESPACE
|
||||
|
||||
DEFINE_START_SEMANTIC(KaxSeekHead)
|
||||
DEFINE_SEMANTIC_ITEM(true, false, KaxSeek)
|
||||
DEFINE_END_SEMANTIC(KaxSeekHead)
|
||||
|
||||
DEFINE_START_SEMANTIC(KaxSeek)
|
||||
DEFINE_SEMANTIC_ITEM(true, true, KaxSeekID)
|
||||
DEFINE_SEMANTIC_ITEM(true, true, KaxSeekPosition)
|
||||
DEFINE_END_SEMANTIC(KaxSeek)
|
||||
|
||||
DEFINE_MKX_MASTER (KaxSeekHead, 0x114D9B74, 4, KaxSegment, "SeekHeader");
|
||||
DEFINE_MKX_MASTER (KaxSeek, 0x4DBB, 2, KaxSeekHead, "SeekPoint");
|
||||
DEFINE_MKX_BINARY (KaxSeekID, 0x53AB, 2, KaxSeek, "SeekID");
|
||||
DEFINE_MKX_UINTEGER(KaxSeekPosition, 0x53AC, 2, KaxSeek, "SeekPosition");
|
||||
|
||||
/*!
|
||||
\todo verify that the element is not already in the list
|
||||
*/
|
||||
|
@@ -19,9 +19,9 @@
|
||||
**
|
||||
** 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
|
||||
** Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
**
|
||||
** See http://www.matroska.org/license/lgpl/ for LGPL licensing information.**
|
||||
** See http://www.gnu.org/licenses/lgpl-2.1.html for LGPL licensing information.**
|
||||
** Contact license@matroska.org if any conditions of this licensing are
|
||||
** not clear to you.
|
||||
**
|
||||
@@ -40,35 +40,11 @@
|
||||
#include "matroska/KaxSeekHead.h"
|
||||
#include "matroska/KaxCues.h"
|
||||
#include "matroska/KaxTracks.h"
|
||||
#include "matroska/KaxInfo.h"
|
||||
#include "matroska/KaxChapters.h"
|
||||
#include "matroska/KaxAttachments.h"
|
||||
#include "matroska/KaxTags.h"
|
||||
#include "matroska/KaxContexts.h"
|
||||
#include "matroska/KaxDefines.h"
|
||||
|
||||
START_LIBMATROSKA_NAMESPACE
|
||||
|
||||
DEFINE_START_SEMANTIC(KaxMatroska)
|
||||
DEFINE_SEMANTIC_ITEM(true, true, EbmlHead)
|
||||
DEFINE_SEMANTIC_ITEM(true, false, KaxSegment)
|
||||
DEFINE_END_SEMANTIC(KaxMatroska)
|
||||
|
||||
DEFINE_START_SEMANTIC(KaxSegment)
|
||||
DEFINE_SEMANTIC_ITEM(false, false, KaxCluster)
|
||||
DEFINE_SEMANTIC_ITEM(false, false, KaxSeekHead)
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxCues)
|
||||
DEFINE_SEMANTIC_ITEM(false, false, KaxTracks)
|
||||
DEFINE_SEMANTIC_ITEM(true, true, KaxInfo)
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxChapters)
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxAttachments)
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxTags)
|
||||
DEFINE_END_SEMANTIC(KaxSegment)
|
||||
|
||||
DEFINE_MKX_CONTEXT(KaxMatroska);
|
||||
|
||||
DEFINE_MKX_MASTER_ORPHAN(KaxSegment, 0x18538067, 4, "Segment\0rotomopogo");
|
||||
|
||||
KaxSegment::KaxSegment(EBML_EXTRA_DEF)
|
||||
:EbmlMaster(EBML_CLASS_SEMCONTEXT(KaxSegment) EBML_DEF_SEP EBML_EXTRA_CALL)
|
||||
{
|
||||
|
801
src/KaxSemantic.cpp
Normal file
801
src/KaxSemantic.cpp
Normal file
@@ -0,0 +1,801 @@
|
||||
/**********************************************************************
|
||||
** DO NOT EDIT, GENERATED WITH DATA2LIB
|
||||
**
|
||||
** libmatroska : parse Matroska files, see http://www.matroska.org/
|
||||
**
|
||||
** Copyright (c) 2002-2010, Matroska (non-profit organisation)
|
||||
** All rights reserved.
|
||||
**
|
||||
** This file is part of libmatroska.
|
||||
**
|
||||
** 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
**
|
||||
** See http://www.gnu.org/licenses/lgpl-2.1.html for LGPL licensing information.**
|
||||
** Contact license@matroska.org if any conditions of this licensing are
|
||||
** not clear to you.
|
||||
**
|
||||
**********************************************************************/
|
||||
|
||||
#include "matroska/KaxContexts.h"
|
||||
#include "matroska/KaxSemantic.h"
|
||||
#include "matroska/KaxSegment.h"
|
||||
#include "matroska/KaxSeekHead.h"
|
||||
#include "matroska/KaxCluster.h"
|
||||
#include "matroska/KaxTracks.h"
|
||||
#include "matroska/KaxCues.h"
|
||||
#include "matroska/KaxInfoData.h"
|
||||
#include "matroska/KaxBlockData.h"
|
||||
#include "matroska/KaxCuesData.h"
|
||||
|
||||
START_LIBMATROSKA_NAMESPACE
|
||||
|
||||
DEFINE_START_SEMANTIC(KaxSegment)
|
||||
DEFINE_SEMANTIC_ITEM(false, false, KaxSeekHead)
|
||||
DEFINE_SEMANTIC_ITEM(true, false, KaxInfo)
|
||||
DEFINE_SEMANTIC_ITEM(false, false, KaxCluster)
|
||||
DEFINE_SEMANTIC_ITEM(false, false, KaxTracks)
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxCues)
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxAttachments)
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxChapters)
|
||||
DEFINE_SEMANTIC_ITEM(false, false, KaxTags)
|
||||
DEFINE_END_SEMANTIC(KaxSegment)
|
||||
|
||||
DEFINE_MKX_MASTER_ORPHAN(KaxSegment, 0x18538067, 4, "Segment");
|
||||
|
||||
DEFINE_START_SEMANTIC(KaxSeekHead)
|
||||
DEFINE_SEMANTIC_ITEM(true, false, KaxSeek)
|
||||
DEFINE_END_SEMANTIC(KaxSeekHead)
|
||||
|
||||
DEFINE_MKX_MASTER(KaxSeekHead, 0x114D9B74, 4, KaxSegment, "SeekHeader");
|
||||
|
||||
DEFINE_START_SEMANTIC(KaxSeek)
|
||||
DEFINE_SEMANTIC_ITEM(true, true, KaxSeekID)
|
||||
DEFINE_SEMANTIC_ITEM(true, true, KaxSeekPosition)
|
||||
DEFINE_END_SEMANTIC(KaxSeek)
|
||||
|
||||
DEFINE_MKX_MASTER(KaxSeek, 0x4DBB, 2, KaxSeekHead, "SeekPoint");
|
||||
DEFINE_MKX_BINARY (KaxSeekID, 0x53AB, 2, KaxSeek, "SeekID");
|
||||
DEFINE_MKX_UINTEGER(KaxSeekPosition, 0x53AC, 2, KaxSeek, "SeekPosition");
|
||||
|
||||
DEFINE_START_SEMANTIC(KaxInfo)
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxSegmentUID)
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxSegmentFilename)
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxPrevUID)
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxPrevFilename)
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxNextUID)
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxNextFilename)
|
||||
DEFINE_SEMANTIC_ITEM(false, false, KaxSegmentFamily)
|
||||
DEFINE_SEMANTIC_ITEM(false, false, KaxChapterTranslate)
|
||||
DEFINE_SEMANTIC_ITEM(true, true, KaxTimecodeScale)
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxDuration)
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxDateUTC)
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxTitle)
|
||||
DEFINE_SEMANTIC_ITEM(true, true, KaxMuxingApp)
|
||||
DEFINE_SEMANTIC_ITEM(true, true, KaxWritingApp)
|
||||
DEFINE_END_SEMANTIC(KaxInfo)
|
||||
|
||||
DEFINE_MKX_MASTER(KaxInfo, 0x1549A966, 4, KaxSegment, "Info");
|
||||
DEFINE_MKX_BINARY (KaxSegmentUID, 0x73A4, 2, KaxInfo, "SegmentUID");
|
||||
DEFINE_MKX_UNISTRING(KaxSegmentFilename, 0x7384, 2, KaxInfo, "SegmentFilename");
|
||||
DEFINE_MKX_BINARY_CONS(KaxPrevUID, 0x3CB923, 3, KaxInfo, "PrevUID");
|
||||
DEFINE_MKX_UNISTRING(KaxPrevFilename, 0x3C83AB, 3, KaxInfo, "PrevFilename");
|
||||
DEFINE_MKX_BINARY_CONS(KaxNextUID, 0x3EB923, 3, KaxInfo, "NextUID");
|
||||
DEFINE_MKX_UNISTRING(KaxNextFilename, 0x3E83BB, 3, KaxInfo, "NextFilename");
|
||||
DEFINE_MKX_BINARY (KaxSegmentFamily, 0x4444, 2, KaxInfo, "SegmentFamily");
|
||||
|
||||
DEFINE_START_SEMANTIC(KaxChapterTranslate)
|
||||
DEFINE_SEMANTIC_ITEM(false, false, KaxChapterTranslateEditionUID)
|
||||
DEFINE_SEMANTIC_ITEM(true, true, KaxChapterTranslateCodec)
|
||||
DEFINE_SEMANTIC_ITEM(true, true, KaxChapterTranslateID)
|
||||
DEFINE_END_SEMANTIC(KaxChapterTranslate)
|
||||
|
||||
DEFINE_MKX_MASTER(KaxChapterTranslate, 0x6924, 2, KaxInfo, "ChapterTranslate");
|
||||
DEFINE_MKX_UINTEGER(KaxChapterTranslateEditionUID, 0x69FC, 2, KaxChapterTranslate, "ChapterTranslateEditionUID");
|
||||
DEFINE_MKX_UINTEGER(KaxChapterTranslateCodec, 0x69BF, 2, KaxChapterTranslate, "ChapterTranslateCodec");
|
||||
DEFINE_MKX_BINARY (KaxChapterTranslateID, 0x69A5, 2, KaxChapterTranslate, "ChapterTranslateID");
|
||||
DEFINE_MKX_UINTEGER_DEF(KaxTimecodeScale, 0x2AD7B1, 3, KaxInfo, "TimecodeScale", 1000000);
|
||||
DEFINE_MKX_FLOAT(KaxDuration, 0x4489, 2, KaxInfo, "Duration");
|
||||
DEFINE_MKX_DATE (KaxDateUTC, 0x4461, 2, KaxInfo, "DateUTC");
|
||||
DEFINE_MKX_UNISTRING(KaxTitle, 0x7BA9, 2, KaxInfo, "Title");
|
||||
DEFINE_MKX_UNISTRING(KaxMuxingApp, 0x4D80, 2, KaxInfo, "MuxingApp");
|
||||
DEFINE_MKX_UNISTRING(KaxWritingApp, 0x5741, 2, KaxInfo, "WritingApp");
|
||||
|
||||
DEFINE_START_SEMANTIC(KaxCluster)
|
||||
DEFINE_SEMANTIC_ITEM(true, true, KaxClusterTimecode)
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxClusterSilentTracks)
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxClusterPosition)
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxClusterPrevSize)
|
||||
#if MATROSKA_VERSION >= 2
|
||||
DEFINE_SEMANTIC_ITEM(false, false, KaxSimpleBlock)
|
||||
#endif // MATROSKA_VERSION
|
||||
DEFINE_SEMANTIC_ITEM(false, false, KaxBlockGroup)
|
||||
#if MATROSKA_VERSION >= 2
|
||||
DEFINE_SEMANTIC_ITEM(false, false, KaxEncryptedBlock) // not supported
|
||||
#endif // MATROSKA_VERSION
|
||||
DEFINE_END_SEMANTIC(KaxCluster)
|
||||
|
||||
DEFINE_MKX_MASTER_CONS(KaxCluster, 0x1F43B675, 4, KaxSegment, "Cluster");
|
||||
DEFINE_MKX_UINTEGER(KaxClusterTimecode, 0xE7, 1, KaxCluster, "ClusterTimecode");
|
||||
|
||||
DEFINE_START_SEMANTIC(KaxClusterSilentTracks)
|
||||
DEFINE_SEMANTIC_ITEM(false, false, KaxClusterSilentTrackNumber)
|
||||
DEFINE_END_SEMANTIC(KaxClusterSilentTracks)
|
||||
|
||||
DEFINE_MKX_MASTER(KaxClusterSilentTracks, 0x5854, 2, KaxCluster, "ClusterSilentTracks");
|
||||
DEFINE_MKX_UINTEGER(KaxClusterSilentTrackNumber, 0x58D7, 2, KaxClusterSilentTracks, "ClusterSilentTrackNumber");
|
||||
DEFINE_MKX_UINTEGER(KaxClusterPosition, 0xA7, 1, KaxCluster, "ClusterPosition");
|
||||
DEFINE_MKX_UINTEGER(KaxClusterPrevSize, 0xAB, 1, KaxCluster, "ClusterPrevSize");
|
||||
#if MATROSKA_VERSION >= 2
|
||||
DEFINE_MKX_BINARY_CONS(KaxSimpleBlock, 0xA3, 1, KaxCluster, "SimpleBlock");
|
||||
#endif
|
||||
|
||||
DEFINE_START_SEMANTIC(KaxBlockGroup)
|
||||
DEFINE_SEMANTIC_ITEM(true, true, KaxBlock)
|
||||
#if MATROSKA_VERSION >= 2
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxBlockVirtual) // not supported
|
||||
#endif // MATROSKA_VERSION
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxBlockAdditions)
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxBlockDuration)
|
||||
DEFINE_SEMANTIC_ITEM(true, true, KaxReferencePriority)
|
||||
DEFINE_SEMANTIC_ITEM(false, false, KaxReferenceBlock)
|
||||
#if MATROSKA_VERSION >= 2
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxReferenceVirtual) // not supported
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxCodecState)
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxDiscardPadding)
|
||||
#endif // MATROSKA_VERSION
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxSlices)
|
||||
#if MATROSKA_VERSION >= 2
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxReferenceFrame) // DivX specific
|
||||
#endif // MATROSKA_VERSION
|
||||
DEFINE_END_SEMANTIC(KaxBlockGroup)
|
||||
|
||||
DEFINE_MKX_MASTER_CONS(KaxBlockGroup, 0xA0, 1, KaxCluster, "BlockGroup");
|
||||
DEFINE_MKX_BINARY_CONS(KaxBlock, 0xA1, 1, KaxBlockGroup, "Block");
|
||||
#if MATROSKA_VERSION >= 2
|
||||
DEFINE_MKX_BINARY_CONS(KaxBlockVirtual, 0xA2, 1, KaxBlockGroup, "BlockVirtual");
|
||||
#endif
|
||||
|
||||
DEFINE_START_SEMANTIC(KaxBlockAdditions)
|
||||
DEFINE_SEMANTIC_ITEM(true, false, KaxBlockMore)
|
||||
DEFINE_END_SEMANTIC(KaxBlockAdditions)
|
||||
|
||||
DEFINE_MKX_MASTER(KaxBlockAdditions, 0x75A1, 2, KaxBlockGroup, "BlockAdditions");
|
||||
|
||||
DEFINE_START_SEMANTIC(KaxBlockMore)
|
||||
DEFINE_SEMANTIC_ITEM(true, true, KaxBlockAddID)
|
||||
DEFINE_SEMANTIC_ITEM(true, true, KaxBlockAdditional)
|
||||
DEFINE_END_SEMANTIC(KaxBlockMore)
|
||||
|
||||
DEFINE_MKX_MASTER(KaxBlockMore, 0xA6, 1, KaxBlockAdditions, "BlockMore");
|
||||
DEFINE_MKX_UINTEGER_DEF(KaxBlockAddID, 0xEE, 1, KaxBlockMore, "BlockAddID", 1);
|
||||
DEFINE_MKX_BINARY (KaxBlockAdditional, 0xA5, 1, KaxBlockMore, "BlockAdditional");
|
||||
DEFINE_MKX_UINTEGER(KaxBlockDuration, 0x9B, 1, KaxBlockGroup, "BlockDuration");
|
||||
DEFINE_MKX_UINTEGER_DEF(KaxReferencePriority, 0xFA, 1, KaxBlockGroup, "FlagReferenced", 0);
|
||||
DEFINE_MKX_SINTEGER_CONS(KaxReferenceBlock, 0xFB, 1, KaxBlockGroup, "ReferenceBlock");
|
||||
#if MATROSKA_VERSION >= 2
|
||||
DEFINE_MKX_SINTEGER(KaxReferenceVirtual, 0xFD, 1, KaxBlockGroup, "ReferenceVirtual");
|
||||
DEFINE_MKX_BINARY (KaxCodecState, 0xA4, 1, KaxBlockGroup, "CodecState");
|
||||
DEFINE_MKX_SINTEGER(KaxDiscardPadding, 0x75A2, 2, KaxBlockGroup, "DiscardPadding");
|
||||
#endif
|
||||
|
||||
DEFINE_START_SEMANTIC(KaxSlices)
|
||||
DEFINE_SEMANTIC_ITEM(false, false, KaxTimeSlice)
|
||||
DEFINE_END_SEMANTIC(KaxSlices)
|
||||
|
||||
DEFINE_MKX_MASTER(KaxSlices, 0x8E, 1, KaxBlockGroup, "Slices");
|
||||
|
||||
DEFINE_START_SEMANTIC(KaxTimeSlice)
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxSliceLaceNumber)
|
||||
#if MATROSKA_VERSION >= 2
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxSliceFrameNumber) // not supported
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxSliceBlockAddID) // not supported
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxSliceDelay) // not supported
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxSliceDuration) // not supported
|
||||
#endif // MATROSKA_VERSION
|
||||
DEFINE_END_SEMANTIC(KaxTimeSlice)
|
||||
|
||||
DEFINE_MKX_MASTER(KaxTimeSlice, 0xE8, 1, KaxSlices, "TimeSlice");
|
||||
DEFINE_MKX_UINTEGER_DEF(KaxSliceLaceNumber, 0xCC, 1, KaxTimeSlice, "SliceLaceNumber", 0);
|
||||
#if MATROSKA_VERSION >= 2
|
||||
DEFINE_MKX_UINTEGER_DEF(KaxSliceFrameNumber, 0xCD, 1, KaxTimeSlice, "SliceFrameNumber", 0);
|
||||
DEFINE_MKX_UINTEGER_DEF(KaxSliceBlockAddID, 0xCB, 1, KaxTimeSlice, "SliceBlockAddID", 0);
|
||||
DEFINE_MKX_UINTEGER_DEF(KaxSliceDelay, 0xCE, 1, KaxTimeSlice, "SliceDelay", 0);
|
||||
DEFINE_MKX_UINTEGER_DEF(KaxSliceDuration, 0xCF, 1, KaxTimeSlice, "SliceDuration", 0);
|
||||
|
||||
DEFINE_START_SEMANTIC(KaxReferenceFrame)
|
||||
DEFINE_SEMANTIC_ITEM(true, true, KaxReferenceOffset) // DivX specific
|
||||
DEFINE_SEMANTIC_ITEM(true, true, KaxReferenceTimeCode) // DivX specific
|
||||
DEFINE_END_SEMANTIC(KaxReferenceFrame)
|
||||
|
||||
DEFINE_MKX_MASTER(KaxReferenceFrame, 0xC8, 1, KaxBlockGroup, "ReferenceFrame");
|
||||
DEFINE_MKX_UINTEGER(KaxReferenceOffset, 0xC9, 1, KaxReferenceFrame, "ReferenceOffset");
|
||||
DEFINE_MKX_UINTEGER(KaxReferenceTimeCode, 0xCA, 1, KaxReferenceFrame, "ReferenceTimeCode");
|
||||
DEFINE_MKX_BINARY (KaxEncryptedBlock, 0xAF, 1, KaxCluster, "EncryptedBlock");
|
||||
#endif
|
||||
|
||||
DEFINE_START_SEMANTIC(KaxTracks)
|
||||
DEFINE_SEMANTIC_ITEM(true, false, KaxTrackEntry)
|
||||
DEFINE_END_SEMANTIC(KaxTracks)
|
||||
|
||||
DEFINE_MKX_MASTER(KaxTracks, 0x1654AE6B, 4, KaxSegment, "Tracks");
|
||||
|
||||
DEFINE_START_SEMANTIC(KaxTrackEntry)
|
||||
DEFINE_SEMANTIC_ITEM(true, true, KaxTrackNumber)
|
||||
DEFINE_SEMANTIC_ITEM(true, true, KaxTrackUID)
|
||||
DEFINE_SEMANTIC_ITEM(true, true, KaxTrackType)
|
||||
#if MATROSKA_VERSION >= 2
|
||||
DEFINE_SEMANTIC_ITEM(true, true, KaxTrackFlagEnabled)
|
||||
#endif // MATROSKA_VERSION
|
||||
DEFINE_SEMANTIC_ITEM(true, true, KaxTrackFlagDefault)
|
||||
DEFINE_SEMANTIC_ITEM(true, true, KaxTrackFlagForced)
|
||||
DEFINE_SEMANTIC_ITEM(true, true, KaxTrackFlagLacing)
|
||||
DEFINE_SEMANTIC_ITEM(true, true, KaxTrackMinCache)
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxTrackMaxCache)
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxTrackDefaultDuration)
|
||||
#if MATROSKA_VERSION >= 2
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxTrackDefaultDecodedFieldDuration)
|
||||
#endif // MATROSKA_VERSION
|
||||
DEFINE_SEMANTIC_ITEM(true, true, KaxTrackTimecodeScale)
|
||||
#if MATROSKA_VERSION >= 2
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxTrackOffset) // not supported
|
||||
#endif // MATROSKA_VERSION
|
||||
DEFINE_SEMANTIC_ITEM(true, true, KaxMaxBlockAdditionID)
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxTrackName)
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxTrackLanguage)
|
||||
DEFINE_SEMANTIC_ITEM(true, true, KaxCodecID)
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxCodecPrivate)
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxCodecName)
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxTrackAttachmentLink)
|
||||
#if MATROSKA_VERSION >= 2
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxCodecSettings) // not supported
|
||||
DEFINE_SEMANTIC_ITEM(false, false, KaxCodecInfoURL) // not supported
|
||||
DEFINE_SEMANTIC_ITEM(false, false, KaxCodecDownloadURL) // not supported
|
||||
DEFINE_SEMANTIC_ITEM(true, true, KaxCodecDecodeAll)
|
||||
#endif // MATROSKA_VERSION
|
||||
DEFINE_SEMANTIC_ITEM(false, false, KaxTrackOverlay)
|
||||
#if MATROSKA_VERSION >= 2
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxCodecDelay)
|
||||
DEFINE_SEMANTIC_ITEM(true, true, KaxSeekPreRoll)
|
||||
#endif // MATROSKA_VERSION
|
||||
DEFINE_SEMANTIC_ITEM(false, false, KaxTrackTranslate)
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxTrackVideo)
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxTrackAudio)
|
||||
#if MATROSKA_VERSION >= 2
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxTrackOperation)
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxTrickTrackUID) // DivX specific
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxTrickTrackSegmentUID) // DivX specific
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxTrickTrackFlag) // DivX specific
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxTrickMasterTrackUID) // DivX specific
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxTrickMasterTrackSegmentUID) // DivX specific
|
||||
#endif // MATROSKA_VERSION
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxContentEncodings)
|
||||
DEFINE_END_SEMANTIC(KaxTrackEntry)
|
||||
|
||||
DEFINE_MKX_MASTER_CONS(KaxTrackEntry, 0xAE, 1, KaxTracks, "TrackEntry");
|
||||
DEFINE_MKX_UINTEGER(KaxTrackNumber, 0xD7, 1, KaxTrackEntry, "TrackNumber");
|
||||
DEFINE_MKX_UINTEGER(KaxTrackUID, 0x73C5, 2, KaxTrackEntry, "TrackUID");
|
||||
DEFINE_MKX_UINTEGER(KaxTrackType, 0x83, 1, KaxTrackEntry, "TrackType");
|
||||
#if MATROSKA_VERSION >= 2
|
||||
DEFINE_MKX_UINTEGER_DEF(KaxTrackFlagEnabled, 0xB9, 1, KaxTrackEntry, "TrackFlagEnabled", 1);
|
||||
#endif
|
||||
DEFINE_MKX_UINTEGER_DEF(KaxTrackFlagDefault, 0x88, 1, KaxTrackEntry, "TrackFlagDefault", 1);
|
||||
DEFINE_MKX_UINTEGER_DEF(KaxTrackFlagForced, 0x55AA, 2, KaxTrackEntry, "TrackFlagForced", 0);
|
||||
DEFINE_MKX_UINTEGER_DEF(KaxTrackFlagLacing, 0x9C, 1, KaxTrackEntry, "TrackFlagLacing", 1);
|
||||
DEFINE_MKX_UINTEGER_DEF(KaxTrackMinCache, 0x6DE7, 2, KaxTrackEntry, "TrackMinCache", 0);
|
||||
DEFINE_MKX_UINTEGER(KaxTrackMaxCache, 0x6DF8, 2, KaxTrackEntry, "TrackMaxCache");
|
||||
DEFINE_MKX_UINTEGER(KaxTrackDefaultDuration, 0x23E383, 3, KaxTrackEntry, "TrackDefaultDuration");
|
||||
#if MATROSKA_VERSION >= 2
|
||||
DEFINE_MKX_UINTEGER(KaxTrackDefaultDecodedFieldDuration, 0x234E7A, 3, KaxTrackEntry, "TrackDefaultDecodedFieldDuration");
|
||||
#endif
|
||||
DEFINE_MKX_FLOAT_DEF(KaxTrackTimecodeScale, 0x23314F, 3, KaxTrackEntry, "TrackTimecodeScale", 1);
|
||||
#if MATROSKA_VERSION >= 2
|
||||
DEFINE_MKX_SINTEGER_DEF(KaxTrackOffset, 0x537F, 2, KaxTrackEntry, "TrackOffset", 0);
|
||||
#endif
|
||||
DEFINE_MKX_UINTEGER_DEF(KaxMaxBlockAdditionID, 0x55EE, 2, KaxTrackEntry, "MaxBlockAdditionID", 0);
|
||||
DEFINE_MKX_UNISTRING(KaxTrackName, 0x536E, 2, KaxTrackEntry, "TrackName");
|
||||
DEFINE_MKX_STRING_DEF(KaxTrackLanguage, 0x22B59C, 3, KaxTrackEntry, "TrackLanguage", "eng");
|
||||
DEFINE_MKX_STRING(KaxCodecID, 0x86, 1, KaxTrackEntry, "CodecID");
|
||||
DEFINE_MKX_BINARY (KaxCodecPrivate, 0x63A2, 2, KaxTrackEntry, "CodecPrivate");
|
||||
DEFINE_MKX_UNISTRING(KaxCodecName, 0x258688, 3, KaxTrackEntry, "CodecName");
|
||||
DEFINE_MKX_UINTEGER(KaxTrackAttachmentLink, 0x7446, 2, KaxTrackEntry, "TrackAttachmentLink");
|
||||
#if MATROSKA_VERSION >= 2
|
||||
DEFINE_MKX_UNISTRING(KaxCodecSettings, 0x3A9697, 3, KaxTrackEntry, "CodecSettings");
|
||||
DEFINE_MKX_STRING(KaxCodecInfoURL, 0x3B4040, 3, KaxTrackEntry, "CodecInfoURL");
|
||||
DEFINE_MKX_STRING(KaxCodecDownloadURL, 0x26B240, 3, KaxTrackEntry, "CodecDownloadURL");
|
||||
DEFINE_MKX_UINTEGER_DEF(KaxCodecDecodeAll, 0xAA, 1, KaxTrackEntry, "CodecDecodeAll", 1);
|
||||
#endif
|
||||
DEFINE_MKX_UINTEGER(KaxTrackOverlay, 0x6FAB, 2, KaxTrackEntry, "TrackOverlay");
|
||||
#if MATROSKA_VERSION >= 2
|
||||
DEFINE_MKX_UINTEGER_DEF(KaxCodecDelay, 0x56AA, 2, KaxTrackEntry, "CodecDelay", 0);
|
||||
DEFINE_MKX_UINTEGER_DEF(KaxSeekPreRoll, 0x56BB, 2, KaxTrackEntry, "SeekPreRoll", 0);
|
||||
#endif
|
||||
|
||||
DEFINE_START_SEMANTIC(KaxTrackTranslate)
|
||||
DEFINE_SEMANTIC_ITEM(false, false, KaxTrackTranslateEditionUID)
|
||||
DEFINE_SEMANTIC_ITEM(true, true, KaxTrackTranslateCodec)
|
||||
DEFINE_SEMANTIC_ITEM(true, true, KaxTrackTranslateTrackID)
|
||||
DEFINE_END_SEMANTIC(KaxTrackTranslate)
|
||||
|
||||
DEFINE_MKX_MASTER(KaxTrackTranslate, 0x6624, 2, KaxTrackEntry, "TrackTranslate");
|
||||
DEFINE_MKX_UINTEGER(KaxTrackTranslateEditionUID, 0x66FC, 2, KaxTrackTranslate, "TrackTranslateEditionUID");
|
||||
DEFINE_MKX_UINTEGER(KaxTrackTranslateCodec, 0x66BF, 2, KaxTrackTranslate, "TrackTranslateCodec");
|
||||
DEFINE_MKX_BINARY (KaxTrackTranslateTrackID, 0x66A5, 2, KaxTrackTranslate, "TrackTranslateTrackID");
|
||||
|
||||
DEFINE_START_SEMANTIC(KaxTrackVideo)
|
||||
#if MATROSKA_VERSION >= 2
|
||||
DEFINE_SEMANTIC_ITEM(true, true, KaxVideoFlagInterlaced)
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxVideoStereoMode)
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxVideoAlphaMode)
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxOldStereoMode) // not supported
|
||||
#endif // MATROSKA_VERSION
|
||||
DEFINE_SEMANTIC_ITEM(true, true, KaxVideoPixelWidth)
|
||||
DEFINE_SEMANTIC_ITEM(true, true, KaxVideoPixelHeight)
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxVideoPixelCropBottom)
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxVideoPixelCropTop)
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxVideoPixelCropLeft)
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxVideoPixelCropRight)
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxVideoDisplayWidth)
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxVideoDisplayHeight)
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxVideoDisplayUnit)
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxVideoAspectRatio)
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxVideoColourSpace)
|
||||
#if MATROSKA_VERSION >= 2
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxVideoGamma) // not supported
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxVideoFrameRate) // not supported
|
||||
#endif // MATROSKA_VERSION
|
||||
DEFINE_END_SEMANTIC(KaxTrackVideo)
|
||||
|
||||
DEFINE_MKX_MASTER(KaxTrackVideo, 0xE0, 1, KaxTrackEntry, "TrackVideo");
|
||||
#if MATROSKA_VERSION >= 2
|
||||
DEFINE_MKX_UINTEGER_DEF(KaxVideoFlagInterlaced, 0x9A, 1, KaxTrackVideo, "VideoFlagInterlaced", 0);
|
||||
DEFINE_MKX_UINTEGER_DEF(KaxVideoStereoMode, 0x53B8, 2, KaxTrackVideo, "VideoStereoMode", 0);
|
||||
DEFINE_MKX_UINTEGER_DEF(KaxVideoAlphaMode, 0x53C0, 2, KaxTrackVideo, "VideoAlphaMode", 0);
|
||||
DEFINE_MKX_UINTEGER(KaxOldStereoMode, 0x53B9, 2, KaxTrackVideo, "OldStereoMode");
|
||||
#endif
|
||||
DEFINE_MKX_UINTEGER(KaxVideoPixelWidth, 0xB0, 1, KaxTrackVideo, "VideoPixelWidth");
|
||||
DEFINE_MKX_UINTEGER(KaxVideoPixelHeight, 0xBA, 1, KaxTrackVideo, "VideoPixelHeight");
|
||||
DEFINE_MKX_UINTEGER_DEF(KaxVideoPixelCropBottom, 0x54AA, 2, KaxTrackVideo, "VideoPixelCropBottom", 0);
|
||||
DEFINE_MKX_UINTEGER_DEF(KaxVideoPixelCropTop, 0x54BB, 2, KaxTrackVideo, "VideoPixelCropTop", 0);
|
||||
DEFINE_MKX_UINTEGER_DEF(KaxVideoPixelCropLeft, 0x54CC, 2, KaxTrackVideo, "VideoPixelCropLeft", 0);
|
||||
DEFINE_MKX_UINTEGER_DEF(KaxVideoPixelCropRight, 0x54DD, 2, KaxTrackVideo, "VideoPixelCropRight", 0);
|
||||
DEFINE_MKX_UINTEGER(KaxVideoDisplayWidth, 0x54B0, 2, KaxTrackVideo, "VideoDisplayWidth");
|
||||
DEFINE_MKX_UINTEGER(KaxVideoDisplayHeight, 0x54BA, 2, KaxTrackVideo, "VideoDisplayHeight");
|
||||
DEFINE_MKX_UINTEGER_DEF(KaxVideoDisplayUnit, 0x54B2, 2, KaxTrackVideo, "VideoDisplayUnit", 0);
|
||||
DEFINE_MKX_UINTEGER_DEF(KaxVideoAspectRatio, 0x54B3, 2, KaxTrackVideo, "VideoAspectRatio", 0);
|
||||
DEFINE_MKX_BINARY (KaxVideoColourSpace, 0x2EB524, 3, KaxTrackVideo, "VideoColourSpace");
|
||||
#if MATROSKA_VERSION >= 2
|
||||
DEFINE_MKX_FLOAT(KaxVideoGamma, 0x2FB523, 3, KaxTrackVideo, "VideoGamma");
|
||||
DEFINE_MKX_FLOAT(KaxVideoFrameRate, 0x2383E3, 3, KaxTrackVideo, "VideoFrameRate");
|
||||
#endif
|
||||
|
||||
DEFINE_START_SEMANTIC(KaxTrackAudio)
|
||||
DEFINE_SEMANTIC_ITEM(true, true, KaxAudioSamplingFreq)
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxAudioOutputSamplingFreq)
|
||||
DEFINE_SEMANTIC_ITEM(true, true, KaxAudioChannels)
|
||||
#if MATROSKA_VERSION >= 2
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxAudioPosition) // not supported
|
||||
#endif // MATROSKA_VERSION
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxAudioBitDepth)
|
||||
DEFINE_END_SEMANTIC(KaxTrackAudio)
|
||||
|
||||
DEFINE_MKX_MASTER(KaxTrackAudio, 0xE1, 1, KaxTrackEntry, "TrackAudio");
|
||||
DEFINE_MKX_FLOAT_DEF(KaxAudioSamplingFreq, 0xB5, 1, KaxTrackAudio, "AudioSamplingFreq", 8000);
|
||||
DEFINE_MKX_FLOAT(KaxAudioOutputSamplingFreq, 0x78B5, 2, KaxTrackAudio, "AudioOutputSamplingFreq");
|
||||
DEFINE_MKX_UINTEGER_DEF(KaxAudioChannels, 0x9F, 1, KaxTrackAudio, "AudioChannels", 1);
|
||||
#if MATROSKA_VERSION >= 2
|
||||
DEFINE_MKX_BINARY (KaxAudioPosition, 0x7D7B, 2, KaxTrackAudio, "AudioPosition");
|
||||
#endif
|
||||
DEFINE_MKX_UINTEGER(KaxAudioBitDepth, 0x6264, 2, KaxTrackAudio, "AudioBitDepth");
|
||||
#if MATROSKA_VERSION >= 2
|
||||
|
||||
DEFINE_START_SEMANTIC(KaxTrackOperation)
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxTrackCombinePlanes)
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxTrackJoinBlocks)
|
||||
DEFINE_END_SEMANTIC(KaxTrackOperation)
|
||||
|
||||
DEFINE_MKX_MASTER(KaxTrackOperation, 0xE2, 1, KaxTrackEntry, "TrackOperation");
|
||||
|
||||
DEFINE_START_SEMANTIC(KaxTrackCombinePlanes)
|
||||
DEFINE_SEMANTIC_ITEM(true, false, KaxTrackPlane)
|
||||
DEFINE_END_SEMANTIC(KaxTrackCombinePlanes)
|
||||
|
||||
DEFINE_MKX_MASTER(KaxTrackCombinePlanes, 0xE3, 1, KaxTrackOperation, "TrackCombinePlanes");
|
||||
|
||||
DEFINE_START_SEMANTIC(KaxTrackPlane)
|
||||
DEFINE_SEMANTIC_ITEM(true, true, KaxTrackPlaneUID)
|
||||
DEFINE_SEMANTIC_ITEM(true, true, KaxTrackPlaneType)
|
||||
DEFINE_END_SEMANTIC(KaxTrackPlane)
|
||||
|
||||
DEFINE_MKX_MASTER(KaxTrackPlane, 0xE4, 1, KaxTrackCombinePlanes, "TrackPlane");
|
||||
DEFINE_MKX_UINTEGER(KaxTrackPlaneUID, 0xE5, 1, KaxTrackPlane, "TrackPlaneUID");
|
||||
DEFINE_MKX_UINTEGER(KaxTrackPlaneType, 0xE6, 1, KaxTrackPlane, "TrackPlaneType");
|
||||
|
||||
DEFINE_START_SEMANTIC(KaxTrackJoinBlocks)
|
||||
DEFINE_SEMANTIC_ITEM(true, false, KaxTrackJoinUID)
|
||||
DEFINE_END_SEMANTIC(KaxTrackJoinBlocks)
|
||||
|
||||
DEFINE_MKX_MASTER(KaxTrackJoinBlocks, 0xE9, 1, KaxTrackOperation, "TrackJoinBlocks");
|
||||
DEFINE_MKX_UINTEGER(KaxTrackJoinUID, 0xED, 1, KaxTrackJoinBlocks, "TrackJoinUID");
|
||||
DEFINE_MKX_UINTEGER(KaxTrickTrackUID, 0xC0, 1, KaxTrackEntry, "TrickTrackUID");
|
||||
DEFINE_MKX_BINARY (KaxTrickTrackSegmentUID, 0xC1, 1, KaxTrackEntry, "TrickTrackSegmentUID");
|
||||
DEFINE_MKX_UINTEGER_DEF(KaxTrickTrackFlag, 0xC6, 1, KaxTrackEntry, "TrickTrackFlag", 0);
|
||||
DEFINE_MKX_UINTEGER(KaxTrickMasterTrackUID, 0xC7, 1, KaxTrackEntry, "TrickMasterTrackUID");
|
||||
DEFINE_MKX_BINARY (KaxTrickMasterTrackSegmentUID, 0xC4, 1, KaxTrackEntry, "TrickMasterTrackSegmentUID");
|
||||
#endif
|
||||
|
||||
DEFINE_START_SEMANTIC(KaxContentEncodings)
|
||||
DEFINE_SEMANTIC_ITEM(true, false, KaxContentEncoding)
|
||||
DEFINE_END_SEMANTIC(KaxContentEncodings)
|
||||
|
||||
DEFINE_MKX_MASTER(KaxContentEncodings, 0x6D80, 2, KaxTrackEntry, "ContentEncodings");
|
||||
|
||||
DEFINE_START_SEMANTIC(KaxContentEncoding)
|
||||
DEFINE_SEMANTIC_ITEM(true, true, KaxContentEncodingOrder)
|
||||
DEFINE_SEMANTIC_ITEM(true, true, KaxContentEncodingScope)
|
||||
DEFINE_SEMANTIC_ITEM(true, true, KaxContentEncodingType)
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxContentCompression)
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxContentEncryption)
|
||||
DEFINE_END_SEMANTIC(KaxContentEncoding)
|
||||
|
||||
DEFINE_MKX_MASTER(KaxContentEncoding, 0x6240, 2, KaxContentEncodings, "ContentEncoding");
|
||||
DEFINE_MKX_UINTEGER_DEF(KaxContentEncodingOrder, 0x5031, 2, KaxContentEncoding, "ContentEncodingOrder", 0);
|
||||
DEFINE_MKX_UINTEGER_DEF(KaxContentEncodingScope, 0x5032, 2, KaxContentEncoding, "ContentEncodingScope", 1);
|
||||
DEFINE_MKX_UINTEGER_DEF(KaxContentEncodingType, 0x5033, 2, KaxContentEncoding, "ContentEncodingType", 0);
|
||||
|
||||
DEFINE_START_SEMANTIC(KaxContentCompression)
|
||||
DEFINE_SEMANTIC_ITEM(true, true, KaxContentCompAlgo)
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxContentCompSettings)
|
||||
DEFINE_END_SEMANTIC(KaxContentCompression)
|
||||
|
||||
DEFINE_MKX_MASTER(KaxContentCompression, 0x5034, 2, KaxContentEncoding, "ContentCompression");
|
||||
DEFINE_MKX_UINTEGER_DEF(KaxContentCompAlgo, 0x4254, 2, KaxContentCompression, "ContentCompAlgo", 0);
|
||||
DEFINE_MKX_BINARY (KaxContentCompSettings, 0x4255, 2, KaxContentCompression, "ContentCompSettings");
|
||||
|
||||
DEFINE_START_SEMANTIC(KaxContentEncryption)
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxContentEncAlgo)
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxContentEncKeyID)
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxContentSignature)
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxContentSigKeyID)
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxContentSigAlgo)
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxContentSigHashAlgo)
|
||||
DEFINE_END_SEMANTIC(KaxContentEncryption)
|
||||
|
||||
DEFINE_MKX_MASTER(KaxContentEncryption, 0x5035, 2, KaxContentEncoding, "ContentEncryption");
|
||||
DEFINE_MKX_UINTEGER_DEF(KaxContentEncAlgo, 0x47E1, 2, KaxContentEncryption, "ContentEncAlgo", 0);
|
||||
DEFINE_MKX_BINARY (KaxContentEncKeyID, 0x47E2, 2, KaxContentEncryption, "ContentEncKeyID");
|
||||
DEFINE_MKX_BINARY (KaxContentSignature, 0x47E3, 2, KaxContentEncryption, "ContentSignature");
|
||||
DEFINE_MKX_BINARY (KaxContentSigKeyID, 0x47E4, 2, KaxContentEncryption, "ContentSigKeyID");
|
||||
DEFINE_MKX_UINTEGER_DEF(KaxContentSigAlgo, 0x47E5, 2, KaxContentEncryption, "ContentSigAlgo", 0);
|
||||
DEFINE_MKX_UINTEGER_DEF(KaxContentSigHashAlgo, 0x47E6, 2, KaxContentEncryption, "ContentSigHashAlgo", 0);
|
||||
|
||||
DEFINE_START_SEMANTIC(KaxCues)
|
||||
DEFINE_SEMANTIC_ITEM(true, false, KaxCuePoint)
|
||||
DEFINE_END_SEMANTIC(KaxCues)
|
||||
|
||||
DEFINE_MKX_MASTER(KaxCues, 0x1C53BB6B, 4, KaxSegment, "Cues");
|
||||
|
||||
DEFINE_START_SEMANTIC(KaxCuePoint)
|
||||
DEFINE_SEMANTIC_ITEM(true, true, KaxCueTime)
|
||||
DEFINE_SEMANTIC_ITEM(true, false, KaxCueTrackPositions)
|
||||
DEFINE_END_SEMANTIC(KaxCuePoint)
|
||||
|
||||
DEFINE_MKX_MASTER(KaxCuePoint, 0xBB, 1, KaxCues, "CuePoint");
|
||||
DEFINE_MKX_UINTEGER(KaxCueTime, 0xB3, 1, KaxCuePoint, "CueTime");
|
||||
|
||||
DEFINE_START_SEMANTIC(KaxCueTrackPositions)
|
||||
DEFINE_SEMANTIC_ITEM(true, true, KaxCueTrack)
|
||||
DEFINE_SEMANTIC_ITEM(true, true, KaxCueClusterPosition)
|
||||
#if MATROSKA_VERSION >= 2
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxCueRelativePosition)
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxCueDuration)
|
||||
#endif // MATROSKA_VERSION
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxCueBlockNumber)
|
||||
#if MATROSKA_VERSION >= 2
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxCueCodecState)
|
||||
DEFINE_SEMANTIC_ITEM(false, false, KaxCueReference)
|
||||
#endif // MATROSKA_VERSION
|
||||
DEFINE_END_SEMANTIC(KaxCueTrackPositions)
|
||||
|
||||
DEFINE_MKX_MASTER(KaxCueTrackPositions, 0xB7, 1, KaxCuePoint, "CueTrackPositions");
|
||||
DEFINE_MKX_UINTEGER(KaxCueTrack, 0xF7, 1, KaxCueTrackPositions, "CueTrack");
|
||||
DEFINE_MKX_UINTEGER(KaxCueClusterPosition, 0xF1, 1, KaxCueTrackPositions, "CueClusterPosition");
|
||||
#if MATROSKA_VERSION >= 2
|
||||
DEFINE_MKX_UINTEGER(KaxCueRelativePosition, 0xF0, 1, KaxCueTrackPositions, "CueRelativePosition");
|
||||
DEFINE_MKX_UINTEGER(KaxCueDuration, 0xB2, 1, KaxCueTrackPositions, "CueDuration");
|
||||
#endif
|
||||
DEFINE_MKX_UINTEGER_DEF(KaxCueBlockNumber, 0x5378, 2, KaxCueTrackPositions, "CueBlockNumber", 1);
|
||||
#if MATROSKA_VERSION >= 2
|
||||
DEFINE_MKX_UINTEGER_DEF(KaxCueCodecState, 0xEA, 1, KaxCueTrackPositions, "CueCodecState", 0);
|
||||
|
||||
DEFINE_START_SEMANTIC(KaxCueReference)
|
||||
DEFINE_SEMANTIC_ITEM(true, true, KaxCueRefTime)
|
||||
DEFINE_SEMANTIC_ITEM(true, true, KaxCueRefCluster) // not supported
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxCueRefNumber) // not supported
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxCueRefCodecState) // not supported
|
||||
DEFINE_END_SEMANTIC(KaxCueReference)
|
||||
|
||||
DEFINE_MKX_MASTER(KaxCueReference, 0xDB, 1, KaxCueTrackPositions, "CueReference");
|
||||
DEFINE_MKX_UINTEGER(KaxCueRefTime, 0x96, 1, KaxCueReference, "CueRefTime");
|
||||
DEFINE_MKX_UINTEGER(KaxCueRefCluster, 0x97, 1, KaxCueReference, "CueRefCluster");
|
||||
DEFINE_MKX_UINTEGER_DEF(KaxCueRefNumber, 0x535F, 2, KaxCueReference, "CueRefNumber", 1);
|
||||
DEFINE_MKX_UINTEGER_DEF(KaxCueRefCodecState, 0xEB, 1, KaxCueReference, "CueRefCodecState", 0);
|
||||
#endif
|
||||
|
||||
DEFINE_START_SEMANTIC(KaxAttachments)
|
||||
DEFINE_SEMANTIC_ITEM(true, false, KaxAttached)
|
||||
DEFINE_END_SEMANTIC(KaxAttachments)
|
||||
|
||||
DEFINE_MKX_MASTER_CONS(KaxAttachments, 0x1941A469, 4, KaxSegment, "Attachments");
|
||||
|
||||
DEFINE_START_SEMANTIC(KaxAttached)
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxFileDescription)
|
||||
DEFINE_SEMANTIC_ITEM(true, true, KaxFileName)
|
||||
DEFINE_SEMANTIC_ITEM(true, true, KaxMimeType)
|
||||
DEFINE_SEMANTIC_ITEM(true, true, KaxFileData)
|
||||
DEFINE_SEMANTIC_ITEM(true, true, KaxFileUID)
|
||||
#if MATROSKA_VERSION >= 2
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxFileReferral) // not supported
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxFileUsedStartTime) // DivX specific
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxFileUsedEndTime) // DivX specific
|
||||
#endif // MATROSKA_VERSION
|
||||
DEFINE_END_SEMANTIC(KaxAttached)
|
||||
|
||||
DEFINE_MKX_MASTER_CONS(KaxAttached, 0x61A7, 2, KaxAttachments, "AttachedFile");
|
||||
DEFINE_MKX_UNISTRING(KaxFileDescription, 0x467E, 2, KaxAttached, "FileDescription");
|
||||
DEFINE_MKX_UNISTRING(KaxFileName, 0x466E, 2, KaxAttached, "FileName");
|
||||
DEFINE_MKX_STRING(KaxMimeType, 0x4660, 2, KaxAttached, "FileMimeType");
|
||||
DEFINE_MKX_BINARY (KaxFileData, 0x465C, 2, KaxAttached, "FileData");
|
||||
DEFINE_MKX_UINTEGER(KaxFileUID, 0x46AE, 2, KaxAttached, "FileUID");
|
||||
#if MATROSKA_VERSION >= 2
|
||||
DEFINE_MKX_BINARY (KaxFileReferral, 0x4675, 2, KaxAttached, "FileReferral");
|
||||
DEFINE_MKX_UINTEGER(KaxFileUsedStartTime, 0x4661, 2, KaxAttached, "FileUsedStartTime");
|
||||
DEFINE_MKX_UINTEGER(KaxFileUsedEndTime, 0x4662, 2, KaxAttached, "FileUsedEndTime");
|
||||
#endif
|
||||
|
||||
DEFINE_START_SEMANTIC(KaxChapters)
|
||||
DEFINE_SEMANTIC_ITEM(true, false, KaxEditionEntry)
|
||||
DEFINE_END_SEMANTIC(KaxChapters)
|
||||
|
||||
DEFINE_MKX_MASTER(KaxChapters, 0x1043A770, 4, KaxSegment, "Chapters");
|
||||
|
||||
DEFINE_START_SEMANTIC(KaxEditionEntry)
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxEditionUID)
|
||||
DEFINE_SEMANTIC_ITEM(true, true, KaxEditionFlagHidden)
|
||||
DEFINE_SEMANTIC_ITEM(true, true, KaxEditionFlagDefault)
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxEditionFlagOrdered)
|
||||
DEFINE_SEMANTIC_ITEM(true, false, KaxChapterAtom)
|
||||
DEFINE_END_SEMANTIC(KaxEditionEntry)
|
||||
|
||||
DEFINE_MKX_MASTER(KaxEditionEntry, 0x45B9, 2, KaxChapters, "EditionEntry");
|
||||
DEFINE_MKX_UINTEGER(KaxEditionUID, 0x45BC, 2, KaxEditionEntry, "EditionUID");
|
||||
DEFINE_MKX_UINTEGER_DEF(KaxEditionFlagHidden, 0x45BD, 2, KaxEditionEntry, "EditionFlagHidden", 0);
|
||||
DEFINE_MKX_UINTEGER_DEF(KaxEditionFlagDefault, 0x45DB, 2, KaxEditionEntry, "EditionFlagDefault", 0);
|
||||
DEFINE_MKX_UINTEGER_DEF(KaxEditionFlagOrdered, 0x45DD, 2, KaxEditionEntry, "EditionFlagOrdered", 0);
|
||||
|
||||
DEFINE_START_SEMANTIC(KaxChapterAtom)
|
||||
DEFINE_SEMANTIC_ITEM(false, false, KaxChapterAtom) // recursive
|
||||
DEFINE_SEMANTIC_ITEM(true, true, KaxChapterUID)
|
||||
#if MATROSKA_VERSION >= 2
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxChapterStringUID)
|
||||
#endif // MATROSKA_VERSION
|
||||
DEFINE_SEMANTIC_ITEM(true, true, KaxChapterTimeStart)
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxChapterTimeEnd)
|
||||
DEFINE_SEMANTIC_ITEM(true, true, KaxChapterFlagHidden)
|
||||
DEFINE_SEMANTIC_ITEM(true, true, KaxChapterFlagEnabled)
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxChapterSegmentUID)
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxChapterSegmentEditionUID)
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxChapterPhysicalEquiv)
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxChapterTrack)
|
||||
DEFINE_SEMANTIC_ITEM(false, false, KaxChapterDisplay)
|
||||
DEFINE_SEMANTIC_ITEM(false, false, KaxChapterProcess)
|
||||
DEFINE_END_SEMANTIC(KaxChapterAtom)
|
||||
|
||||
DEFINE_MKX_MASTER(KaxChapterAtom, 0xB6, 1, KaxEditionEntry, "ChapterAtom");
|
||||
DEFINE_MKX_UINTEGER(KaxChapterUID, 0x73C4, 2, KaxChapterAtom, "ChapterUID");
|
||||
#if MATROSKA_VERSION >= 2
|
||||
DEFINE_MKX_UNISTRING(KaxChapterStringUID, 0x5654, 2, KaxChapterAtom, "ChapterStringUID");
|
||||
#endif
|
||||
DEFINE_MKX_UINTEGER(KaxChapterTimeStart, 0x91, 1, KaxChapterAtom, "ChapterTimeStart");
|
||||
DEFINE_MKX_UINTEGER(KaxChapterTimeEnd, 0x92, 1, KaxChapterAtom, "ChapterTimeEnd");
|
||||
DEFINE_MKX_UINTEGER_DEF(KaxChapterFlagHidden, 0x98, 1, KaxChapterAtom, "ChapterFlagHidden", 0);
|
||||
DEFINE_MKX_UINTEGER_DEF(KaxChapterFlagEnabled, 0x4598, 2, KaxChapterAtom, "ChapterFlagEnabled", 1);
|
||||
DEFINE_MKX_BINARY (KaxChapterSegmentUID, 0x6E67, 2, KaxChapterAtom, "ChapterSegmentUID");
|
||||
DEFINE_MKX_UINTEGER(KaxChapterSegmentEditionUID, 0x6EBC, 2, KaxChapterAtom, "ChapterSegmentEditionUID");
|
||||
DEFINE_MKX_UINTEGER(KaxChapterPhysicalEquiv, 0x63C3, 2, KaxChapterAtom, "ChapterPhysicalEquiv");
|
||||
|
||||
DEFINE_START_SEMANTIC(KaxChapterTrack)
|
||||
DEFINE_SEMANTIC_ITEM(true, false, KaxChapterTrackNumber)
|
||||
DEFINE_END_SEMANTIC(KaxChapterTrack)
|
||||
|
||||
DEFINE_MKX_MASTER(KaxChapterTrack, 0x8F, 1, KaxChapterAtom, "ChapterTrack");
|
||||
DEFINE_MKX_UINTEGER(KaxChapterTrackNumber, 0x89, 1, KaxChapterTrack, "ChapterTrackNumber");
|
||||
|
||||
DEFINE_START_SEMANTIC(KaxChapterDisplay)
|
||||
DEFINE_SEMANTIC_ITEM(true, true, KaxChapterString)
|
||||
DEFINE_SEMANTIC_ITEM(true, false, KaxChapterLanguage)
|
||||
DEFINE_SEMANTIC_ITEM(false, false, KaxChapterCountry)
|
||||
DEFINE_END_SEMANTIC(KaxChapterDisplay)
|
||||
|
||||
DEFINE_MKX_MASTER(KaxChapterDisplay, 0x80, 1, KaxChapterAtom, "ChapterDisplay");
|
||||
DEFINE_MKX_UNISTRING(KaxChapterString, 0x85, 1, KaxChapterDisplay, "ChapterString");
|
||||
DEFINE_MKX_STRING_DEF(KaxChapterLanguage, 0x437C, 2, KaxChapterDisplay, "ChapterLanguage", "eng");
|
||||
DEFINE_MKX_STRING(KaxChapterCountry, 0x437E, 2, KaxChapterDisplay, "ChapterCountry");
|
||||
|
||||
DEFINE_START_SEMANTIC(KaxChapterProcess)
|
||||
DEFINE_SEMANTIC_ITEM(true, true, KaxChapterProcessCodecID)
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxChapterProcessPrivate)
|
||||
DEFINE_SEMANTIC_ITEM(false, false, KaxChapterProcessCommand)
|
||||
DEFINE_END_SEMANTIC(KaxChapterProcess)
|
||||
|
||||
DEFINE_MKX_MASTER(KaxChapterProcess, 0x6944, 2, KaxChapterAtom, "ChapterProcess");
|
||||
DEFINE_MKX_UINTEGER_DEF(KaxChapterProcessCodecID, 0x6955, 2, KaxChapterProcess, "ChapterProcessCodecID", 0);
|
||||
DEFINE_MKX_BINARY (KaxChapterProcessPrivate, 0x450D, 2, KaxChapterProcess, "ChapterProcessPrivate");
|
||||
|
||||
DEFINE_START_SEMANTIC(KaxChapterProcessCommand)
|
||||
DEFINE_SEMANTIC_ITEM(true, true, KaxChapterProcessTime)
|
||||
DEFINE_SEMANTIC_ITEM(true, true, KaxChapterProcessData)
|
||||
DEFINE_END_SEMANTIC(KaxChapterProcessCommand)
|
||||
|
||||
DEFINE_MKX_MASTER(KaxChapterProcessCommand, 0x6911, 2, KaxChapterProcess, "ChapterProcessCommand");
|
||||
DEFINE_MKX_UINTEGER(KaxChapterProcessTime, 0x6922, 2, KaxChapterProcessCommand, "ChapterProcessTime");
|
||||
DEFINE_MKX_BINARY (KaxChapterProcessData, 0x6933, 2, KaxChapterProcessCommand, "ChapterProcessData");
|
||||
|
||||
DEFINE_START_SEMANTIC(KaxTags)
|
||||
DEFINE_SEMANTIC_ITEM(true, false, KaxTag)
|
||||
DEFINE_END_SEMANTIC(KaxTags)
|
||||
|
||||
DEFINE_MKX_MASTER(KaxTags, 0x1254C367, 4, KaxSegment, "Tags");
|
||||
|
||||
DEFINE_START_SEMANTIC(KaxTag)
|
||||
DEFINE_SEMANTIC_ITEM(true, true, KaxTagTargets)
|
||||
DEFINE_SEMANTIC_ITEM(true, false, KaxTagSimple)
|
||||
DEFINE_END_SEMANTIC(KaxTag)
|
||||
|
||||
DEFINE_MKX_MASTER(KaxTag, 0x7373, 2, KaxTags, "Tag");
|
||||
|
||||
DEFINE_START_SEMANTIC(KaxTagTargets)
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxTagTargetTypeValue)
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxTagTargetType)
|
||||
DEFINE_SEMANTIC_ITEM(false, false, KaxTagTrackUID)
|
||||
DEFINE_SEMANTIC_ITEM(false, false, KaxTagEditionUID)
|
||||
DEFINE_SEMANTIC_ITEM(false, false, KaxTagChapterUID)
|
||||
DEFINE_SEMANTIC_ITEM(false, false, KaxTagAttachmentUID)
|
||||
DEFINE_END_SEMANTIC(KaxTagTargets)
|
||||
|
||||
DEFINE_MKX_MASTER(KaxTagTargets, 0x63C0, 2, KaxTag, "TagTargets");
|
||||
DEFINE_MKX_UINTEGER_DEF(KaxTagTargetTypeValue, 0x68CA, 2, KaxTagTargets, "TagTargetTypeValue", 50);
|
||||
DEFINE_MKX_STRING(KaxTagTargetType, 0x63CA, 2, KaxTagTargets, "TagTargetType");
|
||||
DEFINE_MKX_UINTEGER_DEF(KaxTagTrackUID, 0x63C5, 2, KaxTagTargets, "TagTrackUID", 0);
|
||||
DEFINE_MKX_UINTEGER_DEF(KaxTagEditionUID, 0x63C9, 2, KaxTagTargets, "TagEditionUID", 0);
|
||||
DEFINE_MKX_UINTEGER_DEF(KaxTagChapterUID, 0x63C4, 2, KaxTagTargets, "TagChapterUID", 0);
|
||||
DEFINE_MKX_UINTEGER_DEF(KaxTagAttachmentUID, 0x63C6, 2, KaxTagTargets, "TagAttachmentUID", 0);
|
||||
|
||||
DEFINE_START_SEMANTIC(KaxTagSimple)
|
||||
DEFINE_SEMANTIC_ITEM(false, false, KaxTagSimple) // recursive
|
||||
DEFINE_SEMANTIC_ITEM(true, true, KaxTagName)
|
||||
DEFINE_SEMANTIC_ITEM(true, true, KaxTagLangue)
|
||||
DEFINE_SEMANTIC_ITEM(true, true, KaxTagDefault)
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxTagString)
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxTagBinary)
|
||||
DEFINE_END_SEMANTIC(KaxTagSimple)
|
||||
|
||||
DEFINE_MKX_MASTER(KaxTagSimple, 0x67C8, 2, KaxTag, "TagSimple");
|
||||
DEFINE_MKX_UNISTRING(KaxTagName, 0x45A3, 2, KaxTagSimple, "TagName");
|
||||
DEFINE_MKX_STRING_DEF(KaxTagLangue, 0x447A, 2, KaxTagSimple, "TagLanguage", "und");
|
||||
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 */) {
|
||||
assert(false); // no you are not allowed to use this element !
|
||||
return 0;
|
||||
}
|
||||
|
||||
filepos_t KaxReferenceVirtual::RenderData(IOCallback & /* output */, bool /* bForceRender */, bool /* bSaveDefault */) {
|
||||
assert(false); // no you are not allowed to use this element !
|
||||
return 0;
|
||||
}
|
||||
|
||||
filepos_t KaxSliceFrameNumber::RenderData(IOCallback & /* output */, bool /* bForceRender */, bool /* bSaveDefault */) {
|
||||
assert(false); // no you are not allowed to use this element !
|
||||
return 0;
|
||||
}
|
||||
|
||||
filepos_t KaxSliceBlockAddID::RenderData(IOCallback & /* output */, bool /* bForceRender */, bool /* bSaveDefault */) {
|
||||
assert(false); // no you are not allowed to use this element !
|
||||
return 0;
|
||||
}
|
||||
|
||||
filepos_t KaxSliceDelay::RenderData(IOCallback & /* output */, bool /* bForceRender */, bool /* bSaveDefault */) {
|
||||
assert(false); // no you are not allowed to use this element !
|
||||
return 0;
|
||||
}
|
||||
|
||||
filepos_t KaxSliceDuration::RenderData(IOCallback & /* output */, bool /* bForceRender */, bool /* bSaveDefault */) {
|
||||
assert(false); // no you are not allowed to use this element !
|
||||
return 0;
|
||||
}
|
||||
|
||||
filepos_t KaxEncryptedBlock::RenderData(IOCallback & /* output */, bool /* bForceRender */, bool /* bSaveDefault */) {
|
||||
assert(false); // no you are not allowed to use this element !
|
||||
return 0;
|
||||
}
|
||||
|
||||
filepos_t KaxTrackTimecodeScale::RenderData(IOCallback & /* output */, bool /* bForceRender */, bool /* bSaveDefault */) {
|
||||
assert(false); // no you are not allowed to use this element !
|
||||
return 0;
|
||||
}
|
||||
|
||||
filepos_t KaxTrackOffset::RenderData(IOCallback & /* output */, bool /* bForceRender */, bool /* bSaveDefault */) {
|
||||
assert(false); // no you are not allowed to use this element !
|
||||
return 0;
|
||||
}
|
||||
|
||||
filepos_t KaxCodecSettings::RenderData(IOCallback & /* output */, bool /* bForceRender */, bool /* bSaveDefault */) {
|
||||
assert(false); // no you are not allowed to use this element !
|
||||
return 0;
|
||||
}
|
||||
|
||||
filepos_t KaxCodecInfoURL::RenderData(IOCallback & /* output */, bool /* bForceRender */, bool /* bSaveDefault */) {
|
||||
assert(false); // no you are not allowed to use this element !
|
||||
return 0;
|
||||
}
|
||||
|
||||
filepos_t KaxCodecDownloadURL::RenderData(IOCallback & /* output */, bool /* bForceRender */, bool /* bSaveDefault */) {
|
||||
assert(false); // no you are not allowed to use this element !
|
||||
return 0;
|
||||
}
|
||||
|
||||
filepos_t KaxOldStereoMode::RenderData(IOCallback & /* output */, bool /* bForceRender */, bool /* bSaveDefault */) {
|
||||
assert(false); // no you are not allowed to use this element !
|
||||
return 0;
|
||||
}
|
||||
|
||||
filepos_t KaxVideoGamma::RenderData(IOCallback & /* output */, bool /* bForceRender */, bool /* bSaveDefault */) {
|
||||
assert(false); // no you are not allowed to use this element !
|
||||
return 0;
|
||||
}
|
||||
|
||||
filepos_t KaxVideoFrameRate::RenderData(IOCallback & /* output */, bool /* bForceRender */, bool /* bSaveDefault */) {
|
||||
assert(false); // no you are not allowed to use this element !
|
||||
return 0;
|
||||
}
|
||||
|
||||
filepos_t KaxAudioPosition::RenderData(IOCallback & /* output */, bool /* bForceRender */, bool /* bSaveDefault */) {
|
||||
assert(false); // no you are not allowed to use this element !
|
||||
return 0;
|
||||
}
|
||||
|
||||
filepos_t KaxCueRefCluster::RenderData(IOCallback & /* output */, bool /* bForceRender */, bool /* bSaveDefault */) {
|
||||
assert(false); // no you are not allowed to use this element !
|
||||
return 0;
|
||||
}
|
||||
|
||||
filepos_t KaxCueRefNumber::RenderData(IOCallback & /* output */, bool /* bForceRender */, bool /* bSaveDefault */) {
|
||||
assert(false); // no you are not allowed to use this element !
|
||||
return 0;
|
||||
}
|
||||
|
||||
filepos_t KaxCueRefCodecState::RenderData(IOCallback & /* output */, bool /* bForceRender */, bool /* bSaveDefault */) {
|
||||
assert(false); // no you are not allowed to use this element !
|
||||
return 0;
|
||||
}
|
||||
|
||||
filepos_t KaxFileReferral::RenderData(IOCallback & /* output */, bool /* bForceRender */, bool /* bSaveDefault */) {
|
||||
assert(false); // no you are not allowed to use this element !
|
||||
return 0;
|
||||
}
|
||||
|
||||
END_LIBMATROSKA_NAMESPACE
|
@@ -1,84 +0,0 @@
|
||||
/****************************************************************************
|
||||
** libmatroska : parse Matroska files, see http://www.matroska.org/
|
||||
**
|
||||
** <file/class description>
|
||||
**
|
||||
** Copyright (C) 2002-2010 Steve Lhomme. All rights reserved.
|
||||
**
|
||||
** This file is part of libmatroska.
|
||||
**
|
||||
** 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: KaxTag.cpp 1325 2009-03-30 07:56:54Z robux4 $
|
||||
\author Jory Stone <jcsston @ toughguy.net>
|
||||
\author Steve Lhomme <robux4 @ users.sf.net>
|
||||
*/
|
||||
#include "matroska/KaxTag.h"
|
||||
#include "matroska/KaxContexts.h"
|
||||
#include "matroska/KaxDefines.h"
|
||||
|
||||
using namespace LIBEBML_NAMESPACE;
|
||||
|
||||
// sub elements
|
||||
START_LIBMATROSKA_NAMESPACE
|
||||
|
||||
DEFINE_START_SEMANTIC(KaxTag)
|
||||
DEFINE_SEMANTIC_ITEM(true, true, KaxTagTargets)
|
||||
DEFINE_SEMANTIC_ITEM(true, false, KaxTagSimple)
|
||||
DEFINE_END_SEMANTIC(KaxTag)
|
||||
|
||||
DEFINE_START_SEMANTIC(KaxTagTargets)
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxTagTargetTypeValue)
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxTagTargetType)
|
||||
DEFINE_SEMANTIC_ITEM(false, false, KaxTagTrackUID)
|
||||
DEFINE_SEMANTIC_ITEM(false, false, KaxTagEditionUID)
|
||||
DEFINE_SEMANTIC_ITEM(false, false, KaxTagChapterUID)
|
||||
DEFINE_SEMANTIC_ITEM(false, false, KaxTagAttachmentUID)
|
||||
DEFINE_END_SEMANTIC(KaxTagTargets)
|
||||
|
||||
DEFINE_START_SEMANTIC(KaxTagSimple)
|
||||
DEFINE_SEMANTIC_ITEM(true, true, KaxTagName)
|
||||
DEFINE_SEMANTIC_ITEM(true, true, KaxTagLangue)
|
||||
DEFINE_SEMANTIC_ITEM(true, true, KaxTagDefault)
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxTagString)
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxTagBinary)
|
||||
DEFINE_SEMANTIC_ITEM(false, false, KaxTagSimple)
|
||||
DEFINE_END_SEMANTIC(KaxTagSimple)
|
||||
|
||||
DEFINE_MKX_MASTER (KaxTag, 0x7373, 2, KaxTags, "Tag");
|
||||
DEFINE_MKX_MASTER (KaxTagTargets, 0x63C0, 2, KaxTag, "TagTargets");
|
||||
DEFINE_MKX_UINTEGER_DEF(KaxTagTargetTypeValue, 0x68CA, 2, KaxTagTargets, "TagTargetTypeValue", 50);
|
||||
DEFINE_MKX_STRING (KaxTagTargetType, 0x63CA, 2, KaxTagTargets, "TagTargetType");
|
||||
DEFINE_MKX_UINTEGER_DEF(KaxTagTrackUID, 0x63C5, 2, KaxTagTargets, "TagTrackUID", 0);
|
||||
DEFINE_MKX_UINTEGER_DEF(KaxTagEditionUID, 0x63C9, 2, KaxTagTargets, "TagEditionUID", 0);
|
||||
DEFINE_MKX_UINTEGER_DEF(KaxTagChapterUID, 0x63C4, 2, KaxTagTargets, "TagChapterUID", 0);
|
||||
DEFINE_MKX_UINTEGER_DEF(KaxTagAttachmentUID, 0x63C6, 2, KaxTagTargets, "TagAttachmentUID", 0);
|
||||
|
||||
DEFINE_MKX_MASTER (KaxTagSimple, 0x67C8, 2, KaxTag, "TagSimple");
|
||||
DEFINE_MKX_UNISTRING (KaxTagName, 0x45A3, 2, KaxTagSimple, "TagName");
|
||||
DEFINE_MKX_STRING_DEF (KaxTagLangue, 0x447A, 2, KaxTagSimple, "TagLanguage", "und");
|
||||
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");
|
||||
|
||||
END_LIBMATROSKA_NAMESPACE
|
@@ -1,52 +0,0 @@
|
||||
/****************************************************************************
|
||||
** libmatroska : parse Matroska files, see http://www.matroska.org/
|
||||
**
|
||||
** <file/class description>
|
||||
**
|
||||
** Copyright (C) 2002-2010 Steve Lhomme. All rights reserved.
|
||||
**
|
||||
** This file is part of libmatroska.
|
||||
**
|
||||
** 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: KaxTags.cpp 711 2004-08-10 12:58:47Z robux4 $
|
||||
\author Steve Lhomme <robux4 @ users.sf.net>
|
||||
\author Jory Stone <jcsston @ toughguy.net>
|
||||
*/
|
||||
#include "matroska/KaxTags.h"
|
||||
#include "matroska/KaxTag.h"
|
||||
#include "matroska/KaxContexts.h"
|
||||
#include "matroska/KaxDefines.h"
|
||||
|
||||
using namespace LIBEBML_NAMESPACE;
|
||||
|
||||
// sub elements
|
||||
START_LIBMATROSKA_NAMESPACE
|
||||
|
||||
DEFINE_START_SEMANTIC(KaxTags)
|
||||
DEFINE_SEMANTIC_ITEM(true, false, KaxTag)
|
||||
DEFINE_END_SEMANTIC(KaxTags)
|
||||
|
||||
DEFINE_MKX_MASTER(KaxTags, 0x1254C367, 4, KaxSegment, "Tags");
|
||||
|
||||
END_LIBMATROSKA_NAMESPACE
|
@@ -1,62 +0,0 @@
|
||||
/****************************************************************************
|
||||
** libmatroska : parse Matroska files, see http://www.matroska.org/
|
||||
**
|
||||
** <file/class description>
|
||||
**
|
||||
** Copyright (C) 2002-2010 Steve Lhomme. All rights reserved.
|
||||
**
|
||||
** This file is part of libmatroska.
|
||||
**
|
||||
** 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: KaxTrackAudio.cpp 640 2004-07-09 21:05:36Z mosu $
|
||||
\author Steve Lhomme <robux4 @ users.sf.net>
|
||||
*/
|
||||
#include "matroska/KaxTrackAudio.h"
|
||||
|
||||
// sub elements
|
||||
#include "matroska/KaxContexts.h"
|
||||
#include "matroska/KaxDefines.h"
|
||||
|
||||
START_LIBMATROSKA_NAMESPACE
|
||||
|
||||
DEFINE_START_SEMANTIC(KaxTrackAudio)
|
||||
DEFINE_SEMANTIC_ITEM(true, true, KaxAudioSamplingFreq)
|
||||
DEFINE_SEMANTIC_ITEM(true, true, KaxAudioChannels)
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxAudioBitDepth)
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxAudioOutputSamplingFreq)
|
||||
#if MATROSKA_VERSION >= 2
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxAudioPosition)
|
||||
#endif // MATROSKA_VERSION
|
||||
DEFINE_END_SEMANTIC(KaxTrackAudio)
|
||||
|
||||
DEFINE_MKX_MASTER (KaxTrackAudio, 0xE1, 1, KaxTrackEntry, "TrackAudio");
|
||||
DEFINE_MKX_FLOAT_DEF (KaxAudioSamplingFreq, 0xB5, 1, KaxTrackAudio, "AudioSamplingFreq", 8000.0);
|
||||
DEFINE_MKX_FLOAT (KaxAudioOutputSamplingFreq, 0x78B5, 2, KaxTrackAudio, "AudioOutputSamplingFreq");
|
||||
DEFINE_MKX_UINTEGER_DEF(KaxAudioChannels, 0x9F, 1, KaxTrackAudio, "AudioChannels", 1);
|
||||
DEFINE_MKX_UINTEGER (KaxAudioBitDepth, 0x6264, 2, KaxTrackAudio, "AudioBitDepth");
|
||||
#if MATROSKA_VERSION >= 2
|
||||
DEFINE_MKX_BINARY (KaxAudioPosition, 0x7D7B, 2, KaxTrackAudio, "AudioPosition");
|
||||
#endif
|
||||
|
||||
END_LIBMATROSKA_NAMESPACE
|
@@ -1,79 +0,0 @@
|
||||
/****************************************************************************
|
||||
** libmatroska : parse Matroska files, see http://www.matroska.org/
|
||||
**
|
||||
** <file/class description>
|
||||
**
|
||||
** Copyright (C) 2002-2010 Steve Lhomme. All rights reserved.
|
||||
**
|
||||
** This file is part of libmatroska.
|
||||
**
|
||||
** 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: KaxTrackEntryData.cpp 1201 2005-08-30 14:28:27Z robux4 $
|
||||
\author Steve Lhomme <robux4 @ users.sf.net>
|
||||
\author John Cannon <spyder2555 @ users.sf.net>
|
||||
*/
|
||||
#include "matroska/KaxTrackEntryData.h"
|
||||
#include "matroska/KaxContexts.h"
|
||||
#include "matroska/KaxDefines.h"
|
||||
|
||||
START_LIBMATROSKA_NAMESPACE
|
||||
|
||||
DEFINE_START_SEMANTIC(KaxTrackTranslate)
|
||||
DEFINE_SEMANTIC_ITEM(false, false, KaxTrackTranslateEditionUID)
|
||||
DEFINE_SEMANTIC_ITEM(true, true, KaxTrackTranslateCodec)
|
||||
DEFINE_SEMANTIC_ITEM(true, true, KaxTrackTranslateTrackID)
|
||||
DEFINE_END_SEMANTIC(KaxTrackTranslate)
|
||||
|
||||
DEFINE_MKX_UINTEGER (KaxTrackNumber, 0xD7, 1, KaxTracks, "TrackNumber");
|
||||
DEFINE_MKX_UINTEGER (KaxTrackUID, 0x73C5, 2, KaxTracks, "TrackUID");
|
||||
DEFINE_MKX_UINTEGER (KaxTrackType, 0x83, 1, KaxTracks, "TrackType");
|
||||
DEFINE_MKX_UINTEGER_DEF(KaxTrackFlagDefault, 0x88, 1, KaxTracks, "TrackFlagEnabled", 1);
|
||||
DEFINE_MKX_UINTEGER_DEF(KaxTrackFlagForced, 0x55AA, 2, KaxTracks, "TrackFlagForced", 0);
|
||||
DEFINE_MKX_UINTEGER_DEF(KaxTrackFlagLacing, 0x9C, 1, KaxTracks, "TrackFlagLacing", 1);
|
||||
DEFINE_MKX_UINTEGER_DEF(KaxTrackMinCache, 0x6DE7, 2, KaxTracks, "TrackMinCache", 0);
|
||||
DEFINE_MKX_UINTEGER (KaxTrackMaxCache, 0x6DF8, 2, KaxTracks, "TrackMaxCache\0rotomodobopo");
|
||||
DEFINE_MKX_UINTEGER (KaxTrackDefaultDuration, 0x23E383, 3, KaxTracks, "TrackDefaultDuration");
|
||||
DEFINE_MKX_FLOAT_DEF (KaxTrackTimecodeScale, 0x23314F, 3, KaxTracks, "TrackTimecodeScale", 1.0);
|
||||
DEFINE_MKX_UINTEGER_DEF(KaxMaxBlockAdditionID, 0x55EE, 2, KaxTracks, "MaxBlockAdditionID", 0);
|
||||
//DEFINE_MKX_SINTEGER_DEF(KaxTrackOffset, 0x537F, 2, KaxTracks, "TrackOffset", 0);
|
||||
DEFINE_MKX_UNISTRING (KaxTrackName, 0x536E, 2, KaxTracks, "TrackName");
|
||||
DEFINE_MKX_STRING_DEF (KaxTrackLanguage, 0x22B59C, 3, KaxTracks, "TrackLanguage", "eng");
|
||||
DEFINE_MKX_STRING (KaxCodecID, 0x86, 1, KaxTracks, "CodecID");
|
||||
DEFINE_MKX_BINARY (KaxCodecPrivate, 0x63A2, 2, KaxTracks, "CodecPrivate");
|
||||
DEFINE_MKX_UNISTRING (KaxCodecName, 0x258688, 3, KaxTracks, "CodecName");
|
||||
DEFINE_MKX_BINARY (KaxTrackAttachmentLink, 0x7446, 2, KaxTracks, "TrackAttachmentLink");
|
||||
DEFINE_MKX_UINTEGER (KaxTrackOverlay, 0x6FAB, 2, KaxTracks, "TrackOverlay");
|
||||
DEFINE_MKX_MASTER (KaxTrackTranslate, 0x6624, 2, KaxTracks, "TrackTranslate");
|
||||
DEFINE_MKX_UINTEGER (KaxTrackTranslateEditionUID, 0x66FC, 2, KaxTrackTranslate, "TrackTranslateEditionUID");
|
||||
DEFINE_MKX_UINTEGER (KaxTrackTranslateCodec, 0x66BF, 2, KaxTrackTranslate, "TrackTranslateCodec");
|
||||
DEFINE_MKX_BINARY (KaxTrackTranslateTrackID, 0x66A5, 2, KaxTrackTranslate, "TrackTranslateTrackID");
|
||||
#if MATROSKA_VERSION >= 2
|
||||
DEFINE_MKX_UINTEGER_DEF(KaxTrackFlagEnabled, 0xB9, 1, KaxTracks, "TrackFlagDefault", 1);
|
||||
DEFINE_MKX_UNISTRING (KaxCodecSettings, 0x3A9697, 3, KaxTracks, "CodecSettings");
|
||||
DEFINE_MKX_STRING (KaxCodecInfoURL, 0x3B4040, 3, KaxTracks, "CodecInfoURL");
|
||||
DEFINE_MKX_STRING (KaxCodecDownloadURL, 0x26B240, 3, KaxTracks, "CodecDownloadURL");
|
||||
DEFINE_MKX_UINTEGER_DEF(KaxCodecDecodeAll, 0xAA, 1, KaxTracks, "CodecDecodeAll", 1);
|
||||
#endif
|
||||
|
||||
END_LIBMATROSKA_NAMESPACE
|
@@ -1,88 +0,0 @@
|
||||
/****************************************************************************
|
||||
** libmatroska : parse Matroska files, see http://www.matroska.org/
|
||||
**
|
||||
** <file/class description>
|
||||
**
|
||||
** Copyright (C) 2002-2010 Steve Lhomme. All rights reserved.
|
||||
**
|
||||
** This file is part of libmatroska.
|
||||
**
|
||||
** 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: KaxTrackVideo.cpp 738 2004-08-30 09:21:46Z robux4 $
|
||||
\author Steve Lhomme <robux4 @ users.sf.net>
|
||||
*/
|
||||
#include "matroska/KaxTrackVideo.h"
|
||||
|
||||
// sub elements
|
||||
#include "matroska/KaxContexts.h"
|
||||
#include "matroska/KaxDefines.h"
|
||||
|
||||
START_LIBMATROSKA_NAMESPACE
|
||||
|
||||
DEFINE_START_SEMANTIC(KaxTrackVideo)
|
||||
DEFINE_SEMANTIC_ITEM(true, true, KaxVideoPixelWidth)
|
||||
DEFINE_SEMANTIC_ITEM(true, true, KaxVideoPixelHeight)
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxVideoPixelCropBottom)
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxVideoPixelCropTop)
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxVideoPixelCropLeft)
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxVideoPixelCropRight)
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxVideoDisplayWidth)
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxVideoDisplayHeight)
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxVideoColourSpace)
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxVideoFrameRate)
|
||||
#if MATROSKA_VERSION >= 2
|
||||
DEFINE_SEMANTIC_ITEM(true, true, KaxVideoFlagInterlaced)
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxVideoStereoMode)
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxVideoDisplayUnit)
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxVideoAspectRatio)
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxVideoGamma)
|
||||
#endif // MATROSKA_VERSION
|
||||
DEFINE_END_SEMANTIC(KaxTrackVideo)
|
||||
|
||||
DEFINE_MKX_MASTER (KaxTrackVideo, 0xE0, 1, KaxTrackEntry, "TrackVideo");
|
||||
DEFINE_MKX_UINTEGER (KaxVideoPixelWidth, 0xB0, 1, KaxTrackVideo, "VideoPixelWidth");
|
||||
DEFINE_MKX_UINTEGER (KaxVideoPixelHeight, 0xBA, 1, KaxTrackVideo, "VideoPixelHeight");
|
||||
DEFINE_MKX_UINTEGER_DEF(KaxVideoPixelCropBottom, 0x54AA, 2, KaxTrackVideo, "VideoPixelCropBottom", 0);
|
||||
DEFINE_MKX_UINTEGER_DEF(KaxVideoPixelCropTop, 0x54BB, 2, KaxTrackVideo, "VideoPixelCropTop", 0);
|
||||
DEFINE_MKX_UINTEGER_DEF(KaxVideoPixelCropLeft, 0x54CC, 2, KaxTrackVideo, "VideoPixelCropLeft", 0);
|
||||
DEFINE_MKX_UINTEGER_DEF(KaxVideoPixelCropRight, 0x54DD, 2, KaxTrackVideo, "VideoPixelCropRight", 0);
|
||||
DEFINE_MKX_UINTEGER (KaxVideoDisplayWidth, 0x54B0, 2, KaxTrackVideo, "VideoDisplayWidth");
|
||||
DEFINE_MKX_UINTEGER (KaxVideoDisplayHeight, 0x54BA, 2, KaxTrackVideo, "VideoDisplayHeight");
|
||||
DEFINE_MKX_BINARY (KaxVideoColourSpace, 0x2EB524, 3, KaxTrackVideo, "VideoColourSpace");
|
||||
DEFINE_MKX_FLOAT (KaxVideoFrameRate, 0x2383E3, 3, KaxTrackVideo, "VideoFrameRate");
|
||||
#if MATROSKA_VERSION >= 2
|
||||
DEFINE_MKX_UINTEGER_DEF(KaxVideoFlagInterlaced, 0x9A, 1, KaxTrackVideo, "VideoFlagInterlaced", 0);
|
||||
DEFINE_MKX_UINTEGER_DEF(KaxVideoStereoMode, 0x53B8, 2, KaxTrackVideo, "VideoStereoMode", 0);
|
||||
DEFINE_MKX_UINTEGER_DEF(KaxVideoDisplayUnit, 0x54B2, 2, KaxTrackVideo, "VideoDisplayUnit", 0);
|
||||
DEFINE_MKX_UINTEGER_DEF(KaxVideoAspectRatio, 0x54B3, 2, KaxTrackVideo, "VideoAspectRatio", 0);
|
||||
DEFINE_MKX_FLOAT (KaxVideoGamma, 0x2FB523, 3, KaxTrackVideo, "VideoGamma");
|
||||
#endif
|
||||
|
||||
filepos_t KaxVideoFrameRate::RenderData(IOCallback & output, bool bForceRender, bool bSaveDefault)
|
||||
{
|
||||
assert(false); // no you are not allowed to use this element !
|
||||
return 0;
|
||||
}
|
||||
|
||||
END_LIBMATROSKA_NAMESPACE
|
@@ -19,9 +19,9 @@
|
||||
**
|
||||
** 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
|
||||
** Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
**
|
||||
** See http://www.matroska.org/license/lgpl/ for LGPL licensing information.**
|
||||
** See http://www.gnu.org/licenses/lgpl-2.1.html for LGPL licensing information.**
|
||||
** Contact license@matroska.org if any conditions of this licensing are
|
||||
** not clear to you.
|
||||
**
|
||||
@@ -35,87 +35,11 @@
|
||||
#include "matroska/KaxTracks.h"
|
||||
|
||||
// sub elements
|
||||
#include "matroska/KaxTrackEntryData.h"
|
||||
#include "matroska/KaxTrackAudio.h"
|
||||
#include "matroska/KaxTrackVideo.h"
|
||||
#include "matroska/KaxContentEncoding.h"
|
||||
#include "matroska/KaxContexts.h"
|
||||
#include "matroska/KaxDefines.h"
|
||||
|
||||
START_LIBMATROSKA_NAMESPACE
|
||||
|
||||
DEFINE_START_SEMANTIC(KaxTracks)
|
||||
DEFINE_SEMANTIC_ITEM(true, false, KaxTrackEntry)
|
||||
DEFINE_END_SEMANTIC(KaxTracks)
|
||||
|
||||
DEFINE_START_SEMANTIC(KaxTrackEntry)
|
||||
DEFINE_SEMANTIC_ITEM(true, true, KaxTrackNumber)
|
||||
DEFINE_SEMANTIC_ITEM(true, true, KaxTrackUID)
|
||||
DEFINE_SEMANTIC_ITEM(true, true, KaxTrackType)
|
||||
#if MATROSKA_VERSION >= 2
|
||||
DEFINE_SEMANTIC_ITEM(true, true, KaxTrackFlagEnabled)
|
||||
#endif // MATROSKA_VERSION
|
||||
DEFINE_SEMANTIC_ITEM(true, true, KaxTrackFlagDefault)
|
||||
DEFINE_SEMANTIC_ITEM(true, true, KaxTrackFlagForced)
|
||||
DEFINE_SEMANTIC_ITEM(true, true, KaxTrackFlagLacing)
|
||||
DEFINE_SEMANTIC_ITEM(true, true, KaxTrackMinCache)
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxTrackMaxCache)
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxTrackDefaultDuration)
|
||||
DEFINE_SEMANTIC_ITEM(true, true, KaxTrackTimecodeScale)
|
||||
DEFINE_SEMANTIC_ITEM(true, true, KaxMaxBlockAdditionID)
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxTrackName)
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxTrackLanguage)
|
||||
DEFINE_SEMANTIC_ITEM(true, true, KaxCodecID)
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxCodecPrivate)
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxCodecName)
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxTrackAttachmentLink)
|
||||
#if MATROSKA_VERSION >= 2
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxCodecSettings)
|
||||
DEFINE_SEMANTIC_ITEM(false, false, KaxCodecInfoURL)
|
||||
DEFINE_SEMANTIC_ITEM(false, false, KaxCodecDownloadURL)
|
||||
DEFINE_SEMANTIC_ITEM(true, true, KaxCodecDecodeAll)
|
||||
#endif // MATROSKA_VERSION
|
||||
DEFINE_SEMANTIC_ITEM(false, false, KaxTrackOverlay)
|
||||
DEFINE_SEMANTIC_ITEM(false, false, KaxTrackTranslate)
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxTrackAudio)
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxTrackVideo)
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxContentEncodings)
|
||||
#if MATROSKA_VERSION >= 2
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxTrackOperation)
|
||||
#endif
|
||||
DEFINE_END_SEMANTIC(KaxTrackEntry)
|
||||
|
||||
DEFINE_MKX_MASTER (KaxTracks, 0x1654AE6B, 4, KaxSegment, "Tracks");
|
||||
DEFINE_MKX_MASTER_CONS(KaxTrackEntry, 0xAE, 1, KaxTracks, "TrackEntry");
|
||||
|
||||
#if MATROSKA_VERSION >= 2
|
||||
DEFINE_START_SEMANTIC(KaxTrackOperation)
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxTrackCombinePlanes)
|
||||
DEFINE_SEMANTIC_ITEM(false, true, KaxTrackJoinBlocks)
|
||||
DEFINE_END_SEMANTIC(KaxTrackOperation)
|
||||
|
||||
DEFINE_START_SEMANTIC(KaxTrackCombinePlanes)
|
||||
DEFINE_SEMANTIC_ITEM(true, false, KaxTrackPlane)
|
||||
DEFINE_END_SEMANTIC(KaxTrackCombinePlanes)
|
||||
|
||||
DEFINE_START_SEMANTIC(KaxTrackPlane)
|
||||
DEFINE_SEMANTIC_ITEM(true, true, KaxTrackPlaneUID)
|
||||
DEFINE_SEMANTIC_ITEM(true, true, KaxTrackPlaneType)
|
||||
DEFINE_END_SEMANTIC(KaxTrackPlane)
|
||||
|
||||
DEFINE_START_SEMANTIC(KaxTrackJoinBlocks)
|
||||
DEFINE_SEMANTIC_ITEM(true, false, KaxTrackJoinUID)
|
||||
DEFINE_END_SEMANTIC(KaxTrackJoinBlocks)
|
||||
|
||||
DEFINE_MKX_MASTER (KaxTrackOperation, 0xE2, 1, KaxTracks, "TrackOperation");
|
||||
DEFINE_MKX_MASTER (KaxTrackCombinePlanes, 0xE3, 1, KaxTrackOperation, "TrackCombinePlanes");
|
||||
DEFINE_MKX_MASTER (KaxTrackPlane, 0xE4, 1, KaxTrackCombinePlanes, "TrackPlane");
|
||||
DEFINE_MKX_UINTEGER(KaxTrackPlaneUID, 0xE5, 1, KaxTrackPlane, "TrackPlaneUID");
|
||||
DEFINE_MKX_UINTEGER(KaxTrackPlaneType, 0xE6, 1, KaxTrackPlane, "TrackPlaneType");
|
||||
DEFINE_MKX_MASTER (KaxTrackJoinBlocks, 0xE9, 1, KaxTrackOperation, "TrackJoinBlocks");
|
||||
DEFINE_MKX_UINTEGER(KaxTrackJoinUID, 0xED, 1, KaxTrackJoinBlocks, "TrackJoinUID");
|
||||
#endif
|
||||
|
||||
KaxTrackEntry::KaxTrackEntry(EBML_EXTRA_DEF)
|
||||
:EbmlMaster(EBML_CLASS_SEMCONTEXT(KaxTrackEntry) EBML_DEF_SEP EBML_EXTRA_CALL)
|
||||
,bGlobalTimecodeScaleIsSet(false)
|
||||
|
@@ -19,9 +19,9 @@
|
||||
**
|
||||
** 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
|
||||
** Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
**
|
||||
** See http://www.matroska.org/license/lgpl/ for LGPL licensing information.**
|
||||
** See http://www.gnu.org/licenses/lgpl-2.1.html for LGPL licensing information.**
|
||||
** Contact license@matroska.org if any conditions of this licensing are
|
||||
** not clear to you.
|
||||
**
|
||||
@@ -37,4 +37,7 @@
|
||||
|
||||
START_LIBMATROSKA_NAMESPACE
|
||||
|
||||
const std::string KaxCodeVersion = "1.4.0";
|
||||
const std::string KaxCodeDate = __TIMESTAMP__;
|
||||
|
||||
END_LIBMATROSKA_NAMESPACE
|
||||
|
@@ -1,6 +1,6 @@
|
||||
## libmatroska Makefile
|
||||
## (c) 2002 Steve Lhomme
|
||||
## This software is licensed under the LGPL, see LGPL.txt
|
||||
## This software is licensed under the LGPL, see LICENSE.LGPL
|
||||
|
||||
all: endian
|
||||
echo "Making endianess tests"
|
||||
|
@@ -7,24 +7,21 @@
|
||||
**
|
||||
** This file is part of libmatroska.
|
||||
**
|
||||
** This file may be distributed under the terms of the Q Public License
|
||||
** as defined by Trolltech AS of Norway and appearing in the file
|
||||
** LICENSE.QPL included in the packaging of this file.
|
||||
** 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 file may be distributed and/or modified under the terms of the
|
||||
** GNU General Public License version 2 as published by the Free Software
|
||||
** Foundation and appearing in the file LICENSE.GPL included in the
|
||||
** packaging of this file.
|
||||
** 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.
|
||||
**
|
||||
** Licensees holding an other license may use this file in accordance with
|
||||
** the Agreement provided with the Software.
|
||||
**
|
||||
** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
|
||||
** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
|
||||
**
|
||||
** See http://www.matroska.org/license/qpl/ for QPL licensing information.
|
||||
** See http://www.matroska.org/license/gpl/ for GPL licensing information.
|
||||
** 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
**
|
||||
** See http://www.gnu.org/licenses/lgpl-2.1.html for LGPL licensing information.**
|
||||
** Contact license@matroska.org if any conditions of this licensing are
|
||||
** not clear to you.
|
||||
**
|
||||
@@ -51,8 +48,9 @@
|
||||
#include "ebml/EbmlMaster.h"
|
||||
#include "ebml/EbmlFloat.h"
|
||||
#include "ebml/EbmlStream.h"
|
||||
#include "ebml/StdIOCallback.h"
|
||||
|
||||
using namespace LIBMATROSKA_NAMESPACE;
|
||||
using namespace LIBEBML_NAMESPACE;
|
||||
|
||||
const char RW_FILENAME[] = "test.kax";
|
||||
|
||||
|
@@ -7,24 +7,21 @@
|
||||
**
|
||||
** This file is part of libmatroska.
|
||||
**
|
||||
** This file may be distributed under the terms of the Q Public License
|
||||
** as defined by Trolltech AS of Norway and appearing in the file
|
||||
** LICENSE.QPL included in the packaging of this file.
|
||||
** 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 file may be distributed and/or modified under the terms of the
|
||||
** GNU General Public License version 2 as published by the Free Software
|
||||
** Foundation and appearing in the file LICENSE.GPL included in the
|
||||
** packaging of this file.
|
||||
** 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.
|
||||
**
|
||||
** Licensees holding an other license may use this file in accordance with
|
||||
** the Agreement provided with the Software.
|
||||
**
|
||||
** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
|
||||
** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
|
||||
**
|
||||
** See http://www.matroska.org/license/qpl/ for QPL licensing information.
|
||||
** See http://www.matroska.org/license/gpl/ for GPL licensing information.
|
||||
** 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
**
|
||||
** See http://www.gnu.org/licenses/lgpl-2.1.html for LGPL licensing information.**
|
||||
** Contact license@matroska.org if any conditions of this licensing are
|
||||
** not clear to you.
|
||||
**
|
||||
@@ -48,9 +45,8 @@
|
||||
#include "ebml/EbmlVoid.h"
|
||||
#include "ebml/EbmlContexts.h"
|
||||
#include "matroska/KaxSegment.h"
|
||||
#include "matroska/KaxAttachments.h"
|
||||
#include "matroska/KaxAttached.h"
|
||||
#include "matroska/KaxContexts.h"
|
||||
#include "matroska/KaxSemantic.h"
|
||||
|
||||
#include "ebml/EbmlVersion.h"
|
||||
#include "matroska/KaxVersion.h"
|
||||
|
@@ -19,9 +19,9 @@
|
||||
**
|
||||
** 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
|
||||
** Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
**
|
||||
** See http://www.matroska.org/license/lgpl/ for LGPL licensing information.**
|
||||
** See http://www.gnu.org/licenses/lgpl-2.1.html for LGPL licensing information.**
|
||||
** Contact license@matroska.org if any conditions of this licensing are
|
||||
** not clear to you.
|
||||
**
|
||||
@@ -48,19 +48,10 @@
|
||||
#include "matroska/FileKax.h"
|
||||
#include "matroska/KaxSegment.h"
|
||||
#include "matroska/KaxTracks.h"
|
||||
#include "matroska/KaxTrackEntryData.h"
|
||||
#include "matroska/KaxTrackAudio.h"
|
||||
#include "matroska/KaxTrackVideo.h"
|
||||
#include "matroska/KaxCluster.h"
|
||||
#include "matroska/KaxClusterData.h"
|
||||
#include "matroska/KaxSeekHead.h"
|
||||
#include "matroska/KaxCues.h"
|
||||
#include "matroska/KaxInfo.h"
|
||||
#include "matroska/KaxInfoData.h"
|
||||
#include "matroska/KaxTags.h"
|
||||
#include "matroska/KaxTag.h"
|
||||
#include "matroska/KaxChapters.h"
|
||||
#include "matroska/KaxContentEncoding.h"
|
||||
|
||||
using namespace LIBMATROSKA_NAMESPACE;
|
||||
using namespace std;
|
||||
|
@@ -17,9 +17,9 @@
|
||||
**
|
||||
** 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
|
||||
** Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
**
|
||||
** See http://www.matroska.org/license/lgpl/ for LGPL licensing information.**
|
||||
** See http://www.gnu.org/licenses/lgpl-2.1.html for LGPL licensing information.**
|
||||
** Contact license@matroska.org if any conditions of this licensing are
|
||||
** not clear to you.
|
||||
**
|
||||
@@ -49,16 +49,11 @@
|
||||
#include "matroska/KaxSegment.h"
|
||||
#include "matroska/KaxContexts.h"
|
||||
#include "matroska/KaxTracks.h"
|
||||
#include "matroska/KaxInfo.h"
|
||||
#include "matroska/KaxInfoData.h"
|
||||
#include "matroska/KaxCluster.h"
|
||||
#include "matroska/KaxClusterData.h"
|
||||
#include "matroska/KaxBlockData.h"
|
||||
#include "matroska/KaxSeekHead.h"
|
||||
#include "matroska/KaxCuesData.h"
|
||||
#include "matroska/KaxChapters.h"
|
||||
#include "matroska/KaxTags.h"
|
||||
#include "matroska/KaxTag.h"
|
||||
#include "ebml/StdIOCallback.h"
|
||||
|
||||
using namespace LIBMATROSKA_NAMESPACE;
|
||||
|
@@ -7,24 +7,21 @@
|
||||
**
|
||||
** This file is part of libmatroska.
|
||||
**
|
||||
** This file may be distributed under the terms of the Q Public License
|
||||
** as defined by Trolltech AS of Norway and appearing in the file
|
||||
** LICENSE.QPL included in the packaging of this file.
|
||||
** 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 file may be distributed and/or modified under the terms of the
|
||||
** GNU General Public License version 2 as published by the Free Software
|
||||
** Foundation and appearing in the file LICENSE.GPL included in the
|
||||
** packaging of this file.
|
||||
** 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.
|
||||
**
|
||||
** Licensees holding an other license may use this file in accordance with
|
||||
** the Agreement provided with the Software.
|
||||
**
|
||||
** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
|
||||
** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
|
||||
**
|
||||
** See http://www.matroska.org/license/qpl/ for QPL licensing information.
|
||||
** See http://www.matroska.org/license/gpl/ for GPL licensing information.
|
||||
** 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
**
|
||||
** See http://www.gnu.org/licenses/lgpl-2.1.html for LGPL licensing information.**
|
||||
** Contact license@matroska.org if any conditions of this licensing are
|
||||
** not clear to you.
|
||||
**
|
||||
@@ -58,7 +55,6 @@
|
||||
#include <matroska/KaxSegment.h>
|
||||
#include <matroska/KaxTags.h>
|
||||
#include <matroska/KaxTag.h>
|
||||
#include <matroska/KaxTagMulti.h>
|
||||
#include <matroska/KaxTracks.h>
|
||||
#include <matroska/KaxTrackEntryData.h>
|
||||
#include <matroska/KaxTrackAudio.h>
|
||||
@@ -101,6 +97,7 @@ int main() {
|
||||
*(static_cast<EbmlUInteger *>(&GetChild<KaxTagTrackUID>(targets))) =
|
||||
1234;
|
||||
|
||||
#if 0
|
||||
// comment of the Targets
|
||||
KaxTagMultiComment &mcomB = GetChild<KaxTagMultiComment>(targets);
|
||||
*(static_cast<EbmlString *>
|
||||
@@ -335,6 +332,7 @@ int main() {
|
||||
*(static_cast<EbmlString *>
|
||||
(&GetChild<KaxTagMultiTitleLanguage>(tit))) =
|
||||
"MultiTitleLanguage";
|
||||
#endif
|
||||
|
||||
KaxTagSimple &stag_l1 = GetChild<KaxTagSimple>(tag);
|
||||
*(static_cast<EbmlUnicodeString *>(&GetChild<KaxTagName>(stag_l1))) =
|
||||
|
@@ -7,24 +7,21 @@
|
||||
**
|
||||
** This file is part of libmatroska.
|
||||
**
|
||||
** This file may be distributed under the terms of the Q Public License
|
||||
** as defined by Trolltech AS of Norway and appearing in the file
|
||||
** LICENSE.QPL included in the packaging of this file.
|
||||
** 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 file may be distributed and/or modified under the terms of the
|
||||
** GNU General Public License version 2 as published by the Free Software
|
||||
** Foundation and appearing in the file LICENSE.GPL included in the
|
||||
** packaging of this file.
|
||||
** 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.
|
||||
**
|
||||
** Licensees holding an other license may use this file in accordance with
|
||||
** the Agreement provided with the Software.
|
||||
**
|
||||
** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
|
||||
** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
|
||||
**
|
||||
** See http://www.matroska.org/license/qpl/ for QPL licensing information.
|
||||
** See http://www.matroska.org/license/gpl/ for GPL licensing information.
|
||||
** 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
**
|
||||
** See http://www.gnu.org/licenses/lgpl-2.1.html for LGPL licensing information.**
|
||||
** Contact license@matroska.org if any conditions of this licensing are
|
||||
** not clear to you.
|
||||
**
|
||||
|
Reference in New Issue
Block a user