TagLib
1.13
taglib
mpeg
xingheader.h
Go to the documentation of this file.
1
/***************************************************************************
2
copyright : (C) 2003 by Ismael Orenstein
3
email : orenstein@kde.org
4
***************************************************************************/
5
6
/***************************************************************************
7
* This library is free software; you can redistribute it and/or modify *
8
* it under the terms of the GNU Lesser General Public License version *
9
* 2.1 as published by the Free Software Foundation. *
10
* *
11
* This library is distributed in the hope that it will be useful, but *
12
* WITHOUT ANY WARRANTY; without even the implied warranty of *
13
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
14
* Lesser General Public License for more details. *
15
* *
16
* You should have received a copy of the GNU Lesser General Public *
17
* License along with this library; if not, write to the Free Software *
18
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA *
19
* 02110-1301 USA *
20
* *
21
* Alternatively, this file is available under the Mozilla Public *
22
* License Version 1.1. You may obtain a copy of the License at *
23
* http://www.mozilla.org/MPL/ *
24
***************************************************************************/
25
26
#ifndef TAGLIB_XINGHEADER_H
27
#define TAGLIB_XINGHEADER_H
28
29
#include "
mpegheader.h
"
30
#include "
taglib_export.h
"
31
32
namespace
TagLib
{
33
34
class
ByteVector;
35
36
namespace
MPEG {
37
38
class
File;
39
41
52
class
TAGLIB_EXPORT
XingHeader
53
{
54
public
:
58
enum
HeaderType
59
{
63
Invalid = 0,
64
68
Xing = 1,
69
73
VBRI = 2,
74
};
75
80
XingHeader
(
const
ByteVector
&data);
81
85
virtual
~XingHeader
();
86
91
bool
isValid
()
const
;
92
96
unsigned
int
totalFrames
()
const
;
97
101
unsigned
int
totalSize
()
const
;
102
106
HeaderType
type
()
const
;
107
114
TAGLIB_DEPRECATED
static
int
xingHeaderOffset
(
TagLib::MPEG::Header::Version
v,
115
TagLib::MPEG::Header::ChannelMode
c);
116
117
private
:
118
XingHeader
(
const
XingHeader
&);
119
XingHeader
&operator=(
const
XingHeader
&);
120
121
void
parse(
const
ByteVector
&data);
122
123
class
XingHeaderPrivate;
124
XingHeaderPrivate *d;
125
};
126
}
127
}
128
129
#endif
TagLib::ByteVector
A byte vector.
Definition:
tbytevector.h:46
TagLib::MPEG::Header::Version
Version
Definition:
mpegheader.h:85
TagLib::MPEG::Header::ChannelMode
ChannelMode
Definition:
mpegheader.h:128
TagLib::MPEG::XingHeader
An implementation of the Xing/VBRI headers.
Definition:
xingheader.h:53
TagLib::MPEG::XingHeader::isValid
bool isValid() const
TagLib::MPEG::XingHeader::xingHeaderOffset
static TAGLIB_DEPRECATED int xingHeaderOffset(TagLib::MPEG::Header::Version v, TagLib::MPEG::Header::ChannelMode c)
TagLib::MPEG::XingHeader::XingHeader
XingHeader(const ByteVector &data)
TagLib::MPEG::XingHeader::totalFrames
unsigned int totalFrames() const
TagLib::MPEG::XingHeader::type
HeaderType type() const
TagLib::MPEG::XingHeader::~XingHeader
virtual ~XingHeader()
TagLib::MPEG::XingHeader::totalSize
unsigned int totalSize() const
TagLib::MPEG::XingHeader::HeaderType
HeaderType
Definition:
xingheader.h:59
mpegheader.h
TagLib
A namespace for all TagLib related classes and functions.
Definition:
apefile.h:41
TAGLIB_DEPRECATED
#define TAGLIB_DEPRECATED
Definition:
taglib.h:54
taglib_export.h
TAGLIB_EXPORT
#define TAGLIB_EXPORT
Definition:
taglib_export.h:40