Richard Fuchs
37813ddf86
MT#63317 rework port opening mechanics
Instead of opening local sockets directly during call setup, just create
the appropriate objects first, and then open the actual sockets in a
second step.
Move the opening step down, after the bundle logic has run. This way we
can avoid opening sockets that aren't needed.
Removes an intermediate step of obtaining consecutive ports.
Change-Id: Ib94c871ed6b3a433872afd23cb1aebbd9910b33e
2 months ago
Richard Fuchs
4aa3641cad
MT#63317 avoid mismatched extmap IDs
Change-Id: I7489ebaf9dbcb4ebb0c0bf469872433c25a0acb4
3 months ago
Richard Fuchs
429c7b5c71
MT#63317 support bundle offer
Change-Id: Ibb271535c38654c4fa4d52026d6a4ce41535e3cb
3 months ago
Richard Fuchs
44deb79faa
MT#63317 remove unused hash table
Not needed as it turns out
Change-Id: I5236d32b6a0a6c0d51e3e0e9445dd5efeca73536
3 months ago
Richard Fuchs
cc48a89c41
MT#63317 set correct output media w bundle
Change-Id: I8e4e2514a6f779d9fcedfe1593b228d336cf5c2a
3 months ago
Richard Fuchs
3b0496979a
MT#63317 extmap parsing in kernel
Change-Id: I2d4b0f0ba08d0dd793bd4e9716731dfe96ee155a
3 months ago
Richard Fuchs
7ce5b7660e
MT#63317 typedef for kernelize_state
Change-Id: I1b712ccc049b13bc6e1aef41ef2cd13dafddc99d
3 months ago
Richard Fuchs
78f9c0147a
MT#63317 generalise functions
Change-Id: I4ed802c755b6faab0fcba311b7b1fe617e2dd669
3 months ago
Richard Fuchs
774834d0c7
MT#63317 set media from RTP ext
Change-Id: Id71e219a57decd409f4e8a7620c9809c9b577ae7
5 months ago
Richard Fuchs
5853dcb41b
MT#63317 move confirmed/kernel flags to stream_fd
The key for an in-kernel stream is a local port, so it is really the
socket (port) that gets pushed into the kernel, not the packet_stream.
Similar to the "confirmed" state, as we expect each socket to only have
one peer address/port.
Change-Id: I34fef771cd8b01701196ffb77e17fcd229c86550
3 months ago
Richard Fuchs
61103a2ac5
MT#63317 remove unused struct member
Change-Id: I2e0fa7ad49e8e0280bc2c7b1b305fcc7d6c8c5e8
3 months ago
Richard Fuchs
1b05cb043e
MT#63317 support ext filter in kernel
Change-Id: Ic98dde266c7707dd3350d651032d989511ee3bee
3 months ago
Richard Fuchs
f934f7737d
MT#63317 support long form extension printing
Change-Id: Ib1f1d51dcf6ac0c74fdeb92311bd04d72bf7e7c2
3 months ago
Richard Fuchs
5c03188d5b
MT#63317 abstract extmap printing
Change-Id: Ia1d8622a1c5ccf358ee573fb8747f3129dc790e8
3 months ago
Richard Fuchs
57bc6b1e95
MT#63317 abstract packet copy
Change-Id: I0ea082a4fad138c25cd710dd82020d4f4d192485
4 months ago
Richard Fuchs
4fbef39425
MT#63317 add rtpext printing abstraction
Change-Id: I50b4bc3feef4445ccd87f4296504ec196bb8083a
4 months ago
Richard Fuchs
c216b51260
MT#63317 parse out extensions
Change-Id: I33965782836782790e6b0872b97818717f2b9949
4 months ago
Richard Fuchs
dba2386c60
MT#63317 support extmap-mask
Change-Id: Ib8ca6d4ada4a0bc1e67f5c02522eb9fe7f6ba2ce
4 months ago
Richard Fuchs
82f5158775
MT#63317 add sink_handler_set_generic
Change-Id: Ibef8d6a6b3c868c2b4f844c3bf1e095be23cae30
4 months ago
Richard Fuchs
acb0e47a1a
MT#63317 rename determine_sink_handler
and annotate some functions
Change-Id: I26cfe17f9bb93c1cc87b8365b3eed10fc03956f4
4 months ago
Richard Fuchs
d5c1fa418e
MT#63317 keep rtpext names in table
Change-Id: I9a2904ff22dc6235c2bfa8f4af5bd72f49ba37fe
4 months ago
Richard Fuchs
64d3c7646c
MT#63317 parse out RTP header extensions
Stub function for now.
Change-Id: I7ad2a203f42fb118e50273a57772cac4fbd1738f
5 months ago
Richard Fuchs
c525cb9e09
MT#63317 remove duplicate header parsing
Pass down RTP/RTCP header to crypto functions so that they don't need to
parse it out again.
Change-Id: I551ab6a668cc99c903cde8807f6f9c10fc0cf6d5
5 months ago
Richard Fuchs
35bcdd5570
MT#63317 keep extmap in tables
Change-Id: I540c7d325488c3015b72901ab0d9f25c3e913ea1
5 months ago
Richard Fuchs
fc9cb21d8a
MT#63317 store extmap entries in media object
Change-Id: Ia673ae3049f5c6ce8dd8516b5becc0a9322559d8
5 months ago
Richard Fuchs
e03f814855
MT#55283 combine in/out_lock
With selected_sfd being protected by in_lock, we pretty much have to
hold at least in_lock everywhere, and end up requiring both locks in
many places. The distinction has become pointless.
Change-Id: Ic0ad976c2d68d9639b9434da7f0e6e9c0d84c185
4 months ago
Richard Fuchs
3118b1e258
MT#55283 update function to bool
Change-Id: I290fc3b803db4ac0b5d95ef9609c158dff303af5
5 months ago
Richard Fuchs
cf22d82932
MT#55283 eliminate input/output combination SSRC
Change-Id: I94636b7f6fb6fb31cd3bf332fffe0203e17f6c16
8 months ago
Richard Fuchs
f34786dade
MT#55283 convert media_packet to int64_t
Change-Id: I4b1da113cf01d34473027987d4ee60215655fdec
8 months ago
Richard Fuchs
c70510303a
MT#55283 convert rtpe_now to int64_t
First step in converting (almost) all timeval uses to int64_t
Change-Id: If20fd749c61c278273c535b68287df7e6f042808
8 months ago
Richard Fuchs
1ad61d90bb
MT#55283 split up __get_consecutive_ports
Separate out the two distinct use cases of requesting a specific port,
and requesting (one or more) random ports.
Change-Id: Ifbe7725d8638d49f620c9f4b9445342d180c8770
10 months ago
Richard Fuchs
806d272f89
MT#55283 use bool for get_consecutive_ports
Change-Id: Ic4bfcaf2fe64874c5b108dda2c774bc7a46cd212
10 months ago
Richard Fuchs
48e971398c
MT#55283 convert bit field to bool
Change-Id: If2acf3bacadaf83ebc3a02c7c1d71aaa6a90258b
9 months ago
Richard Fuchs
eeeb2d8641
MT#55283 move socket_port_link into stream_fd
This allows us to simplify some function signatures
Change-Id: I58f65735ba84ec7a536b1b170d1ef90e266308f5
10 months ago
Richard Fuchs
08e382540e
MT#55283 add link to port_pool in socket_port_link
Change-Id: I43400175271b089a368f731bd55acb05ccab7141
10 months ago
Richard Fuchs
c2ba54e615
MT#55283 convert open_socket to bool
Change-Id: I715afc937f6b1cbc124ff14a0428f781f58cd050
10 months ago
Richard Fuchs
416ca38d25
MT#55283 allow overlapping port ranges
Change-Id: I6df35b8cc0687567d7c3c0fd6d44979345dca364
10 months ago
Richard Fuchs
347c21fc7e
MT#55283 use typed GQueue
Change-Id: Iea5a5e988ea23a17a5b2da5f02cd972afae2db87
10 months ago
Richard Fuchs
9d93762053
MT#62053 add exclude-ports option
Change-Id: Ibf319f5ae00e120490610c695a326f5397412155
10 months ago
Richard Fuchs
2d8f5616e4
MT#62053 exclude ports only from applicable interface
Change-Id: I9daf5fee91007e025b526e197191d98bdb54cc06
10 months ago
Richard Fuchs
6276b37cd2
MT#55283 use list pointer ops for port pool
Avoid repeated calls to the memory allocated for port pool list
management by picking out the list elements without freeing them,
storing them in the stream_fd object, and then returning them to the
list when the port is released.
Change-Id: I67cd5039e62e4d2965e85d7ba7f0454f08f40494
10 months ago
Richard Fuchs
8e9afe626b
MT#55283 (some) type safety for ports free list
Change-Id: I79e47f9e6dbfa29c738f75efd2c3d3322e4cb6e1
10 months ago
Richard Fuchs
3fd2586d31
MT#55283 save some memory by using an offset
Change-Id: Ic53fd60bc2780d0890905c14acfbc39d8cf89861
10 months ago
Richard Fuchs
267d244cb4
MT#55283 use array instead of hash table
Change-Id: Ie510523724d14d8c76bb9647ee184ea3756be06c
10 months ago
Richard Fuchs
3ea365ef60
MT#55283 use typed hash table for rr_spec
Change-Id: I99a4c334e182e5cb568cd8241b4f81340066dee2
10 months ago
Richard Fuchs
02bccee56b
MT#55283 use typed queue for local_intf
Change-Id: Id7bf3804ab029bdf60d010b05e057bb7851645cd
10 months ago
Richard Fuchs
7125f0f686
MT#55283 glib_json_builder_add_str hack
Avoids allocating and duplicating the string. Should be safe as all
strings that use it are allocated in read-write memory.
Requires changing some struct members to non-const.
Change-Id: Idc81a84a1454898c76d8514666c385307043bb6f
1 year ago
Richard Fuchs
a008e27a45
MT#55283 support interface aliases
Change-Id: Ifd85bc49201bab1ab89a8d240ee682a6d1655868
2 years ago
Richard Fuchs
5e6d4cf6a3
MT#55283 update interface config queue to typed
Change-Id: I4fbd0385be7b63cc33516bd53fadde54b65e15b6
2 years ago
Richard Fuchs
f389b42ab4
MT#55283 obsolete /blist
The requirement to continuously update stats from the kernel has been
eliminates. Remove all relevant code.
Change-Id: Idc8093b64290b89ff3d015f3e61e4bbe25df6e23
2 years ago