Ticket #2097 (closed enhancement: fixed)

Opened 10 months ago

Last modified 10 months ago

Start read operation in UDP media transport in pjmedia_transport_media_start()

Reported by: nanang Owned by: nanang
Priority: normal Milestone: release-2.8
Component: pjmedia Version: trunk
Keywords: Cc:
Backport to 1.x milestone: Backported: no


Currently when UDP media transport is created and attached, read operation is started immediately. Unfortunately, when remote starts sending RTP packet in the beginning of a call (especially when local is the SDP offerer), local stream may not be ready yet, so some initial inbound RTP packets will be read by the transport but then simply discarded as no stream is attached to the transport yet.

This ticket will change the behavior so read operation is started when pjmedia_transport_media_start() is called. So any incoming packet will be buffered by OS until read operation is started. This should be able to reduce missing video keyframe packets (or generally any initial RTP packets) as pjmedia_transport_media_start(), which starts read operation, is called after stream is instantiated.

Change History

comment:1 Changed 10 months ago by nanang

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

In 5747:

Close #2097: Updated UDP media transport to start socket read operation in pjmedia_transport_media_start().

Note: See TracTickets for help on using tickets.