[asterisk-dev] [Code Review] Add unit tests for jitterbuf.c

Matt Jordan reviewboard at asterisk.org
Wed Mar 14 09:22:29 CDT 2012


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviewboard.asterisk.org/r/1815/
-----------------------------------------------------------

(Updated March 14, 2012, 9:22 a.m.)


Review request for Asterisk Developers.


Changes
-------

Cleaned up test, refactored out insertion portion of tests into methods.  I thought about doing this as well for the portion that retrieves frames from the jitter buffer and checks their values, however, since those methods use JB_NUMERIC_TEST, which requires the cleanup label to be present, refactoring that out would probably only increase the amount of code and the complexity of the unit tests.


Summary
-------

This patch adds unit tests to cover major functions in jitterbuf.c.  This include jb_put, jb_get, jb_next, as well as general information and statistic gathering.  The scenarios include:

1) Nominal - adding voice/control frames and making sure that all added frames are removed and in the correct time slots
2) Out of Order - some voice/control frames arrive out of order with respect to the previous frame.  The tests check that when reading from the jitter buffer, the frames are reordered
3) Lost - some voice/control frames never arrive.  In the case of voice, the jitter buffer should interpolate the frame; in the case of control, the jitter buffer should report that no frame exists at that time slot
4) Late - the arrival time of some voice/control frames does not occur at the same rate as surrounding frames
5) Resync - test that voice/control frames that break the resync threshold trigger a resync of the jitter buffer
6) Overflow - test that adding voice/control frames that exceed the maximum time length of the buffer are dropped

This change was prompted by https://reviewboard.asterisk.org/r/1814 - not all tests will pass without that patch.  


This addresses bug ASTERISK-18964.
    https://issues.asterisk.org/jira/browse/ASTERISK-18964


Diffs (updated)
-----

  /trunk/tests/test_jitterbuf.c PRE-CREATION 

Diff: https://reviewboard.asterisk.org/r/1815/diff


Testing
-------


Thanks,

Matt

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-dev/attachments/20120314/d34147ab/attachment.htm>


More information about the asterisk-dev mailing list