WARNING: The online documentation has moved to https://docs.pjsip.org.

Visit the new documentation at https://docs.pjsip.org:

BLOG | DOCUMENTATION | GITHUB

Home --> Documentations --> PJMEDIA Reference

pjmedia/audiodev.h File Reference

Audio device API. More...

Data Structures

struct  pjmedia_aud_driver
 
struct  pjmedia_aud_subsys
 
struct  pjmedia_aud_dev_info
 
struct  pjmedia_aud_param
 

Macros

#define PJMEDIA_AUD_DEFAULT_CAPTURE_DEV   -1
 
#define PJMEDIA_AUD_DEFAULT_PLAYBACK_DEV   -2
 
#define PJMEDIA_AUD_INVALID_DEV   -3
 
#define PJMEDIA_AUD_MAX_DRIVERS   16
 
#define PJMEDIA_AUD_MAX_DEVS   64
 

Typedefs

typedef pj_int32_t pjmedia_aud_dev_index
 
typedef pjmedia_aud_dev_factory *(* pjmedia_aud_dev_factory_create_func_ptr) (pj_pool_factory *)
 
typedef pj_status_t(* pjmedia_aud_play_cb) (void *user_data, pjmedia_frame *frame)
 
typedef pj_status_t(* pjmedia_aud_rec_cb) (void *user_data, pjmedia_frame *frame)
 

Enumerations

enum  pjmedia_aud_dev_cap {
  PJMEDIA_AUD_DEV_CAP_EXT_FORMAT = 1 ,
  PJMEDIA_AUD_DEV_CAP_INPUT_LATENCY = 2 ,
  PJMEDIA_AUD_DEV_CAP_OUTPUT_LATENCY = 4 ,
  PJMEDIA_AUD_DEV_CAP_INPUT_VOLUME_SETTING = 8 ,
  PJMEDIA_AUD_DEV_CAP_OUTPUT_VOLUME_SETTING = 16 ,
  PJMEDIA_AUD_DEV_CAP_INPUT_SIGNAL_METER = 32 ,
  PJMEDIA_AUD_DEV_CAP_OUTPUT_SIGNAL_METER = 64 ,
  PJMEDIA_AUD_DEV_CAP_INPUT_ROUTE = 128 ,
  PJMEDIA_AUD_DEV_CAP_INPUT_SOURCE = 128 ,
  PJMEDIA_AUD_DEV_CAP_OUTPUT_ROUTE = 256 ,
  PJMEDIA_AUD_DEV_CAP_EC = 512 ,
  PJMEDIA_AUD_DEV_CAP_EC_TAIL = 1024 ,
  PJMEDIA_AUD_DEV_CAP_VAD = 2048 ,
  PJMEDIA_AUD_DEV_CAP_CNG = 4096 ,
  PJMEDIA_AUD_DEV_CAP_PLC = 8192 ,
  PJMEDIA_AUD_DEV_CAP_MAX = 16384
}
 
enum  pjmedia_aud_dev_route {
  PJMEDIA_AUD_DEV_ROUTE_DEFAULT = 0 ,
  PJMEDIA_AUD_DEV_ROUTE_LOUDSPEAKER = 1 ,
  PJMEDIA_AUD_DEV_ROUTE_EARPIECE = 2 ,
  PJMEDIA_AUD_DEV_ROUTE_BLUETOOTH = 4 ,
  PJMEDIA_AUD_DEV_ROUTE_CUSTOM = 128
}
 

Functions

pjmedia_aud_subsyspjmedia_get_aud_subsys (void)
 
pj_status_t pjmedia_aud_driver_init (unsigned drv_idx, pj_bool_t refresh)
 
void pjmedia_aud_driver_deinit (unsigned drv_idx)
 
const char * pjmedia_aud_dev_cap_name (pjmedia_aud_dev_cap cap, const char **p_desc)
 
pj_status_t pjmedia_aud_param_set_cap (pjmedia_aud_param *param, pjmedia_aud_dev_cap cap, const void *pval)
 
pj_status_t pjmedia_aud_param_get_cap (const pjmedia_aud_param *param, pjmedia_aud_dev_cap cap, void *pval)
 
pj_status_t pjmedia_aud_dev_refresh (void)
 
unsigned pjmedia_aud_dev_count (void)
 
pj_status_t pjmedia_aud_dev_get_info (pjmedia_aud_dev_index id, pjmedia_aud_dev_info *info)
 
pj_status_t pjmedia_aud_dev_lookup (const char *drv_name, const char *dev_name, pjmedia_aud_dev_index *id)
 
pj_status_t pjmedia_aud_dev_default_param (pjmedia_aud_dev_index id, pjmedia_aud_param *param)
 
pj_status_t pjmedia_aud_stream_create (const pjmedia_aud_param *param, pjmedia_aud_rec_cb rec_cb, pjmedia_aud_play_cb play_cb, void *user_data, pjmedia_aud_stream **p_strm)
 
pj_status_t pjmedia_aud_stream_get_param (pjmedia_aud_stream *strm, pjmedia_aud_param *param)
 
pj_status_t pjmedia_aud_stream_get_cap (pjmedia_aud_stream *strm, pjmedia_aud_dev_cap cap, void *value)
 
pj_status_t pjmedia_aud_stream_set_cap (pjmedia_aud_stream *strm, pjmedia_aud_dev_cap cap, const void *value)
 
pj_status_t pjmedia_aud_stream_start (pjmedia_aud_stream *strm)
 
pj_status_t pjmedia_aud_stream_stop (pjmedia_aud_stream *strm)
 
pj_status_t pjmedia_aud_stream_destroy (pjmedia_aud_stream *strm)
 

 


PJMEDIA small footprint Open Source media stack
Copyright (C) 2006-2008 Teluu Inc.