Opened 14 years ago

Closed 13 years ago

#1186 closed enhancement (fixed)

SDP works

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

Description (last modified by nanang)

  • generation of SDP
    • how codec can put codec specific info in SDP?
  • codec specific SDP negotiation, if any
  • applying parameters in SDP to the codec


  1. add video SDP generation in pjmedia_endpt_create_sdp()
  2. add video stream info generation from SDP in pjmedia_stream_info_from_sdp()
  3. add codec specific negotiation, perhaps sdp_neg.c should have external format negotiation mechanism to handle format specific negotiation, e.g: H26x picture resolution negotiation, this negotiation result will be applied to codec param (for stream in opening the codec)
  4. add auto-assignment mechanism for dynamic payload type (in endpoint when creating SDP?), currently, the space for hardcoded dynamic payload type is very tight (or even not enough for video formats)
  5. auto apply (or at least validate) SDP fmtp setting to codec param (or the other way around?), e.g: when SDP fmtp setting in codec is set to "CIF=1" codec param should be set to "size=352x288 & fps=30/1.001"
  6. add video capability to simpleua to test video stuffs on real SIP application

Change History (7)

comment:1 Changed 14 years ago by nanang

  • Description modified (diff)

comment:2 Changed 13 years ago by nanang

(In [3419]) Re #1186:

  • Added API pjmedia_sdp_conn_cmp() to compare SDP connection.
  • Added internal API pjmedia_stream_info_parse_fmtp() to parse SDP format parameter of specified payload as a helper function for generating stream info from SDP.
  • Modified pjmedia_endpt_create_sdp() to be able to generate SDP media line for video.

comment:3 Changed 13 years ago by bennylp

(In [3450]) Re #1186 (SDP works); added few more APIs for SDP generation:

  • pjmedia_endpt_create_base_sdp(): create blank SDP
  • pjmedia_endpt_create_audio_sdp(): create m=audio SDP media
  • pjmedia_endpt_create_video_sdp(): create m=video SDP media

comment:4 Changed 13 years ago by bennylp

(In [3498]) Re #1186: fixed crash when parsing fmtp with more than 8 parameters by enlarging the default limit, fix the crash, and make the limit configurable

comment:5 Changed 13 years ago by nanang

(In [3500]) Re #1186:

  • 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).

comment:6 Changed 13 years ago by bennylp

(In [3503]) Re #1186: rejecting media did not put c= line, causing PJMEDIA_SDP_EMISSINGCONN error

comment:7 Changed 13 years ago by bennylp

  • Milestone changed from release-2.0-alpha to release-2.0-dev
  • Resolution set to fixed
  • Status changed from new to closed
Note: See TracTickets for help on using tickets.