The original sdp_manipulate_check's only purpose left is to check for an
attribute removal. Refactor accordingly.
Change-Id: I3be28e0a2c04461a60766afe7096ad3fb8bbe998
In order to perform a substitution we must do a lookup to the hash table
anyway. We can eliminate an extra lookup for the same key to check
whether a substitution exists by combining the two operations into one.
Change-Id: Ife8f1fbfd77ade1986a303a3a5503f4142f7de01
Operating on an empty queue is essentially a no-op, so there's no point
in doing an extra check first to see if the queue is empty. Remove this
extra check for the CMD_ADD case.
Change-Id: I3c7524cd407fb350a46bdf8d3a91014158c6bf44
Use an indexed array to generically support all possible media types
instead of hard-coding a few possible types. This makes lookup faster
and is also future-proof.
Add helper functions to allocate and lookup the appropriate object.
Change-Id: I28406b2c5a6829330f41601fa52e738d9a8ee315
Make sure we don't try to send on closed sockets or to endpoints which
haven't been initialised.
Fixes unexpected fallout from 83c7336e
Change-Id: If73d61e52edeb72257515adab7428ecef82c2797
Media types must be given explicitly anyway, so we don't need to warn
when we encounter a different one, as it's entirely expected that we
won't operate on it.
Change-Id: Ic6b808422ceb5ae857a4d0a99379a1c858bb6fd8
This HT is needed when updating UDPTL/T.38 handlers, on both sides of
the call. Make sure the HT exists.
Change-Id: Ic85684bbd2a746ff490d06008eadfae664e9f8a9
Add second callback function to be able to handle lists that not just
contain strings, but also arbitrary other elements.
Rename the old call_ng_flags_list to call_ng_flags_str_list to reflect
this.
Unused at this point.
Change-Id: I49b46acf3ba53172b68998a93523d2d7eca1bd0b
We don't have functioning thread cancellation under ASAN. Make sure our
timer threads don't sleep too long so that the tests don't time out.
Change-Id: Iced6396fc500942ae64dfe8d8a5fb81c6a5e9619
When we're duplicating the packet contents, we must also update the RTP
header pointer accordingly.
Fixup for fa819e3a73
Change-Id: I66117b2ad15a9adfaabaa1dbc67179bb1817f5e9
Don't explicitly set the "non forwarding" flag just because an RTCP
stream is being kernelised. The distinction between RTP and RTCP,
together with zero-length outputs setting "non forwarding" automatically
takes care of it.
Change-Id: Ie363fc369b7ace21ed172a0ec141c83afd1ba21b
Transcoding is flow-specific, so it doesn't make sense to have a flag
for it in a call_media section. Instead we use the transcoding flag set
on the call_subscription objects (on subscribers), and set/unset a flag
on the monologue struct, depending on whether any media flows (going to
subscribers) have transcoding enabled.
Change-Id: Id671d56e56a22eaa8e56f6d449770b0c7b086cea
Pass the subscription object to codec_handlers_update to eliminate the
need for a return type and the subsequent if/else.
Change-Id: I311b3e8ca14ee5090cf329163975354385cee800
Do a direct lookup of the call subscription object and set the
transcoding flag directly. Remove obsolete function.
Change-Id: I8b8329e53afb641fad80d38b45120efd46c408db
This is a convenience function that does an unnecessary loop iteration.
We have a hash table to perform the exact lookup needed. Turn the
function into a simple wrapper which uses the hash table.
Change-Id: If91976a955dea80e882656849b0b13d426e5748f
We have the subscription objects available now, so we can directly set
the transcoding flag without having to do a hash table lookup.
Change-Id: I2b85f34ca4d03dfaf81d92ea252902d1ee194efd
Instead of just return the monologues involved in an offer/answer,
return the respective subscription objects that have the monologues
pointing to each other. This makes it possible to set flags within these
objects.
Change-Id: Id88e56e1bf164a75e2172d0df04316cde5d8a955
Make it possible for a looper thread function to break out of the loop
by returning an appropriate status code.
Change-Id: I22e7789270eed4bf3340e7dae941929de58700ea
This is pointless at this stage, but makes it possible to pass
additional information to the thread in the future.
Change-Id: I9999f522e52ffd86753b291fd61e8ff8ea3e5899
Perform endpoint address check before doing ingress SSRC handling. We
don't want to act on an apparent SSRC change if the endpoint address
doesn't match and the packet should have been ignored.
Closes#1655
Change-Id: I251e23b1583b1916c7c4904cf40d3b37b3533117
Make it possible to set output-destination immediately when starting the
reording, not only afterwards.
Closes#1667
Change-Id: Idb7de770ad5a41d6ae6055784213e7983df9bfec