summaryrefslogtreecommitdiff
path: root/pjsip/src/pjsua-lib/pjsua_media.c
AgeCommit message (Collapse)Author
2012-05-22Re #1514: fixed the incoming call scenario, and changed disconnection code ↵Benny Prijono
from Precondition Failure to Temporarily Unavailable git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@4136 74dad513-b988-da41-8d7b-12977e46ad98
2012-05-22Fixed first problem in #1514: assertion when media transport initialization failBenny Prijono
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@4134 74dad513-b988-da41-8d7b-12977e46ad98
2012-05-21Fix #1511: destroy the media transport of the removed media.Nanang Izzuddin
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@4132 74dad513-b988-da41-8d7b-12977e46ad98
2012-05-17Close #1506: Added PJSUA callback for SDP creation.Nanang Izzuddin
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@4128 74dad513-b988-da41-8d7b-12977e46ad98
2012-04-26Fix #1496: destroying call media transports in pjsua_media_subsys_destroy() ↵Nanang Izzuddin
should be done using pjsua_media_channel_deinit(). git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@4101 74dad513-b988-da41-8d7b-12977e46ad98
2012-04-26Re #1446 (misc): Disable SDL by default on iOS and fixed various compiler ↵Liong Sauw Ming
warnings. git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@4087 74dad513-b988-da41-8d7b-12977e46ad98
2012-04-24Fix #1423:Nanang Izzuddin
- Added provisional media in call for generating initial and subsequent SDP offer/answer. If a reoffer is rejected by peer, the main call media will remain unchanged and the provisional media will be cleaned up (the cleanup is currently delayed until call gets destroyed or another reoffer/answer occurs). - Reenabled media transport dump in pjsua_core.c. git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@4071 74dad513-b988-da41-8d7b-12977e46ad98
2012-04-03Misc (re #1446): fixed log message in pjsua_media_channel_update() for ↵Nanang Izzuddin
pjsua_vid_channel_update() failure. git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@4011 74dad513-b988-da41-8d7b-12977e46ad98
2012-03-30Re #1474: Merged all changes from 1.12 - HEAD (from the 1.x branch)Benny Prijono
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3999 74dad513-b988-da41-8d7b-12977e46ad98
2012-03-22Re: #1463 (Third party media support). Tnitial work and it works, tested on ↵Benny Prijono
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
2012-03-22Re #1467: fix sound device (opened/closed) status check in ↵Nanang Izzuddin
check_snd_dev_idle(), especially when sound device is managed by app (no_snd = PJ_TRUE). Note that pjsua_media_subsys_destroy() always close the sound device first, so check_snd_dev_idle() in pjsua_destroy() sequence should have been just a no-operation. git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3981 74dad513-b988-da41-8d7b-12977e46ad98
2012-01-27Re #1244: Added bandwidth info in SDP ("b=" lines) based on codec bitrate ↵Nanang Izzuddin
settings. Two SDP bandwidth types/modifiers are used: AS in session level & TIAS in media level. git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3945 74dad513-b988-da41-8d7b-12977e46ad98
2012-01-09Fixes #1442: Unable to make call if disabled media is includedLiong Sauw Ming
Add an API pjsua_schedule_timer2() to allow application to schedule a callback function to be executed after a specified time interval. This enables app to post a delayed job which, in this case, allows the initialization of all media transport creations to finish first before we get the media transport creations result. git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3938 74dad513-b988-da41-8d7b-12977e46ad98
2011-12-28Fix #1433: synchronuous ICE initialization calls PJSUA_UNLOCK() only when ↵Nanang Izzuddin
the PJSUA lock is actually held by this thread. git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3929 74dad513-b988-da41-8d7b-12977e46ad98
2011-12-27More re #1419: changed field names from video_count to vid_cnt and audio_cnt ↵Benny Prijono
to aud_cnt for better consistency git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3925 74dad513-b988-da41-8d7b-12977e46ad98
2011-12-26Re #1393 (misc): renamed label on_error to on_return and fixed warning re ↵Benny Prijono
constness git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3921 74dad513-b988-da41-8d7b-12977e46ad98
2011-12-20Fix #1425:Nanang Izzuddin
- Updating port info of the switchboard master port (after reopening audio device) with the audio device param should care about PJMEDIA_AUD_DEV_CAP_EXT_FORMAT flag, i.e: only copy from audio device extended format info when the flag is set. - Fixed switchboard to update the master port info shortcut in connecting ports, as master port info may get updated to match to the connecting ports. git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3915 74dad513-b988-da41-8d7b-12977e46ad98
2011-12-15Misc (re #1393): fix compile error in pjsua_media.c (undefined member ↵Nanang Izzuddin
'bitrate' in struct 'pjmedia_format') when using passthrough codec. git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3909 74dad513-b988-da41-8d7b-12977e46ad98
2011-12-07Re #1234: Initial version of keyframe request/response via SIP INFO.Nanang Izzuddin
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3901 74dad513-b988-da41-8d7b-12977e46ad98
2011-12-01Closed #1420: Add support for event managerLiong Sauw Ming
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3893 74dad513-b988-da41-8d7b-12977e46ad98
2011-12-01Misc (re #1393): fix linking error "app_config_init_video() not found" when ↵Nanang Izzuddin
video is disabled, also some compile warnings (unused variables). git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3892 74dad513-b988-da41-8d7b-12977e46ad98
2011-12-01Re #1419, implement media count manipulation per call basis:Nanang Izzuddin
- moved the media count setting from account setting to call setting - introduced pjsua_call_setting, to be used by pjsua_call_make_call() and some new APIs: pjsua_call_answer2(), pjsua_call_reinvite2(), pjsua_call_update2() git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3891 74dad513-b988-da41-8d7b-12977e46ad98
2011-10-26Close #1403: Fixed pjsua-lib in generating re-offer when the current session ↵Nanang Izzuddin
contains (disabled) unknown media types. git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3865 74dad513-b988-da41-8d7b-12977e46ad98
2011-10-26Fixed #1402: crash when adding new mediaBenny Prijono
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3860 74dad513-b988-da41-8d7b-12977e46ad98
2011-10-25Fixed call_med->rtp_addr is not initialized causing UPDATE to be sent after ↵Benny Prijono
every ICE negotiation (misc re #1392) git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3858 74dad513-b988-da41-8d7b-12977e46ad98
2011-10-25Fixed #1398: TURN initialization failure scenario Liong Sauw Ming
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3849 74dad513-b988-da41-8d7b-12977e46ad98
2011-10-24Re #1395: Backport of PJSIP 1.x branch into PJSIP 2.0 trunkLiong Sauw Ming
* Backport of r3557:r3832 TODO: ticket #1268 (Option for automatic/manual sending of RTCP SDES/BYE for the stream) for video stream. git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3841 74dad513-b988-da41-8d7b-12977e46ad98
2011-10-06Re #1266:Liong Sauw Ming
* Make sure that all media transports are already created and completed to fix the assertion when making call using ICE. * Change the callback pjsua_med_tp_state_cb to return pj_status_t (instead of void) git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3796 74dad513-b988-da41-8d7b-12977e46ad98
2011-10-03Re #1266: Modified pjsua_media_channel_deinit() to resume deinit in the ↵Liong Sauw Ming
callback (instead of returning PJ_EBUSY) and make sure the right transport is used before calling dlg_respond() git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3780 74dad513-b988-da41-8d7b-12977e46ad98
2011-10-03Fix #1358:Nanang Izzuddin
- Fixed wrong place of video capture & render event subscription initialization, causing it getting reinitted while being subscribed. - Moved capture/render event unsubscription to be after capture/render port stopped. Also restart the capturer (after being stopped for unsubsciption & stream detachment) only when the capturer is being used by other, e.g: stream or preview. - Fixed error handling in pjsua_call_reinvite(), call pjsip_dlg_dec_lock() only if dlg is successfully acquired. - Minor: added [un]subscribtion log to event. git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3778 74dad513-b988-da41-8d7b-12977e46ad98
2011-10-03Closed #1266:Liong Sauw Ming
Handle incoming calls when media transport is created asynchronously. git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3777 74dad513-b988-da41-8d7b-12977e46ad98
2011-09-28Re #1266: Fixed failed automated tests for ICELiong Sauw Ming
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3775 74dad513-b988-da41-8d7b-12977e46ad98
2011-09-22Re #1266: Fixed crash when accepting incoming call.Liong Sauw Ming
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3767 74dad513-b988-da41-8d7b-12977e46ad98
2011-09-21Re #1266: Asynchronous media transport creationLiong Sauw Ming
* Add feature that allows ICE media transport to be created asynchronously. * Add new callback, e.g. on_call_media_transport_state(call_id, state_struct) to report media transport status. * Handle outgoing calls while creating media transport asynchronously. git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3763 74dad513-b988-da41-8d7b-12977e46ad98
2011-09-18Modified the libraries to use the new log indentation feature re #1372Benny Prijono
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3753 74dad513-b988-da41-8d7b-12977e46ad98
2011-08-18Re #1347: Fixed case 1, 2, and 3 above:Nanang Izzuddin
- Generating a deactivated pre-answer media by cloning remote media. There was a case that the media transport in the offer is bad/unrecognized, PJSUA still generated the preanswer with RTP/AVP. - When generating answer, it should apply max media count (max_audio/video_cnt in account setting) after SDP negotiation instead of in the pjsua_media_channel_init()). This will require PJSUA to perform SDP re-negotiation when the SDP answer get changed. - Fixed media priority/acceptibility sorting, e.g: media with RTP/SAVP transport still got acceptable score in SRTP disabled mode, this messed up the algorithm of applying max media count setting. - Fixed SDP negotiator to skip format match in generating answer when the pre-answer provided is deactivated (port 0). git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3714 74dad513-b988-da41-8d7b-12977e46ad98
2011-07-23Misc (re #1320): fixed compilation error if SRTP is disabled. Thanks Bo Shi ↵Benny Prijono
for the report git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3678 74dad513-b988-da41-8d7b-12977e46ad98
2011-07-19Fixed #1271: protected all video features with PJMEDIA_HAS_VIDEO macro setting.Nanang Izzuddin
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3667 74dad513-b988-da41-8d7b-12977e46ad98
2011-07-19Re #1326: Initial code integration from branch 2.0-dev to trunk as ↵Nanang Izzuddin
"2.0-pre-alpha-svn". git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3664 74dad513-b988-da41-8d7b-12977e46ad98
2011-05-05Re #1250: Updated the year in all copyright texts with 2011!Nanang Izzuddin
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3553 74dad513-b988-da41-8d7b-12977e46ad98
2011-03-11Fixed #1204: Support for refreshing audio device list.Liong Sauw Ming
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3438 74dad513-b988-da41-8d7b-12977e46ad98
2010-12-02Fixed #1170 (Assertion when receiving updated SDP offer with all media lines ↵Benny Prijono
removed): - pjsua_media.c checks if audio media is present in the offer; if not, do not set any answer - sip_inv.c checks if app has supplied an answer after on_rx_offer() callback is called, and returnd 488 (Not Acceptable) if not (previously, it will return 200/OK without SDP!) - added a SIPp scenario file to reproduce this git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3383 74dad513-b988-da41-8d7b-12977e46ad98
2010-12-01Fix #1165:Nanang Izzuddin
- Fixed pjsua_media_channel_create_sdp() to re-calculate audio index of the remote offer, instead of using existing audio index calculated by pjsua_media_channel_init(), as for subsequent SDP offer/answer, pjsua_media_channel_init() may not be called. - Fixed SRTP transport to be able to switch SRTP status from active to inactive/by-passed and vice versa. git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3376 74dad513-b988-da41-8d7b-12977e46ad98
2010-10-05Fix #1143:Nanang Izzuddin
- Fixed no audio bug when pjsua with SRTP optional-with-duplicated-offer calls pjsua with SRTP disabled, by updating active media index after SDP negotiation done. - Fixed bug in generating SDP, pjsua_media_channel_create_sdp(), by making sure all media in the SDP candidate are aligned with current active SDP before calling pjmedia_transport_encode_sdp(). - Fixed bug in modifying SDP for call hold, the media index to be modified was hardcoded to 0, should be active media index. - Added python tests for calls with SRTP optional-with-duplicated-offer. git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3334 74dad513-b988-da41-8d7b-12977e46ad98
2010-09-20Closed #1129:Nanang Izzuddin
- Added run-time configuration for activating/deactivating stream keep-alive (non-codec-VAD mechanism), also added this config to account settings. - Fixed bug wrong session info pointer "si" in pjsua_media_channel_update() when call audio index is not zero. git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3313 74dad513-b988-da41-8d7b-12977e46ad98
2010-06-23Fixed #1079 (Media transport should be kept alive during double-hold ↵Benny Prijono
scenario). Details: - now the stream will be destroyed but the media transport will be kept alive during doublehold scenario - small fix in SRTP to also negotiate crypto even when the media is marked as inactive, otherwise it's possible that an "optional" endpoint would create RTP/AVP offer and send it to "mandatory" endpoint, which would be rejected and cause the media port to be set to zero git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3219 74dad513-b988-da41-8d7b-12977e46ad98
2010-06-21Fixes #1047 (Don't send UPDATE if remote doesn't support it (thanks Bogdan ↵Benny Prijono
Krakowski for the report)) and fixes #1097 (Support sending UPDATE without SDP). Details: - Session timer fixes: - will look at remote capability in Allow header - if UPDATE is supported, will send UPDATE without SDP first. If this fails, will send UPDATE with SDP - otherwise will send re-INVITE - PJSUA-LIB will look at dialog's remote capability to determine whether re-INVITE or UPDATE should be sent to change default addresses after ICE negotiation. - pjsip_inv_update() now allows NULL offer, in which case the UPDATE will be sent without SDP. git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3215 74dad513-b988-da41-8d7b-12977e46ad98
2010-06-19Fixed #1077: In ICE stream transport (ice_strans.c), automaticaly retry ↵Benny Prijono
allocation once if TURN allocation fails. If this allocation retry also fails, notify the TURN user via on_ice_complete() callback. Details: - added new PJ_ICE_STRANS_OP_KEEP_ALIVE operation - also added new on_ice_transport_error() pjsua callback to allow application to react to the failure. git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3212 74dad513-b988-da41-8d7b-12977e46ad98
2010-06-04Re #668:Nanang Izzuddin
- Fixed process_answer() of SDP negotiation, when no common format in a media, instead of returning error, it should just deactivate the media (offer & answer) and continue negotiating next media. - Generalized the way of deactivating media: set port to 0 and remove all attributes. - Added new API pjmedia_sdp_media_clone_deactivate() to clone media and deactivate the newly cloned media. - Updated PJMEDIA SDP negotiation test. git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3198 74dad513-b988-da41-8d7b-12977e46ad98
2010-05-13Re #1069:Nanang Izzuddin
- Added new approach of SRTP optional mode in pjsua-lib by duplicating SDP media line for secured and unsecured version of media transport. - Integrated this feature into pjsua app, it is activated via --use-srtp=3 param. git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3172 74dad513-b988-da41-8d7b-12977e46ad98