123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227 |
- /*
- * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com)
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
- #ifndef __PJMEDIA_AUDIODEV_AUDIODEV_ERRNO_H__
- #define __PJMEDIA_AUDIODEV_AUDIODEV_ERRNO_H__
- /**
- * @file errno.h Error Codes
- * @brief Audiodev specific error codes.
- */
- #include <pjmedia-audiodev/config.h>
- #include <pj/errno.h>
- /**
- * @defgroup error_codes Error Codes
- * @ingroup audio_device_api
- * @brief Audio devive library specific error codes.
- * @{
- */
- PJ_BEGIN_DECL
- /**
- * Start of error code relative to PJ_ERRNO_START_USER.
- * This value is 420000.
- */
- #define PJMEDIA_AUDIODEV_ERRNO_START \
- (PJ_ERRNO_START_USER + PJ_ERRNO_SPACE_SIZE*5)
- #define PJMEDIA_AUDIODEV_ERRNO_END \
- (PJMEDIA_AUDIODEV_ERRNO_START + PJ_ERRNO_SPACE_SIZE - 1)
- /**
- * Mapping from PortAudio error codes to pjmedia error space.
- */
- #define PJMEDIA_AUDIODEV_PORTAUDIO_ERRNO_START \
- (PJMEDIA_AUDIODEV_ERRNO_END-10000)
- #define PJMEDIA_AUDIODEV_PORTAUDIO_ERRNO_END \
- (PJMEDIA_AUDIODEV_PORTAUDIO_ERRNO_START + 10000 -1)
- /**
- * Convert PortAudio error code to PJLIB error code.
- * PortAudio error code range: 0 >= err >= -10000
- */
- #define PJMEDIA_AUDIODEV_ERRNO_FROM_PORTAUDIO(err) \
- ((int)PJMEDIA_AUDIODEV_PORTAUDIO_ERRNO_START-err)
- /**
- * Mapping from Windows multimedia WaveIn error codes.
- */
- #define PJMEDIA_AUDIODEV_WMME_IN_ERROR_START \
- (PJMEDIA_AUDIODEV_ERRNO_START + 30000)
- #define PJMEDIA_AUDIODEV_WMME_IN_ERROR_END \
- (PJMEDIA_AUDIODEV_WMME_IN_ERROR_START + 1000 - 1)
- /**
- * Convert WaveIn operation error codes to PJLIB error space.
- */
- #define PJMEDIA_AUDIODEV_ERRNO_FROM_WMME_IN(err) \
- ((int)PJMEDIA_AUDIODEV_WMME_IN_ERROR_START+err)
- /**
- * Mapping from Windows multimedia WaveOut error codes.
- */
- #define PJMEDIA_AUDIODEV_WMME_OUT_ERROR_START \
- (PJMEDIA_AUDIODEV_WMME_IN_ERROR_END + 1000)
- #define PJMEDIA_AUDIODEV_WMME_OUT_ERROR_END \
- (PJMEDIA_AUDIODEV_WMME_OUT_ERROR_START + 1000)
- /**
- * Convert WaveOut operation error codes to PJLIB error space.
- */
- #define PJMEDIA_AUDIODEV_ERRNO_FROM_WMME_OUT(err) \
- ((int)PJMEDIA_AUDIODEV_WMME_OUT_ERROR_START+err)
- /**
- * Mapping from CoreAudio error codes to pjmedia error space.
- */
- #define PJMEDIA_AUDIODEV_COREAUDIO_ERRNO_START \
- (PJMEDIA_AUDIODEV_ERRNO_START+20000)
- #define PJMEDIA_AUDIODEV_COREAUDIO_ERRNO_END \
- (PJMEDIA_AUDIODEV_COREAUDIO_ERRNO_START + 20000 -1)
- /**
- * Convert CoreAudio error code to PJLIB error code.
- * CoreAudio error code range: 0 >= err >= -10000
- */
- #define PJMEDIA_AUDIODEV_ERRNO_FROM_COREAUDIO(err) \
- ((int)PJMEDIA_AUDIODEV_COREAUDIO_ERRNO_START-err)
- /**
- * Mapping from BDIMAD error codes to pjmedia error space.
- */
- #define PJMEDIA_AUDIODEV_BDIMAD_ERROR_START \
- (PJMEDIA_AUDIODEV_ERRNO_START + 40000)
- #define PJMEDIA_AUDIODEV_BDIMAD_ERROR_END \
- (PJMEDIA_AUDIODEV_BDIMAD_ERROR_START + 2000 - 1)
- /**
- * Convert BDIMAD error codes to PJLIB error space.
- */
- #define PJMEDIA_AUDIODEV_ERRNO_FROM_BDIMAD(err) \
- ((int)PJMEDIA_AUDIODEV_BDIMAD_ERROR_START+err)
- /************************************************************
- * Audio Device API error codes
- ***********************************************************/
- /**
- * @hideinitializer
- * General/unknown error.
- */
- #define PJMEDIA_EAUD_ERR (PJMEDIA_AUDIODEV_ERRNO_START+1) /* 420001 */
- /**
- * @hideinitializer
- * Unknown error from audio driver
- */
- #define PJMEDIA_EAUD_SYSERR (PJMEDIA_AUDIODEV_ERRNO_START+2) /* 420002 */
- /**
- * @hideinitializer
- * Audio subsystem not initialized
- */
- #define PJMEDIA_EAUD_INIT (PJMEDIA_AUDIODEV_ERRNO_START+3) /* 420003 */
- /**
- * @hideinitializer
- * Invalid audio device
- */
- #define PJMEDIA_EAUD_INVDEV (PJMEDIA_AUDIODEV_ERRNO_START+4) /* 420004 */
- /**
- * @hideinitializer
- * Found no devices
- */
- #define PJMEDIA_EAUD_NODEV (PJMEDIA_AUDIODEV_ERRNO_START+5) /* 420005 */
- /**
- * @hideinitializer
- * Unable to find default device
- */
- #define PJMEDIA_EAUD_NODEFDEV (PJMEDIA_AUDIODEV_ERRNO_START+6) /* 420006 */
- /**
- * @hideinitializer
- * Device not ready
- */
- #define PJMEDIA_EAUD_NOTREADY (PJMEDIA_AUDIODEV_ERRNO_START+7) /* 420007 */
- /**
- * @hideinitializer
- * The audio capability is invalid or not supported
- */
- #define PJMEDIA_EAUD_INVCAP (PJMEDIA_AUDIODEV_ERRNO_START+8) /* 420008 */
- /**
- * @hideinitializer
- * The operation is invalid or not supported
- */
- #define PJMEDIA_EAUD_INVOP (PJMEDIA_AUDIODEV_ERRNO_START+9) /* 420009 */
- /**
- * @hideinitializer
- * Bad or invalid audio device format
- */
- #define PJMEDIA_EAUD_BADFORMAT (PJMEDIA_AUDIODEV_ERRNO_START+10) /* 4200010 */
- /**
- * @hideinitializer
- * Invalid audio device sample format
- */
- #define PJMEDIA_EAUD_SAMPFORMAT (PJMEDIA_AUDIODEV_ERRNO_START+11) /* 4200011 */
- /**
- * @hideinitializer
- * Bad latency setting
- */
- #define PJMEDIA_EAUD_BADLATENCY (PJMEDIA_AUDIODEV_ERRNO_START+12) /* 4200012 */
- /**
- * @hideinitializer
- * General WASAPI error
- */
- #define PJMEDIA_EAUD_WASAPI_ERROR \
- (PJMEDIA_AUDIODEV_ERRNO_START+13) /* 4200013 */
- /**
- * Get error message for the specified error code. Note that this
- * function is only able to decode PJMEDIA Audiodev specific error code.
- * Application should use pj_strerror(), which should be able to
- * decode all error codes belonging to all subsystems (e.g. pjlib,
- * pjmedia, pjsip, etc).
- *
- * @param status The error code.
- * @param buffer The buffer where to put the error message.
- * @param bufsize Size of the buffer.
- *
- * @return The error message as NULL terminated string,
- * wrapped with pj_str_t.
- */
- PJ_DECL(pj_str_t) pjmedia_audiodev_strerror(pj_status_t status, char *buffer,
- pj_size_t bufsize);
- PJ_END_DECL
- /**
- * @}
- */
- #endif /* __PJMEDIA_AUDIODEV_AUDIODEV_ERRNO_H__ */
|