175e22870e41386cdc597bd29c76744d74d4c22adJean-Michel Trivi/*
275e22870e41386cdc597bd29c76744d74d4c22adJean-Michel Trivi * Copyright (C) 2010 The Android Open Source Project
375e22870e41386cdc597bd29c76744d74d4c22adJean-Michel Trivi *
475e22870e41386cdc597bd29c76744d74d4c22adJean-Michel Trivi * Licensed under the Apache License, Version 2.0 (the "License");
575e22870e41386cdc597bd29c76744d74d4c22adJean-Michel Trivi * you may not use this file except in compliance with the License.
675e22870e41386cdc597bd29c76744d74d4c22adJean-Michel Trivi * You may obtain a copy of the License at
775e22870e41386cdc597bd29c76744d74d4c22adJean-Michel Trivi *
875e22870e41386cdc597bd29c76744d74d4c22adJean-Michel Trivi *      http://www.apache.org/licenses/LICENSE-2.0
975e22870e41386cdc597bd29c76744d74d4c22adJean-Michel Trivi *
1075e22870e41386cdc597bd29c76744d74d4c22adJean-Michel Trivi * Unless required by applicable law or agreed to in writing, software
1175e22870e41386cdc597bd29c76744d74d4c22adJean-Michel Trivi * distributed under the License is distributed on an "AS IS" BASIS,
1275e22870e41386cdc597bd29c76744d74d4c22adJean-Michel Trivi * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1375e22870e41386cdc597bd29c76744d74d4c22adJean-Michel Trivi * See the License for the specific language governing permissions and
1475e22870e41386cdc597bd29c76744d74d4c22adJean-Michel Trivi * limitations under the License.
1575e22870e41386cdc597bd29c76744d74d4c22adJean-Michel Trivi */
1675e22870e41386cdc597bd29c76744d74d4c22adJean-Michel Trivi
1713837cf3f7be0eb8b1a9552bd99a89f98c987720Jean-Michel Trivi//-----------------------------------------------------------------------------
1813837cf3f7be0eb8b1a9552bd99a89f98c987720Jean-Michel Trivi// Android general purpose errors
1913837cf3f7be0eb8b1a9552bd99a89f98c987720Jean-Michel Trivi//----------------------
2013837cf3f7be0eb8b1a9552bd99a89f98c987720Jean-Michel Trivi#define ERROR_SHOULDNT_BE_HERE_S \
2113837cf3f7be0eb8b1a9552bd99a89f98c987720Jean-Michel Trivi        "Reached an invalid code path in %s"
2275e22870e41386cdc597bd29c76744d74d4c22adJean-Michel Trivi
2375e22870e41386cdc597bd29c76744d74d4c22adJean-Michel Trivi//-----------------------------------------------------------------------------
2475e22870e41386cdc597bd29c76744d74d4c22adJean-Michel Trivi// Android AudioPlayer errors
2575e22870e41386cdc597bd29c76744d74d4c22adJean-Michel Trivi//----------------------
2675e22870e41386cdc597bd29c76744d74d4c22adJean-Michel Trivi#define ERROR_PLAYERSTREAMTYPE_SET_UNKNOWN_TYPE \
2775e22870e41386cdc597bd29c76744d74d4c22adJean-Michel Trivi        "Cannot set stream type: unknown or invalid stream type"
2875e22870e41386cdc597bd29c76744d74d4c22adJean-Michel Trivi#define ERROR_PLAYERSTREAMTYPE_REALIZED \
2975e22870e41386cdc597bd29c76744d74d4c22adJean-Michel Trivi        "Cannot set stream type: audio player already realized"
303ddf7a34cc617e52a9b9a5593a0d1c5ef8d22bd9Jean-Michel Trivi#define ERROR_PLAYERREALIZE_UNKNOWN_DATASOURCE_LOCATOR \
313ddf7a34cc617e52a9b9a5593a0d1c5ef8d22bd9Jean-Michel Trivi        "Cannot realize AudioPlayer: with unknown data source locator"
3213837cf3f7be0eb8b1a9552bd99a89f98c987720Jean-Michel Trivi#define ERROR_PLAYERREALIZE_UNEXPECTED_OBJECT_TYPE_D \
3313837cf3f7be0eb8b1a9552bd99a89f98c987720Jean-Michel Trivi        "Cannot realize AudioPlayer: unexpected object type \%d"
3413837cf3f7be0eb8b1a9552bd99a89f98c987720Jean-Michel Trivi#define ERROR_PLAYERDESTROY_UNEXPECTED_OBJECT_TYPE_D \
3513837cf3f7be0eb8b1a9552bd99a89f98c987720Jean-Michel Trivi        "Cannot destroy AudioPlayer: unexpected object type \%d"
3613837cf3f7be0eb8b1a9552bd99a89f98c987720Jean-Michel Trivi#define ERROR_PLAYERSETPLAYSTATE_UNEXPECTED_OBJECT_TYPE_D \
3713837cf3f7be0eb8b1a9552bd99a89f98c987720Jean-Michel Trivi        "Cannot set AudioPlayer playstate: unexpected object type \%d"
3813837cf3f7be0eb8b1a9552bd99a89f98c987720Jean-Michel Trivi#define ERROR_PLAYERSETPLAYSTATE_INVALID_OBJECT_STATE_D \
39a8179ea15c4ff78db589d742b135649f0eda7ef2Glenn Kasten        "Cannot set AudioPlayer playstate to %d: Android object in invalid state"
4024430c9070298f12e68b84c921add38da6ad0490Jean-Michel Trivi#define ERROR_PLAYER_NEW_NULL_TRACK \
4124430c9070298f12e68b84c921add38da6ad0490Jean-Michel Trivi        "Internal error: new AudioTrack shouldn't be NULL"
42f536948a85be5e3f3731b64b01cfacdf90ed1157Jean-Michel Trivi#define ERROR_PLAYER_PREFETCH_d \
43f536948a85be5e3f3731b64b01cfacdf90ed1157Jean-Michel Trivi        "Error (%d) encountered while prefetching"
4475e22870e41386cdc597bd29c76744d74d4c22adJean-Michel Trivi
4575e22870e41386cdc597bd29c76744d74d4c22adJean-Michel Trivi//-----------------------------------------------------------------------------
4675e22870e41386cdc597bd29c76744d74d4c22adJean-Michel Trivi// Android AudioRecorder errors
4775e22870e41386cdc597bd29c76744d74d4c22adJean-Michel Trivi//----------------------
4801e9f5fa4698856f92bcfd88188ee4c8397b22dbGlenn Kasten#define ERROR_RECORDER_SINK_MUST_BE_ANDROIDSIMPLEBUFFERQUEUE \
4901e9f5fa4698856f92bcfd88188ee4c8397b22dbGlenn Kasten        "Cannot create AudioRecorder: data sink must be SL_DATALOCATOR_ANDROIDSIMPLEBUFFERQUEUE"
5075e22870e41386cdc597bd29c76744d74d4c22adJean-Michel Trivi#define ERROR_RECORDER_SINK_FORMAT_MUST_BE_PCM \
5175e22870e41386cdc597bd29c76744d74d4c22adJean-Michel Trivi        "Cannot create AudioRecorder: data sink must be in PCM format"
5275e22870e41386cdc597bd29c76744d74d4c22adJean-Michel Trivi#define ERROR_RECORDER_SOURCE_MUST_BE_IODEVICE \
5375e22870e41386cdc597bd29c76744d74d4c22adJean-Michel Trivi        "Cannot create AudioRecorder: data source must be SL_DATALOCATOR_IODEVICE"
5475e22870e41386cdc597bd29c76744d74d4c22adJean-Michel Trivi#define ERROR_RECORDER_IODEVICE_MUST_BE_AUDIOINPUT \
5575e22870e41386cdc597bd29c76744d74d4c22adJean-Michel Trivi        "Cannot create AudioRecorder: data source device type must be SL_IODEVICE_AUDIOINPUT"
5675e22870e41386cdc597bd29c76744d74d4c22adJean-Michel Trivi#define ERROR_RECORDER_INPUT_ID_MUST_BE_DEFAULT \
5775e22870e41386cdc597bd29c76744d74d4c22adJean-Michel Trivi        "Cannot create AudioRecorder: data source device ID must be SL_DEFAULTDEVICEID_AUDIOINPUT"
5875e22870e41386cdc597bd29c76744d74d4c22adJean-Michel Trivi#define ERROR_RECORDERPRESET_SET_UNKNOWN_PRESET \
5975e22870e41386cdc597bd29c76744d74d4c22adJean-Michel Trivi        "Cannot set recording preset: unknown or invalid preset"
6075e22870e41386cdc597bd29c76744d74d4c22adJean-Michel Trivi#define ERROR_RECORDERPRESET_REALIZED \
6175e22870e41386cdc597bd29c76744d74d4c22adJean-Michel Trivi        "Cannot set recording preset: audio recorder already realized"
6275e22870e41386cdc597bd29c76744d74d4c22adJean-Michel Trivi
6375e22870e41386cdc597bd29c76744d74d4c22adJean-Michel Trivi//-----------------------------------------------------------------------------
6475e22870e41386cdc597bd29c76744d74d4c22adJean-Michel Trivi// Android Configuration errors
6575e22870e41386cdc597bd29c76744d74d4c22adJean-Michel Trivi//----------------------
6675e22870e41386cdc597bd29c76744d74d4c22adJean-Michel Trivi#define ERROR_CONFIG_UNKNOWN_KEY \
6775e22870e41386cdc597bd29c76744d74d4c22adJean-Michel Trivi        "Configuration error: unknown key"
6875e22870e41386cdc597bd29c76744d74d4c22adJean-Michel Trivi#define ERROR_CONFIG_VALUESIZE_TOO_LOW \
6975e22870e41386cdc597bd29c76744d74d4c22adJean-Michel Trivi        "Configuration error: value size too low to store valid value"
7075e22870e41386cdc597bd29c76744d74d4c22adJean-Michel Trivi#define ERROR_CONFIG_NULL_PARAM \
7175e22870e41386cdc597bd29c76744d74d4c22adJean-Michel Trivi        "Configuration error: invalid NULL parameter"
72