Merge remote-tracking branch 'origin/master' into derf_rtp_edits
[opus.git] / silk / errors.h
1 /***********************************************************************
2 Copyright (c) 2006-2011, Skype Limited. All rights reserved.
3 Redistribution and use in source and binary forms, with or without
4 modification, are permitted provided that the following conditions
5 are met:
6 - Redistributions of source code must retain the above copyright notice,
7 this list of conditions and the following disclaimer.
8 - Redistributions in binary form must reproduce the above copyright
9 notice, this list of conditions and the following disclaimer in the
10 documentation and/or other materials provided with the distribution.
11 - Neither the name of Internet Society, IETF or IETF Trust, nor the
12 names of specific contributors, may be used to endorse or promote
13 products derived from this software without specific prior written
14 permission.
15 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
16 AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
17 IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
18 ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
19 LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
20 CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
21 SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
22 INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
23 CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
24 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
25 POSSIBILITY OF SUCH DAMAGE.
26 ***********************************************************************/
27
28 #ifndef SILK_ERRORS_H
29 #define SILK_ERRORS_H
30
31 #ifdef __cplusplus
32 extern "C"
33 {
34 #endif
35
36 /******************/
37 /* Error messages */
38 /******************/
39 #define SILK_NO_ERROR                               0
40
41 /**************************/
42 /* Encoder error messages */
43 /**************************/
44
45 /* Input length is not a multiple of 10 ms, or length is longer than the packet length */
46 #define SILK_ENC_INPUT_INVALID_NO_OF_SAMPLES        -101
47
48 /* Sampling frequency not 8000, 12000 or 16000 Hertz */
49 #define SILK_ENC_FS_NOT_SUPPORTED                   -102
50
51 /* Packet size not 10, 20, 40, or 60 ms */
52 #define SILK_ENC_PACKET_SIZE_NOT_SUPPORTED          -103
53
54 /* Allocated payload buffer too short */
55 #define SILK_ENC_PAYLOAD_BUF_TOO_SHORT              -104
56
57 /* Loss rate not between 0 and 100 percent */
58 #define SILK_ENC_INVALID_LOSS_RATE                  -105
59
60 /* Complexity setting not valid, use 0...10 */
61 #define SILK_ENC_INVALID_COMPLEXITY_SETTING         -106
62
63 /* Inband FEC setting not valid, use 0 or 1 */
64 #define SILK_ENC_INVALID_INBAND_FEC_SETTING         -107
65
66 /* DTX setting not valid, use 0 or 1 */
67 #define SILK_ENC_INVALID_DTX_SETTING                -108
68
69 /* CBR setting not valid, use 0 or 1 */
70 #define SILK_ENC_INVALID_CBR_SETTING                -109
71
72 /* Internal encoder error */
73 #define SILK_ENC_INTERNAL_ERROR                     -110
74
75 /* Internal encoder error */
76 #define SILK_ENC_INVALID_NUMBER_OF_CHANNELS_ERROR   -111
77
78 /**************************/
79 /* Decoder error messages */
80 /**************************/
81
82 /* Output sampling frequency lower than internal decoded sampling frequency */
83 #define SILK_DEC_INVALID_SAMPLING_FREQUENCY         -200
84
85 /* Payload size exceeded the maximum allowed 1024 bytes */
86 #define SILK_DEC_PAYLOAD_TOO_LARGE                  -201
87
88 /* Payload has bit errors */
89 #define SILK_DEC_PAYLOAD_ERROR                      -202
90
91 /* Payload has bit errors */
92 #define SILK_DEC_INVALID_FRAME_SIZE                 -203
93
94 #ifdef __cplusplus
95 }
96 #endif
97
98 #endif