diff options
author | Benny Prijono <bennylp@teluu.com> | 2012-03-22 09:56:52 +0000 |
---|---|---|
committer | Benny Prijono <bennylp@teluu.com> | 2012-03-22 09:56:52 +0000 |
commit | ed4644930dd8a74bcf4d4a89298a907643bd5d30 (patch) | |
tree | d2244ba52cc6fe2eb3dff9732a39b9b11eea825f /pjsip/include/pjsua-lib | |
parent | 5bef8e17b3b0ffcfa59ad195787c956903b81978 (diff) |
Re: #1463 (Third party media support). Tnitial work and it works, tested on Linux. Details:
* add PJSUA_MEDIA_HAS_PJMEDIA macro
* move pjmedia specific implementation in pjsua_media.c and pjsua_call.c into pjsua_aud.c
* add pjsip-apps/src/third_party_media sample containing:
- alt_pjsua_aud.c
- alt_pjsua_vid.c
* moved pjmedia_vid_stream_info_from_sdp() into pjmedia/vid_stream_info.c
* moved pjmedia_stream_info_from_sdp() into pjmedia/stream_info.c
* misc: fixed mips_test.c if codecs are disabled
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3982 74dad513-b988-da41-8d7b-12977e46ad98
Diffstat (limited to 'pjsip/include/pjsua-lib')
-rw-r--r-- | pjsip/include/pjsua-lib/pjsua.h | 9 | ||||
-rw-r--r-- | pjsip/include/pjsua-lib/pjsua_internal.h | 27 |
2 files changed, 30 insertions, 6 deletions
diff --git a/pjsip/include/pjsua-lib/pjsua.h b/pjsip/include/pjsua-lib/pjsua.h index 698dde3d..b0f6c6bd 100644 --- a/pjsip/include/pjsua-lib/pjsua.h +++ b/pjsip/include/pjsua-lib/pjsua.h @@ -4914,6 +4914,15 @@ PJ_DECL(pj_status_t) pjsua_im_typing(pjsua_acc_id acc_id, */ /** + * Use PJMEDIA for media? Set this to zero when using third party media + * stack. + */ +#ifndef PJSUA_MEDIA_HAS_PJMEDIA +# define PJSUA_MEDIA_HAS_PJMEDIA 1 +#endif /* PJSUA_MEDIA_HAS_PJMEDIA */ + + +/** * Max ports in the conference bridge. This setting is the default value * for pjsua_media_config.max_media_ports. */ diff --git a/pjsip/include/pjsua-lib/pjsua_internal.h b/pjsip/include/pjsua-lib/pjsua_internal.h index 99937d3e..646c8d7c 100644 --- a/pjsip/include/pjsua-lib/pjsua_internal.h +++ b/pjsip/include/pjsua-lib/pjsua_internal.h @@ -601,12 +601,7 @@ pj_status_t pjsua_call_media_init(pjsua_call_media *call_med, int *sip_err_code, pj_bool_t async, pjsua_med_tp_state_cb cb); -pj_status_t video_channel_update(pjsua_call_media *call_med, - pj_pool_t *tmp_pool, - const pjmedia_sdp_session *local_sdp, - const pjmedia_sdp_session *remote_sdp); -void stop_video_stream(pjsua_call_media *call_med); -void set_media_tp_state(pjsua_call_media *call_med, pjsua_med_tp_st tp_st); +void pjsua_set_media_tp_state(pjsua_call_media *call_med, pjsua_med_tp_st tp_st); /* Callback to receive media events */ pj_status_t call_media_on_event(pjmedia_event *event, @@ -753,11 +748,31 @@ void print_call(const char *title, char *buf, pj_size_t size); /* + * Audio + */ +pj_status_t pjsua_aud_subsys_init(void); +pj_status_t pjsua_aud_subsys_start(void); +pj_status_t pjsua_aud_subsys_destroy(void); +void pjsua_aud_stop_stream(pjsua_call_media *call_med); +pj_status_t pjsua_aud_channel_update(pjsua_call_media *call_med, + pj_pool_t *tmp_pool, + pjmedia_stream_info *si, + const pjmedia_sdp_session *local_sdp, + const pjmedia_sdp_session *remote_sdp); + +/* * Video */ pj_status_t pjsua_vid_subsys_init(void); pj_status_t pjsua_vid_subsys_start(void); pj_status_t pjsua_vid_subsys_destroy(void); +void pjsua_vid_stop_stream(pjsua_call_media *call_med); +pj_status_t pjsua_vid_channel_init(pjsua_call_media *call_med); +pj_status_t pjsua_vid_channel_update(pjsua_call_media *call_med, + pj_pool_t *tmp_pool, + pjmedia_vid_stream_info *si, + const pjmedia_sdp_session *local_sdp, + const pjmedia_sdp_session *remote_sdp); #if PJSUA_HAS_VIDEO PJ_DECL(void) pjsua_vid_win_reset(pjsua_vid_win_id wid); |