123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187 |
- #ifndef __AUDIODEV_IMP_H__
- #define __AUDIODEV_IMP_H__
- #include <pjmedia-audiodev/audiodev.h>
- typedef struct pjmedia_aud_dev_factory_op
- {
-
- pj_status_t (*init)(pjmedia_aud_dev_factory *f);
-
- pj_status_t (*destroy)(pjmedia_aud_dev_factory *f);
-
- unsigned (*get_dev_count)(pjmedia_aud_dev_factory *f);
-
- pj_status_t (*get_dev_info)(pjmedia_aud_dev_factory *f,
- unsigned index,
- pjmedia_aud_dev_info *info);
-
- pj_status_t (*default_param)(pjmedia_aud_dev_factory *f,
- unsigned index,
- pjmedia_aud_param *param);
-
- pj_status_t (*create_stream)(pjmedia_aud_dev_factory *f,
- const pjmedia_aud_param *param,
- pjmedia_aud_rec_cb rec_cb,
- pjmedia_aud_play_cb play_cb,
- void *user_data,
- pjmedia_aud_stream **p_aud_strm);
-
- pj_status_t (*refresh)(pjmedia_aud_dev_factory *f);
- } pjmedia_aud_dev_factory_op;
- struct pjmedia_aud_dev_factory
- {
-
- struct {
-
- unsigned drv_idx;
- } sys;
-
- pjmedia_aud_dev_factory_op *op;
- };
- typedef struct pjmedia_aud_stream_op
- {
-
- pj_status_t (*get_param)(pjmedia_aud_stream *strm,
- pjmedia_aud_param *param);
-
- pj_status_t (*get_cap)(pjmedia_aud_stream *strm,
- pjmedia_aud_dev_cap cap,
- void *value);
-
- pj_status_t (*set_cap)(pjmedia_aud_stream *strm,
- pjmedia_aud_dev_cap cap,
- const void *value);
-
- pj_status_t (*start)(pjmedia_aud_stream *strm);
-
- pj_status_t (*stop)(pjmedia_aud_stream *strm);
-
- pj_status_t (*destroy)(pjmedia_aud_stream *strm);
- } pjmedia_aud_stream_op;
- struct pjmedia_aud_stream
- {
-
- struct {
-
- unsigned drv_idx;
- } sys;
-
- pjmedia_aud_stream_op *op;
- };
- #endif
|