Switch from thread-local allocated string object to a stack allocated
one. Use auto cleanup to manage storage duration and final logging.
Fixes intermittent random failures of the leak checker.
Change-Id: Ie6afb27e6fd1accbe641fc62175d553a0558de0d
(cherry picked from commit 56f171b64e)
(cherry picked from commit 93f04da0f4)
Add a simple function that acts as an encryption callback to just update
the ext_seq (index) of the egress SSRC context. The kernel module
already does this, but the daemon only did it when SRTP was involved.
This now tracks egress packet indexes in all cases.
Change-Id: I9460744de55ead4b05aceb322fd8482442ff2b41
In the header files follow the rules:
1. Firstly goes ifndef/define construction, then one empty row.
2. Secondly go system headers, so in angle-brackets, then one empty row.
3. If there are important pre-processor definitions, which affect
the following custom file headers, they are added next, then one empty row.
4. Thirdly custom header files, so in double quotes,
then at least one empty row.
5. If there is "xt_RTPENGINE.h", it's mentioned next, but separately,
then one empty row.
6. Then pre-processor definitions, and one empty row before the code.
In some situations it's allowed to step aside from the rules,
when inclusions are dependent on each other, so on specific sequence,
and also possibly on some inline objects definitions.
But, if possible to follow the rules, it should be done.
Change-Id: I6bec69b508653947c04e7785775373d21112eb58
Complete overhaul of the codec handling code:
*) obsolete flags `asymmetric codecs`, `symmetric codecs`, `reorder
codecs`
*) support proper codec offer/answer
*) split codec manipulation (strip/offer/accept/etc) into separate
functions for clarity and better code maintenance
*) fully update codec handlers in both directions after an answer
*) explicit allocation and handling of codecs and payload types in a
codec_store object
*) improve codec matchup logic during answer
*) more explicit handling of supplemental codecs (CN/DTMF)
*) remove now obsolete hacks for handling certain use cases
Change-Id: I996705ba8fe339524c2f70e6bb0fd854f9a1f4fb
Squashed commit of the following:
commit cca40e8e31
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Thu Feb 12 10:17:51 2015 -0500
support per-payload-type stats in kernel module
commit dcc0dc0002
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Wed Feb 11 12:14:44 2015 -0500
count unknown rtp type as error
commit 941bde0df5
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Wed Feb 11 12:01:55 2015 -0500
use the list of rtp formats from the m= line
This avoids dynamically altering the rtpstats hash table and makes
keeping packet stats lock free.
commit 9150fed671
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Fri Feb 6 15:06:04 2015 -0500
fix and simplify rtpmap hash table
commit 1f73741cbf
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Fri Feb 6 13:56:07 2015 -0500
MT#9935 understand, learn, remember and report RTP payload types (codecs)
commit b0d690837c
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Thu Nov 20 13:36:25 2014 -0500
parse a=rtpmap attribute