FFmpegfs Fuse Multi Media Filesystem
2.16
src
aiff.h
Go to the documentation of this file.
1
/*
2
* Copyright (C) 2017-2024 by Norbert Schlia (nschlia@oblivion-software.de)
3
*
4
* This program is free software; you can redistribute it and/or modify
5
* it under the terms of the GNU General Public License as published by
6
* the Free Software Foundation; either version 3 of the License, or
7
* (at your option) any later version.
8
*
9
* This program is distributed in the hope that it will be useful,
10
* but WITHOUT ANY WARRANTY; without even the implied warranty of
11
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
* GNU General Public License for more details.
13
*
14
* You should have received a copy of the GNU General Public License
15
* along with this program; if not, write to the Free Software
16
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
17
*
18
* On Debian systems, the complete text of the GNU General Public License
19
* Version 3 can be found in `/usr/share/common-licenses/GPL-3'.
20
*/
21
33
#ifndef AIFF_H
34
#define AIFF_H
35
36
#pragma once
37
38
#include <stdint.h>
39
#include <array>
40
41
#pragma pack(push, 1)
42
43
typedef
std::array<uint8_t, 4>
AIFF_ID
;
45
#define AIFF_FORMID "FORM"
49
typedef
struct
50
{
51
AIFF_ID
m_ckID
;
52
uint32_t
m_ckSize
;
53
AIFF_ID
formType
;
54
//uint8_t chunks[];
55
}
AIFF_FORMCHUNK
;
56
60
typedef
struct
61
{
62
AIFF_ID
m_ckID
;
63
uint32_t
m_ckSize
;
64
//uint8_t data[];
65
}
AIFF_CHUNK
;
66
67
#define AIFF_COMMONID "COMM"
71
typedef
struct
72
{
73
AIFF_ID
m_ckID
;
74
uint32_t
m_ckSize
;
75
uint8_t
m_numChannels
;
76
uint32_t
m_numSampleFrames
;
77
uint8_t
m_sampleSize
;
78
//extended sampleRate;
79
}
AIFF_COMMONCHUNK
;
80
81
#define AIFF_SOUNDATAID "SSND"
85
typedef
struct
86
{
87
AIFF_ID
m_ckID
;
88
uint32_t
m_ckSize
;
89
uint32_t
m_offset
;
90
uint32_t
m_blockSize
;
91
//uint8_t soundData[];
92
}
AIFF_SOUNDDATACHUNK
;
93
94
#define AIFF_NAMEID "NAME"
95
#define AIFF_AUTHORID "AUTH"
96
#define AIFF_COPYRIGHTID "(c) "
97
#define AIFF_ANNOTATIONID "ANNO"
101
typedef
struct
102
{
103
AIFF_ID
m_ckID
;
104
uint32_t
m_ckSize
;
105
//uint8_t text[];
106
}
AIFF_TEXTCHUNK
;
107
108
#pragma pack(pop)
109
110
#endif
// AIFF_H
AIFF_ID
std::array< uint8_t, 4 > AIFF_ID
AIFF fourcc ID.
Definition:
aiff.h:43
AIFF_CHUNK
Definition:
aiff.h:61
AIFF_CHUNK::m_ckSize
uint32_t m_ckSize
Size of this chunk - 8.
Definition:
aiff.h:63
AIFF_CHUNK::m_ckID
AIFF_ID m_ckID
Chunk ID.
Definition:
aiff.h:62
AIFF_COMMONCHUNK
Definition:
aiff.h:72
AIFF_COMMONCHUNK::m_ckID
AIFF_ID m_ckID
Chunk ID, always "COMM".
Definition:
aiff.h:73
AIFF_COMMONCHUNK::m_sampleSize
uint8_t m_sampleSize
Number of bits in each sample point.
Definition:
aiff.h:77
AIFF_COMMONCHUNK::m_ckSize
uint32_t m_ckSize
Size of this chunk - 8.
Definition:
aiff.h:74
AIFF_COMMONCHUNK::m_numChannels
uint8_t m_numChannels
Number of audio channels for the sound.
Definition:
aiff.h:75
AIFF_COMMONCHUNK::m_numSampleFrames
uint32_t m_numSampleFrames
Number of sample frames in the sound data chunk.
Definition:
aiff.h:76
AIFF_FORMCHUNK
Definition:
aiff.h:50
AIFF_FORMCHUNK::m_ckSize
uint32_t m_ckSize
Total file size - 8.
Definition:
aiff.h:52
AIFF_FORMCHUNK::m_ckID
AIFF_ID m_ckID
Chunk ID, always "FORM".
Definition:
aiff.h:51
AIFF_FORMCHUNK::formType
AIFF_ID formType
Definition:
aiff.h:53
AIFF_SOUNDDATACHUNK
Definition:
aiff.h:86
AIFF_SOUNDDATACHUNK::m_blockSize
uint32_t m_blockSize
Contains the size in bytes of the blocks that sound data is aligned to.
Definition:
aiff.h:90
AIFF_SOUNDDATACHUNK::m_ckID
AIFF_ID m_ckID
Chunk ID, always "SSND".
Definition:
aiff.h:87
AIFF_SOUNDDATACHUNK::m_offset
uint32_t m_offset
Determines where the first sample frame in the soundData starts.
Definition:
aiff.h:89
AIFF_SOUNDDATACHUNK::m_ckSize
uint32_t m_ckSize
Total size of sound data chunk - 8.
Definition:
aiff.h:88
AIFF_TEXTCHUNK
Definition:
aiff.h:102
AIFF_TEXTCHUNK::m_ckSize
uint32_t m_ckSize
Size of this chunk - 8.
Definition:
aiff.h:104
AIFF_TEXTCHUNK::m_ckID
AIFF_ID m_ckID
Chunk ID, one of "NAME", "AUTH", "(c) ", "ANNO".
Definition:
aiff.h:103
Generated by
1.9.4