Opened 5 years ago

Closed 5 years ago

#2215 closed defect (fixed)

Reset jitter buffer after Opus ptime decreased

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

Description

When inserting a frame to JB, the stream assigns index for the frame using this kind of formula (not exactly): RTP-timestamp/ptime, so when ptime is increasing (i.e: doubled from 20ms to 40ms), frame indexes suddenly get much smaller (about half), and JB will see it as "sequence restart" (note that if the index difference is less than 100, JB will see it just as late frame). So basically the stream formula does not work well with ptime change, and modifying that behavior seems to be quite a major change. So resetting jitter buffer should be practical workaround. Note that actually the stream also resets the JB when seeing G722/MPEG timestamp span change.

Thanks Marcus Froeschl for the report.

Change History (1)

comment:1 Changed 5 years ago by nanang

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

In 6043:

Fix #2215:

  • Reset jitter buffer after Opus ptime decreased.
  • Updated jitter buffer framelist sequence restart detection, also added some tracing logs.
Note: See TracTickets for help on using tickets.