Richard Fuchs
09cb85f32a
MT#55283 streamline call_stream_address
...
Remove unneeded intermediate buffer
Change-Id: I17f6c0f4b9ac27ab1b3b8e33fc49d0662e687970
7 months ago
Richard Fuchs
6b19d98ddd
MT#55283 remove parsed_media_address
...
Just parse the address when encountered, not later.
Change-Id: I5e9e928194ff903cddac1d2c15e55bc89603b5e9
7 months ago
Richard Fuchs
2ab7d4f5d5
MT#55283 delay SDP parsing until we have a call
...
For trickle ICE updates that need to be queued up, this requires storing
the unparsed SDP in the fragment object, and then doing the parsing when
actually processing the fragment.
This allows the call's memory arena to be used for parsing.
Change-Id: I28ed192c4443cedfa3095007cc8a555e3aa7a17a
7 months ago
Richard Fuchs
2b8a510af5
MT#55283 change call_str_cpy etc semantics
...
Looks a bit neater and more modern
Change-Id: I1e23fd25f7f5ca0ee7af888a731e93778cd766df
7 months ago
Richard Fuchs
67e1b9979a
MT#55283 simplify call_str_dup family
...
Instead of having to explicitly pass the call object to each invocation,
keep one thread-local reference to a call, implicitly set by setting the
logging context.
Add helper functions to set and release the respective reference.
Change-Id: Ic0d82eeaa403467d50dae867e33fdf9b9dd7cec5
7 months ago
Richard Fuchs
33da0186de
MT#55283 add `all_attributes` lists
...
Store all received SDP attributes, not just the generic ones.
Change-Id: I1d4646ef2127e13cf8aab44b9c3a1410428b7873
8 months ago
Richard Fuchs
5fc8af25fb
MT#55283 rename to `generic_attributes`
...
For consistency.
No-op.
Change-Id: Iecf349f3cd09c8aeb4f61d4943cf9af8d44948c7
8 months ago
Peter Kelly
d4a8203b4b
MT#55283 Added decoder mix "slots" concept ...
...
... so that the desired wav channel can be controlled when producing a
mixed audio file
When a mixed wav file is created, the channels in the wav container are
currently allocated in the same order as each SSRC is received, meaning
it is impossible to know which channels have been allocated to the offer
or answer side of the call. Furthermore if there is a reinvite or media
file played, these are also allocated in the order that SSRC is received
- so an "answer" could end up sharing a channel with an "offer" with no
way of knowing this.
This patch allows you to specify how many channel slots should be
allocated within the mixer, and allows you to then specify which slot is
assigned to each media in the call (this will usually be 2 slots in
total, slot 1 for answer, slot 2 for offer or vice versa).
Ported from https://github.com/sipwise/rtpengine/pull/1852
Closes #1857
Closes #1852
Change-Id: I010208427cabc3a48d6ef7bd3a84e9a5bdcfd492
8 months ago
Richard Fuchs
14a1d2e927
MT#55283 fix alphabet order booboo
...
Fallout from c95ec2b8d
Change-Id: Ib9d03d74d9db7f8c30104bf30daf57cfb6d22cc7
8 months ago
Richard Fuchs
43d107d849
MT#55283 add metadata to query output
...
Change-Id: If89df10d7a3c7156620e0368d7ad95e39c595c59
8 months ago
Richard Fuchs
c480adc8fd
MT#55283 make gcc happy
...
This isn't really necessary but gcc isn't smart enough to see it
Change-Id: I6fe7b30760c72d77b06f1926ed2493369db2f771
9 months ago
Richard Fuchs
227a64c760
MT#55283 fix null pointer
...
Change-Id: I98e6e17e2da91f66048f209d6eaed42d652f8faf
Warned-by: Coverity
9 months ago
Richard Fuchs
7dd2235df1
MT#55283 rework parser framework
...
Change-Id: Ia837916ec2123afe03e63c62bfb7058173f05fad
9 months ago
Richard Fuchs
a56577adb4
MT#55283 rework dict_iter
...
Change-Id: I2d13eeea4df474639779e7be1a7b6aecd58db941
9 months ago
Richard Fuchs
5aa8e56798
MT#55283 rework parser context passing
...
Change-Id: I1ccab431314ff6b3fcb3dea74f26dbd88b9b9307
9 months ago
Richard Fuchs
c271a8321d
MT#55283 add support for codec-set + play_media
...
Relevant to #1841
Change-Id: I62e6d2053c60ce7ad05afe21687539e40f7d448f
9 months ago
Richard Fuchs
8c45a444fb
MT#55283 fix possible null pointer
...
Warned-by: Coverity
Change-Id: I8aed025badb050991fb9cadbdeb6c78036519965
9 months ago
Richard Fuchs
2be41a41e8
MT#55283 remove vestiges of bencode-specifics
...
Change-Id: Ib068b0c8b0ac2fd5c2d85eec75595490ef4cc1d9
9 months ago
Richard Fuchs
0cc7f3ba44
MT#55283 extend parser_arg to return types
...
Requires boilerplate wrapper functions :(
Change-Id: Ice6b0bb055082fb2c8893ec9a57488f56c0218c3
9 months ago
Richard Fuchs
93653fe562
MT#55283 add .dict_add_dict_dup method
...
Change-Id: I9942965d7579a3d3a00147ef185c183ad0ea93c4
9 months ago
Richard Fuchs
8aba2b3e6f
MT#55283 add *list_add_str_dup method
...
Change-Id: Ic6dac373f9fb16a83e20d12ff7f05d272633e859
9 months ago
Richard Fuchs
671c163a60
MT#55283 add dict_contains() method
...
Change-Id: I908075e8e3ef9578abc426987e34c9d776203184
9 months ago
Richard Fuchs
baf3cc97f2
MT#55283 extend use of parser_arg
...
Change-Id: I4e5b1fbb4d921fd75c50d5ffd8ec81afe200962c
9 months ago
Richard Fuchs
b0d22ba770
MT#55283 use list_iter() where appropriate
...
Change-Id: I26fee0ece7c6dc8411140559d4c8801b9eb304fe
9 months ago
Richard Fuchs
416f658088
MT#55283 introduce parser_arg union
...
Generic "item" object to represent some entity within a signalling
message
Change-Id: Ie1a7f2acaf954b86597ac32af3f0546d68f9e687
9 months ago
Richard Fuchs
6c8a5ec99a
MT#55283 add extra methods
...
Change-Id: If6aa0894c92b276b005d19a67f72bf59539354aa
9 months ago
Richard Fuchs
c18904d8db
MT#55283 reduce usage of bencode_buffer_destroy_add
...
Change-Id: I913f7df30d2dba46d6e44db74f55c43a2cd98444
9 months ago
Richard Fuchs
b1a0aebab5
MT#55283 add abstract .dict_add_str_dup
...
Change-Id: I8b5e34379e49819f5050e3460e4398706fe20749
9 months ago
Richard Fuchs
2f82805f1d
MT#55283 add abstract .dict_add_int()
...
Change-Id: If3f84b11d6c0399b6d9c916f3956877af9ec22d0
9 months ago
Richard Fuchs
271c646d8d
MT#55283 add abstract .list_add_string()
...
Change-Id: I487a5c535fc5ccd0b409a6abbcf6ba05b1e63f49
9 months ago
Richard Fuchs
a1e01c6025
MT#55283 add abstract .list_add_dict()
...
Change-Id: I4dfc8c5a52ad9a8df3683788297d73cff0504fd4
9 months ago
Richard Fuchs
5ccdb6c804
MT#55283 add abstract .dict_add_list()
...
Change-Id: I6e4530701c760101fd4a07c220d7bf85119cf876
9 months ago
Richard Fuchs
af3459b85e
MT#55283 add abstract .dict_add_dict()
...
Change-Id: Ie942d6a43e070edc08cb4124d19f8ce54a164351
9 months ago
Richard Fuchs
24fbb4d8c0
MT#55283 add abstract .dict_add_str()
...
Change-Id: I996f92c81366741aa0207a74c825a3033db59d22
9 months ago
Richard Fuchs
dc19d892cd
MT#55283 add abstract .dict_add_string()
...
Change-Id: I33eb89241eaa8b29e2ea128bb5c9d34bc25be0e9
9 months ago
Richard Fuchs
a2c89d64df
MT#55283 add abstract dict_get_str()
...
Change-Id: Ibb453a18913803042ee0074cbfd5d4c19c30418b
9 months ago
Richard Fuchs
94cea16603
MT#55283 direct string parsing for received-from=
...
Change-Id: I8dd868ef24fafca71b857eccf397e2794c5d66a2
9 months ago
Richard Fuchs
5f78fbfa02
MT#55283 refactor ng_sdp_attr_manipulations
...
using the new abstract dictionary/list iteration methods
Change-Id: I1b47fedb5a9fb05c207aa142879109cc8c903383
9 months ago
Richard Fuchs
2f367bf84a
MT#55283 add helper_arg to dict_iter
...
Change-Id: I0344a74c1d653a42b524612149857845b9815952
9 months ago
Richard Fuchs
61ed4e6e7d
MT#55283 refactor received-from parsing
...
using parsing abstraction
Change-Id: Ibee6620317a660b5dbdcf661c970d4d6cf6b7e6a
9 months ago
Richard Fuchs
d29368c6ab
MT#55283 refactor call_ng_flags_freqs()
...
using new parsing abstraction
Change-Id: I5cbda4da089b061780d28524b9efa66128e58de0
9 months ago
Richard Fuchs
b826dbddd6
MT#55283 use list iterator for direction=
...
Change-Id: I797f1f7926eb177ff2d6ab3659415b91ead2d95f
9 months ago
Richard Fuchs
f50d5e7482
MT#55283 add list iteration method
...
Change-Id: Ib533a9faa942a12006271ec95dabe7e3cbdc0b9d
9 months ago
Richard Fuchs
700d172cb2
MT#55283 more deeply pass the parser ctx
...
functional no-op
Change-Id: I11e340aa7f32a0a9b20da9c8798bdbb1ca7cd517
9 months ago
Richard Fuchs
a91bfc34e3
MT#55283 add abstract string/int parsing methods
...
Change-Id: I8acf3c1540a68ec2244a4a7768832855fed7937b
9 months ago
Richard Fuchs
f0eee2a75e
MT#55283 add abstract dictionary iterator
...
Change-Id: Ic41b41e533ffddda5c37ad5ea6155faa0100cada
9 months ago
Richard Fuchs
3f8f182119
MT#55283 introduce abstract parsing framework
...
Change-Id: I63ba6fc7e6278e989e87a3abdb66976084b403bc
9 months ago
Donat Zenichev
c6b903d519
MT#60476 treat force_inc_sdp_ver independently
...
Don't treat the `force_inc_sdp_ver` flag as
the `replace_sdp_version` one, but consider
it as a separate option flag.
Correct usage of it accordingly.
Additionally: change sdp_version_check() func signature
to use `force_increase` as bool.
Change-Id: I9ed772a5a3535d887dda5a5a116b6326c8f5f46a
9 months ago
Richard Fuchs
1f4c0d875e
MT#55283 shortcut list retrieval
...
Change-Id: I0c106cc560eccaf13e2c81db7f8c056a5826a2a2
9 months ago
Richard Fuchs
a0896dfa05
MT#55283 shortcut string fetch
...
don't call bencode_get_str() on `value` twice
Change-Id: Ibe0486e224c6632488649b5a89a248ff963402f5
9 months ago