Opened 13 years ago

Closed 13 years ago

Last modified 13 years ago

#1201 closed enhancement (fixed)

Video support in PJSUA-LIB

Reported by: bennylp Owned by: bennylp
Priority: normal Milestone: release-2.0-dev
Component: pjsua-lib Version: 2.0-dev-branch
Keywords: Cc:
Backport to 1.x milestone: Backported:


Change History (10)

comment:1 Changed 13 years ago by bennylp

  • Resolution set to fixed
  • Status changed from new to closed

(In [3457]) Modifications in PJSUA-LIB to support multiple media streams (multiple audio and/or video) and dynamic creation of media transports. This closed #1185 and closed #1201.

1185: Dynamic creation of media transports

  • media transports are created on demand now


  • media transport creation is still blocking

1201: Video support in PJSUA-LIB

  • 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



  • 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


  • Added --extra-audio and --video options. Specify these more than once and

each time an extra audio/video streams will be added. :)

comment:2 Changed 13 years ago by nanang

(In [3463]) Re #1201:

  • Initial version of video stream integration into pjsua-lib.
  • Replaced audio info array in pjsua_call_info with media info array.
  • Added video media info into call dump.
  • Fixed assertion caused by pjsua_set_state(NULL) logging after pjlib shutdown.

comment:3 Changed 13 years ago by bennylp

(In [3465]) Re #1201: replace union media stream in pjsua_call_media with struct, to avoid the conf_slot corrupting the video capturer value

comment:4 Changed 13 years ago by nanang

(In [3471]) Re #1201: Added pjsua API for video devices and codecs management.

comment:5 Changed 13 years ago by nanang

(In [3476]) Re #1201: Fixed bad definition of pjsua_vid_set/get_setting() (caused compilation error on GCC).

comment:6 Changed 13 years ago by nanang

(In [3508]) Re #1201: Fixed crash when remote initiate call hold with SDP media connection address "".

comment:7 Changed 13 years ago by nanang

(In [3512]) Re #1201:

  • fix bug responding 488 after receiving re-INVITE for doublehold
  • updated pjsua_media.c to skip instantiating video devs when call hold by local.

comment:8 Changed 13 years ago by bennylp

(In [3518]) Re #1201: fixed sending 488 when receiving double hold

comment:9 Changed 13 years ago by nanang

(In [3521]) Re #1201: Added SDP c= line in session level copied from the c=line of the first media, for compatibility purpose.

comment:10 Changed 13 years ago by bennylp

(In [3531]) Re #1201: re-enable printing of ICE and SRTP specific info in call statistic output

Note: See TracTickets for help on using tickets.