The `str` objects are owned by the SDP parser, so we need to duplicate
those as well as the string content itself.
closes#1303
Change-Id: I329893812b3d0a5ac7961e1895f7e0ef21f016fd
(cherry picked from commit 3f0020274a)
Transcoding should not be decided based on the name of the codec alone,
but primarily on the payload type. First the PT needs to be compared,
then the codec type must be confirmed.
closes#1289
Change-Id: I1a8bffc6d521443aba14d9b4cf1ad4d1e21f1226
(cherry picked from commit f2d7372f5a)
Recent ffmpeg versions have removed AVPacket from the public ABI,
therefore deprecating av_init_packet on statically allocated objects.
The replacement is av_packet_alloc()/av_packet_free().
Change-Id: I5f93fbd19e43413c3328e143cc9147fbdf12d910
Convert ssrc_ctx_put() and ssrc_ctx_hold() to macros to aide in
debugging reference leaks. Having them as inline functions hides the
actual location of the refcount changes.
Obsolete ssrc_ctx_get() as returning values from macros is awkward and
it was only used in two locations.
Also fix a function invocation mishap: obj_get_o() should be used
instead of __obj_get() as the latter is an internal macro.
Change-Id: Icc0d63f04b3816632fd120c1c749cafabbbfa331
This makes the type in line with string(3) functions and eliminates some
compiler warnings.
Also update the related bencode data type.
Change-Id: I7ef4024f4b5a0f737b3dbe03bcd078032395bce6
Whether a bit-field is signed or unsigned is implementation specific, so
we should be explicit about this.
Change-Id: I744df3d24bc08e95fa816ba4135f19cd3a5dcb17
Warned-by: lgtm
While these usages are not supposed to be security sensitive, it's still
best to avoid the usage altogether so that we do not need to think about
it. Add a taint macro so that this does not regress in the future.
Change-Id: Ic75861ed1b7ce9dfca4f897de8be2408204ce3cb
Warned-by: coverity
__rtp_payload_type_add_recv takes ownership of `pt` and potentially
freeds it. Move the call to the end of the code block, after we're done
using it.
Change-Id: I5591cd6b22295ddcd6801e2bbbb381bff403fea8
Make sure G.722 rate multiplies is applied in the right places
Don't trust encoders to return proper timestamps, but instead track them
explicitly based on frame duration
Change-Id: Ia9fa96cf662da97159fa170c3a3f37516889e1bd