Speex
1.2~beta4
include
speex
speex_header.h
Go to the documentation of this file.
1
/* Copyright (C) 2002 Jean-Marc Valin */
6
/*
7
Redistribution and use in source and binary forms, with or without
8
modification, are permitted provided that the following conditions
9
are met:
10
11
- Redistributions of source code must retain the above copyright
12
notice, this list of conditions and the following disclaimer.
13
14
- Redistributions in binary form must reproduce the above copyright
15
notice, this list of conditions and the following disclaimer in the
16
documentation and/or other materials provided with the distribution.
17
18
- Neither the name of the Xiph.org Foundation nor the names of its
19
contributors may be used to endorse or promote products derived from
20
this software without specific prior written permission.
21
22
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
23
``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
24
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
25
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR
26
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
27
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
28
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
29
PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
30
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
31
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
32
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
33
34
*/
35
36
37
#ifndef SPEEX_HEADER_H
38
#define SPEEX_HEADER_H
39
44
#include "
speex/speex_types.h
"
45
46
#ifdef __cplusplus
47
extern
"C"
{
48
#endif
49
50
struct
SpeexMode
;
51
53
#define SPEEX_HEADER_STRING_LENGTH 8
54
56
#define SPEEX_HEADER_VERSION_LENGTH 20
57
59
typedef
struct
SpeexHeader
{
60
char
speex_string
[
SPEEX_HEADER_STRING_LENGTH
];
61
char
speex_version
[
SPEEX_HEADER_VERSION_LENGTH
];
62
spx_int32_t
speex_version_id
;
63
spx_int32_t
header_size
;
64
spx_int32_t
rate
;
65
spx_int32_t
mode
;
66
spx_int32_t
mode_bitstream_version
;
67
spx_int32_t
nb_channels
;
68
spx_int32_t
bitrate
;
69
spx_int32_t
frame_size
;
70
spx_int32_t
vbr
;
71
spx_int32_t
frames_per_packet
;
72
spx_int32_t
extra_headers
;
73
spx_int32_t
reserved1
;
74
spx_int32_t
reserved2
;
75
}
SpeexHeader
;
76
78
void
speex_init_header
(
SpeexHeader
*header,
int
rate
,
int
nb_channels
,
const
struct
SpeexMode
*m);
79
81
char
*
speex_header_to_packet
(
SpeexHeader
*header,
int
*size);
82
84
SpeexHeader
*
speex_packet_to_header
(
char
*packet,
int
size);
85
87
void
speex_header_free
(
void
*ptr);
88
89
#ifdef __cplusplus
90
}
91
#endif
92
94
#endif
speex_header_free
void speex_header_free(void *ptr)
SpeexHeader
Definition:
speex_header.h:59
SpeexHeader::mode
spx_int32_t mode
Definition:
speex_header.h:65
SpeexHeader::header_size
spx_int32_t header_size
Definition:
speex_header.h:63
SpeexHeader::extra_headers
spx_int32_t extra_headers
Definition:
speex_header.h:72
speex_packet_to_header
SpeexHeader * speex_packet_to_header(char *packet, int size)
speex_header_to_packet
char * speex_header_to_packet(SpeexHeader *header, int *size)
SpeexHeader::bitrate
spx_int32_t bitrate
Definition:
speex_header.h:68
speex_types.h
Speex types.
SpeexHeader::speex_version_id
spx_int32_t speex_version_id
Definition:
speex_header.h:62
SpeexHeader::vbr
spx_int32_t vbr
Definition:
speex_header.h:70
SpeexHeader::reserved1
spx_int32_t reserved1
Definition:
speex_header.h:73
SpeexHeader::nb_channels
spx_int32_t nb_channels
Definition:
speex_header.h:67
SpeexMode
Definition:
speex.h:249
SpeexHeader::frame_size
spx_int32_t frame_size
Definition:
speex_header.h:69
SpeexHeader::frames_per_packet
spx_int32_t frames_per_packet
Definition:
speex_header.h:71
SpeexHeader
struct SpeexHeader SpeexHeader
SpeexHeader::speex_version
char speex_version[SPEEX_HEADER_VERSION_LENGTH]
Definition:
speex_header.h:61
SPEEX_HEADER_STRING_LENGTH
#define SPEEX_HEADER_STRING_LENGTH
Definition:
speex_header.h:53
SpeexHeader::rate
spx_int32_t rate
Definition:
speex_header.h:64
SpeexHeader::speex_string
char speex_string[SPEEX_HEADER_STRING_LENGTH]
Definition:
speex_header.h:60
speex_init_header
void speex_init_header(SpeexHeader *header, int rate, int nb_channels, const struct SpeexMode *m)
SPEEX_HEADER_VERSION_LENGTH
#define SPEEX_HEADER_VERSION_LENGTH
Definition:
speex_header.h:56
SpeexHeader::mode_bitstream_version
spx_int32_t mode_bitstream_version
Definition:
speex_header.h:66
SpeexHeader::reserved2
spx_int32_t reserved2
Definition:
speex_header.h:74
Generated by
1.8.12