Speex
1.2~beta4
Main Page
Modules
Classes
Files
File List
File Members
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
Generated on Sat Nov 2 2013 04:15:08 for Speex by
1.8.1.2