- Currently only Works with raw video and audio AVI files
- Added --play-avi and --auto-play-avi options in pjsua
- No A/V synchronization yet
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@4016 74dad513-b988-da41-8d7b-12977e46ad98
- calculate visible windows only (with 2 calls, there was already an out-of-screen window)
- re-arrange windows on format changed event
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3971 74dad513-b988-da41-8d7b-12977e46ad98
- 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: https://svn.pjsip.org/repos/pjproject/trunk@3891 74dad513-b988-da41-8d7b-12977e46ad98
* 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: https://svn.pjsip.org/repos/pjproject/trunk@3841 74dad513-b988-da41-8d7b-12977e46ad98
- Review H264 codec settings such as profile, level, NAL unit size, bitrate, quality, latency.
- Added new format PJMEDIA_FORMAT_GBRP, 24 bits planar RGB, one of the formats outputted by the latest ffmpeg H264 decoder.
- Fixed format change detection bug in ffmpeg wrapper, decoder didn't update its internal state with the new format so format change event was generated in every decoding operation.
- Added compile time configurations for enabling/disabling ffmpeg codec H263+ & H264.
- Updated pjsua app to adjust window size to original video size. With H264, default window size will be too big as it is init'd with default H264 video size, e.g: 720x480 for profile level 30.
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3819 74dad513-b988-da41-8d7b-12977e46ad98
- Added PJSUA_CALL_VID_STRM_NO_OP to occupy value 0 for the enum
- Added pjsua_call_vid_strm_op_param_default() to initialize pjsua_call_vid_strm_op_param
- Renamed pjsua_call_get_transport_info() to pjsua_call_get_med_transport_info()
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3694 74dad513-b988-da41-8d7b-12977e46ad98
- Fixed compile warnings on vs2005
- Fixed compile error when PJMEDIA_HAS_VIDEO set to 0 on vs2005
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3666 74dad513-b988-da41-8d7b-12977e46ad98
- Replaced video stream operation DISABLE into REMOVE.
- Replaced video stream operation ENABLE into CHANGEDIR.
- Added new param: media direction, used in operation ADD and CHANGEDIR.
- Updated video stream operation START_TRANSMIT to ignore capture device param (as changing capture device is handled by CHANGE_CAP_DEV operation).
git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/2.0-dev@3657 74dad513-b988-da41-8d7b-12977e46ad98
- Break down the operation type PJSUA_CALL_VID_STRM_MODIFY into PJSUA_CALL_VID_STRM_ENABLE, PJSUA_CALL_VID_STRM_DISABLE, PJSUA_CALL_VID_STRM_CHANGE_CAP_DEV.
- Implemented video stream re-enabling (PJSUA_CALL_VID_STRM_ENABLE).
git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/2.0-dev@3636 74dad513-b988-da41-8d7b-12977e46ad98
- Renamed API pjsua_call_set_vid_out() with pjsua_call_set_vid_strm().
- Implemented initial version of the function, features covered:
- add, remove video media stream during the call
- change which device to use during the call
- start/stop video stream transmission
git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/2.0-dev@3634 74dad513-b988-da41-8d7b-12977e46ad98
- API designed and reviewed (pjsua.h)
- Implemented these APIs and added to pjsua sample application:
- video device enums API
- video capture preview API
- refactoring in PJSUA-LIB:
- video stuffs go to pjsua_vid.c
- call dump goes to pjsua_dump.c
We're still missing:
- video call API implementation
- media info and statistic API implementation
git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/2.0-dev@3609 74dad513-b988-da41-8d7b-12977e46ad98
- Added custom negotiation callback mechanism in SDP negotiator, mainly for specific formats that require SDP fmtp negotiation.
- Modified video codec ID string to use encoding name+payload type (was encoding name+clock rate), also added encoding description in video codec info, so duplicated codecs (e.g: multiple H264 configurations) can be differentiated.
- Few enhancements for H264 in ffmpeg wrapper (e.g: added proper profile-id & packetization-mode setup).
git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/2.0-dev@3500 74dad513-b988-da41-8d7b-12977e46ad98
1185: Dynamic creation of media transports
============================================
Done:
- media transports are created on demand now
Todo:
- media transport creation is still blocking
1201: Video support in PJSUA-LIB
===================================
Done:
- call now supports N media (N audio and M video)
- number of audio/video streams is configurable per acc
- extra audio stream info in pjsua_call_info to support multiple audio streams
in one call
- video subsys and ffmpeg initialization in PJSUA-LIB
- ability to offer and create video SDP answer
- "dq" for more than 1 audio streams
- introducing pjsua_state and pjsua_get_state()
API change:
- on_stream_created() and on_stream_destroyed() callbacks: changed session to
stream
Todo:
- many others features are disabled, just search for DISABLED_FOR_TICKET_1185
macro (these have also been added to ticket #1193 (Issues & Todos)). Notable
missing features are:
- creation of duplicate SDP m= lines for optional SRTP
- mm.. that's it?
- whole lot of testings
pjsua:
===============
- Added --extra-audio and --video options. Specify these more than once and
each time an extra audio/video streams will be added. :)
git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/2.0-dev@3457 74dad513-b988-da41-8d7b-12977e46ad98
- added new PJSUA API: pjsua_verify_url() which can be used for tel: URI
- modified and tested according to spec
- added new PJSIP error code, PJSIP_ENOROUTESET, to indicate that route set is needed to send to tel: URI
- added couple of unit tests (we can't cover the whole tel: URI scenario yet)
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3323 74dad513-b988-da41-8d7b-12977e46ad98
* pjlib:
* add support for activesock TCP to work in background mode.
* add feature in ioqueue to recreate closed UDP sockets.
* pjsip-apps:
* ipjsua: add support for iPhone OS 4 background mode
* ipjsystest: add support for iPhone OS 4 background mode
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3299 74dad513-b988-da41-8d7b-12977e46ad98
- incoming multipart message will be handled automatically
- for testing, enable HAVE_MULTIPART_TEST in pjsua_app.c
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3243 74dad513-b988-da41-8d7b-12977e46ad98
- added new account config setting: reg_use_proxy. This contains bitmask values to indicate whether outbound proxies and account proxies are to be added in the REGISTER request. Default value is to add both.
- added new pjsua cmdline option to control this: --reg-use-proxy
- miscellaneous minor fixes in other pjsua cmdline arguments
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3216 74dad513-b988-da41-8d7b-12977e46ad98
- 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: https://svn.pjsip.org/repos/pjproject/trunk@3212 74dad513-b988-da41-8d7b-12977e46ad98
- 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: https://svn.pjsip.org/repos/pjproject/trunk@3172 74dad513-b988-da41-8d7b-12977e46ad98
- Added initial version of automatic re-registration after registration failure and automatic call disconnection after re-registration attempt fails.
- Published auto re-registration setting to pjsua app.
- Updated pjsip_regc_send() to retrieve the transport earlier (was only in tsx_callback()).
- Fixed TCP and TLS transport to prevent transport deletion in transport disconnection callback.
- Fixed wrong keep-alive settings used by TLS transport (was using TCP keep-alive settings).
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3128 74dad513-b988-da41-8d7b-12977e46ad98
- PJSUA-LIB transport callback, if installed, will call the previously registered callback, to allow multiple transport callbacks to be installed
- there seem to be a bug with the use of "pjsip_tp_state_callback" everywhere (the "pjsip_tp_state_callback" type is pointer, but most variables of this type are declared to pointer too)
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3119 74dad513-b988-da41-8d7b-12977e46ad98
- Updated transport state notification callback to return void.
- Updated transport state enum to only contain connected and disconnected, no more bitmask value.
- Added direction field to SIP transport.
- Removed remote hostname hash from transport key.
- Updated cert info dump to return -1 when buffer is insufficient.
- Added new error code PJSIP_TLS_ECERTVERIF.
- Updated get_cert_name() in ssl_sock_symbian.c to use heap buffer instead of stack.
- Minors, e.g: added prefix PJ in cipher types, docs.
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3110 74dad513-b988-da41-8d7b-12977e46ad98
- Initial version of server domain name verification:
- Updated SSL certificate info, especially identities info
- Updated verification mechanism as in the specifications in ticket desc.
- Added server domain name info in pjsip_tx_data.
- Added alternative API for acquiring transport and creating transport of transport factory to include pjsip_tx_data param.
- Server identity match criteria:
- full host name match
- wild card not accepted
- if identity is URI, it must be SIP/SIPS URI
- Initial version of transport state notifications:
- Added new API to set transport state callback in PJSIP and PJSUA.
- Defined states: connected/disconnected, accepted/rejected, verification errors.
- Minors:
- Updated SSL socket test: dump verification result, test of requiring client cert, and few minors.
- Updated test cert to include subjectAltName extensions.
- Added SSL certificate dump function.
- Updated max number of socket async operations in Symbian sample apps (RSocketServ::Connect()) to 32 (was default 8).
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3106 74dad513-b988-da41-8d7b-12977e46ad98
- Fixed bug in pjsip_tls_transport_start(): specified ca_list_file must be applied even when cert_file is not set.
- Fixed bug in lis_create_transport(): new transport should inherit cert settings (from listener).
- Fixed pjsua app, missing TLS transport setting 'require_client_cert' for '--tls-verify-client' option.
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3039 74dad513-b988-da41-8d7b-12977e46ad98
- undo r3019 which put unsolicited MWI support in pjsua app only
- put the unsolicited MWI support in PJSUA-LIB instead
- unsolicited MWI is by default enabled
- on_mwi_info() callback will be called just as the solicited MWI version
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3021 74dad513-b988-da41-8d7b-12977e46ad98
Presence enhancements:
- finer grained buddy lock object, instead of using global PJSUA-LIB's mutex
- individual resubscription timer for buddies and also add random delay interval so that resubscriptions don't happen simultaneously (may hog processing and bandwidth).
- in general reduced the use of global PJSUA-LIB's mutex for more efficiency
- added last termination code in buddy info
- use the RPID note's text for buddy's offline status rather than the default "offline" status, if available
- resubscribe automatically on several termination causes as explained in the ticket (still untested)
General enhancements:
- added pjsua_schedule_timer() and pjsua_cancel_timer() APIs
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@2956 74dad513-b988-da41-8d7b-12977e46ad98
PJSUA-LIB:
- New fields in pjsua_config to specify more than one STUN servers (the stun_srv_cnt and stun_srv array)
- The existing stun_host and stun_domain fields are deprecated, but backward compatibility is maintained. If stun_srv_cnt is zero, the library will import the entries from stun_host and stun_domain
- The library will now resolve the STUN server entries one by one and test it before using it
- New auxiliary API pjsua_resolve_stun_servers() to perform resolution and test against array of STUN servers
pjsua application:
- The "stun-srv" command line options can now be specified more than once
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@2864 74dad513-b988-da41-8d7b-12977e46ad98