Thread: [Opalvoip-devel] Something spooky around jitter buffer
Brought to you by:
csoutheren,
rjongbloed
From: Alexander S. <ale...@gm...> - 2012-09-05 13:31:47
|
Playing with current trunk. Looking closely inside jitter buffer messages i found out that each time RTCP packet received packet with timestamp 0 broke timestamp sequence and buffer reset occuring. It's even more stranger as inside RTCP packet timestamp is equal to timestamp value from last RTP data frame. Log of prove: 0:35.280 RTP Jitter...1fecbd9700 Jitter OnReadPacket: Frame from network, timestamp 279520 0:35.280 RTP Jitter...1fecbd9700 Jitter Received packet : ts=279520 0:35.282 RTP Jitter...1fecbd9700 RTP Session 1, OnReceiveControl - 72 bytes: 81 c8 00 0c 30 26 89 01 83 ac 43 92 e5 60 40 80 ....0&....C..`@. 00 04 43 e0 00 00 06 d4 00 04 96 70 1b d0 7f 55 ..C........p...U 00 00 00 00 00 00 a0 3f 00 00 00 37 a0 d2 dd 98 .......?...7.... 00 0a f4 fe 81 ca 00 04 30 26 89 01 01 09 4b 72 ........0&....Kr 61 73 6e 6f 64 61 72 00 asnodar. 0:35.282 RTP Jitter...1fecbd9700 RTP Session 1, OnRxSenderReport: ssrc=807831809 ntp=1970/1/2-12:13:6.896201 rtp=279520 p sent=1748 osent=300656 RR: ssrc=466648917 fraction=0 lost=0 last_seq=41023 jitter=55 lsr=749:29:33.848 dlsr=13:04:19.959 0:35.282 RTP Jitter...1fecbd9700 RTP Session 1, SourceDescription item 0x13494cc, current size = 11 0:35.282 RTP Jitter...1fecbd9700 RTP Session 1, OnSourceDescription: 1 entries ssrc=807831809 item[1]: type=CNAME data="Krasnodar" 0:35.282 RTP Jitter...1fecbd9700 Jitter OnReadPacket: Frame from network, timestamp 0 0:35.282 RTP Jitter...1fecbd9700 Jitter Timestamps abruptly changed from 279520 to 0, resynching 0:35.282 RTP Jitter...1fecbd9700 Jitter Buffer reset due to SSRC change. 0:35.282 RTP Jitter...1fecbd9700 Jitter Received packet : ts=0 0:35.284 Media Patc...1fdc12d700 RTP Session 2, OnReceiveControl - 72 bytes: 81 c8 00 0c a2 06 36 01 83 ac 43 92 df be 75 c6 ......6...C...u. 1a ae c7 9a 00 00 15 4b 00 3c b1 40 5e e6 42 89 .......K.<.@^.B. 00 00 00 00 00 00 84 2b 00 00 00 6c a0 d3 2f 9c .......+...l../. 00 0a a3 d7 81 ca 00 04 a2 06 36 01 01 09 4b 72 ..........6...Kr 61 73 6e 6f 64 61 72 00 asnodar. 0:35.284 Media Patc...1fdc12d700 RTP Session 2, OnRxSenderReport: ssrc=2718316033 ntp=1970/1/2-12:13:6.874196 rtp=447661978 psent=5451 osent=3977536 RR: ssrc=1592148617 fraction=0 lost=0 last_seq=33835 jitter=108 lsr=749:29:54.844 dlsr=12:41:38.449 0:35.284 Media Patc...1fdc12d700 RTP Session 2, SourceDescription item 0x132b40c, current size = 11 0:35.284 Media Patc...1fdc12d700 RTP Session 2, OnSourceDescription: 1 entries ssrc=2718316033 item[1]: type=CNAME data="Krasnodar" Inside OpalJitterBufferThread::JitterThreadMain there is a loop with "if (!OnReadPacket(frame) || !WriteData(frame))" inside. OnReadPacket() calls for OpalRTPSession::InternalReadData() which works like: if ((-selectStatus & 2) != 0) receiveStatus = ReadControlPDU(); if ((-selectStatus & 1) != 0) receiveStatus = ReadDataPDU(frame); This way ReadControlPDU() is not fill frame buffer but as i suppose can return e_ProcessPacket status. OpalRTPSession::OnReceiveControl called to process control packet almost always return e_ProcessPacket even if it process packet all by itself. |
From: Alexander S. <ale...@gm...> - 2012-09-06 08:00:36
|
I can't see right now reasons why OpalRTPSession::OnReceiveControl() return e_ProcessPacket in the end. Changing default returned value to e_IgnorePacket fixed continuous late packets errors stockpiling in statistics (i think caused by jitter buffer reset). |
From: Robert J. <ro...@vo...> - 2012-09-06 23:55:09
|
Hmm, OK. Subtle bug, not exactly where you said, needs to be a couple layers up from there. Now fixed. Thanks for doing the hard yards finding this. *Robert Jongbloed* /OPAL/OpenH323/PTLib Architect and Co-founder./ Commercial support at http://www.voxlucida.com.au On 6/09/2012 6:00 PM, Alexander Sbitnev wrote: > I can't see right now reasons why OpalRTPSession::OnReceiveControl() > return e_ProcessPacket in the end. > Changing default returned value to e_IgnorePacket fixed continuous late > packets errors stockpiling in statistics (i think caused by jitter > buffer reset). > > ------------------------------------------------------------------------------ > Live Security Virtual Conference > Exclusive live event will cover all the ways today's security and > threat landscape has changed and how IT managers can respond. Discussions > will include endpoint security, mobile security and the latest in malware > threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ > _______________________________________________ > Opalvoip-devel mailing list > Opa...@li... > https://lists.sourceforge.net/lists/listinfo/opalvoip-devel |