Milestone release-2.10
THIS ROADMAP PAGE IS DEPRECATED PLEASE GO TO GitHub Milestones
Release Focus
- WebRTC interop for video:
- RTCP-FB PLI
- VP8 and VP9 video codec
- Audio Enhancements
- Changing codec bitrate based on RTCP feedbacks, especially Opus (and AMR, Speex)
- Voice Processing IO for MacOS
- Timer refactoring
Backward incompatibility
- Due to #2209 (Insufficient variable storage to contain Expires header field/ parameter):
- Any sign comparison of expiration fields MUST be modified, for example: pjsip_contact_hdr.expires < 0 should be changed to pjsip_contact_hdr.expires == PJSIP_EXPIRES_NOT_SPECIFIED.
- Direct setting/comparison with -1 should still work, for example: pjsip_pres_inititate(sub, -1, ...) or pjsip_contact_hdr.expires == -1. This is because PJSIP_EXPIRES_NOT_SPECIFIED == (unsigned) -1. Nevertheless, for future compatibility, it is recommended to change any -1 to PJSIP_EXPIRES_NOT_SPECIFIED.
- Due to #2233 (Change enumeration typemaps in SWIG Java), Java applications needs to be updated:
- Accessing enumeration value is no longer using swigValue() method, e.g: pjsip_inv_state.PJSIP_INV_STATE_CONFIRMED.swigValue() must be changed to pjsip_inv_state.PJSIP_INV_STATE_CONFIRMED.
- All enumeration types are now int, e.g: pjsip_status_code code must be changed to int code.
- Due to #2251 (Deadlock between PJSUA LOCK and conference mutex):
- pjmedia_*_set_eof_cb() and pjmedia_*_set_cb() are deprecated and replaced with pjmedia_*_set_eof_cb2()/set_cb2(). The callbacks will now be asynchronous.
- Due to #2265 (Compatibility issues on Python 3.7 or above):
- PJSUA2 async field in OnCallRxReinviteParam is renamed to isAsync.
Ticket List:
List of Enhancements
common:
- #2208
- Change default arch for Android and iOS to 64-bit
pjlib, pjlib-util:
pjnath:
pjmedia, pjmedia-audiodev:
- #589
- Update Speex AEC to the latest version to get multichannel EC
- #1177
- SDP signaling for RTCP-XR
- #1297
- Dynamic payload type allocation
- #1437
- Video keyframe request/response using RTCP feedback Picture Loss Indication
- #1778
- Support for Voice Processing IO Audio Unit on Mac
- #2088
- Generate and negotiate telephone-event with multiple clock-rates in SDP offer/answer
- #2090
- Support trickle ICE
- #2250
- Enable OpenH264 native log
- #2257
- Filter SRTP crypto for setting DTLS-SRTP profile supported by by OpenSSL
pjmedia-videodev:
pjsip, pjsua-lib:
- #1049
- PJSUA-LIB should report disconnection event immediately after pjsua_call_hangup() is called
- #2211
- Use group lock instead of mutex for SIP dialog which is useful for B2BUA scenarios
- #2222
- Introduce a new compiler setting to allow to use cnonce for SIP authentication without hyphen character
- #2246
- Specify audio/video direction when making/answering call
- #2261
- Prevent unnecessary locking when adding group lock handler
- #2262
- Notify when IP change handling is completed
- #2266
- Allow Via header with IPv6 containing []
pjsua2, swig:
applications, python, unit-tests, third-party:
No results
List of Bugs
common:
pjlib, pjlib-util:
pjnath:
pjmedia, pjmedia-audiodev:
- #2124
- Separate DTLS-SRTP negotiation for RTP and RTCP
- #2212
- Fix potential buffer overflow in Video Toolbox codec
- #2215
- Reset jitter buffer after Opus ptime decreased
- #2223
- ALSA sound device wrapper implementation ignores period size returned by ALSA
- #2224
- De-Initialize ALSA sound device with snd_pcm_drop() instead of snd_pcm_drain() to avoid stuck issue
- #2228
- Bug in PCM shift in G722
- #2231
- Potential premature buffer reuse in UDP media transport
- #2234
- Memory leak with third party resampling
- #2236
- Exception in iOS Video Toolbox H264 due to UI API called on background thread
- #2247
- Distorted video sent by iOS 13 devices
- #2248
- Memory leak if stream fails to be created
- #2251
- Deadlock between PJSUA LOCK and conference mutex
- #2252
- Fix Darwin video issue if supplied image height is different from the resolution
- #2254
- Incoming SDP offer with SRTP-DTLS rejected with PJMEDIA_SDPNEG_ENOMEDIA
pjmedia-videodev:
- #2239
- Avoid crash in rendering after Android OpenGL reinit failure
pjsip, pjsua-lib:
- #1840
- Review API pjsua_transport_close()
- #2146
- Revisit IPv4/IPv6 settings and behavior in pjsua
- #2209
- Insufficient variable storage to contain Expires header field/ parameter.
- #2216
- Delays in sending SIP messages to IPv4 literal
- #2226
- Subscription gets terminated when NOTIFY in call transfer is challenged
- #2227
- Sending ACK not retrying next server
- #2238
- Local hold is not reset if there's failure during reinvite/update
- #2240
- Double destroy of invite session
- #2241
- Update Via header on CANCEL request for proxy scenario if the "sent-by" field is not set
- #2242
- Message buffer not set correctly in pjsip_rx_data_clone()
- #2243
- Transport reuse stops working after a transport error
- #2245
- Reconnect video stream listeners in video conference bridge after format changed
- #2259
- Fix check to cleanup provisional media
- #2264
- Potential deadlock between pjsua lock and sip transport's lock
pjsua2, swig:
applications, python, unit-tests, third-party:
List of Tasks
Note: See
TracRoadmap for help on using
the roadmap.