Donat Zenichev
4203e10c1e
MT#61856 control_ng: generate enum from NG_COMMANDS
...
The `OP_...` enum is meant to only represent commands list.
Then make the list from the NG commands macro
the actual source of truth for the enum count.
This eliminates human mistakes, when introducing a new command,
because no more need to update enum manually.
Additionally:
- move the command list macro to the header
- existing extern declarations remain untouched
- `OP_OTHER` remains sentinel
- eventually replace the manual enum with macro based one
Change-Id: I33d928367fe0a254571cb0b7d4aafe4445b30b77
4 weeks ago
Richard Fuchs
4bf3644e1d
MT#55283 add mesh method
...
Change-Id: I66aa4cd2e519f707b76b4b1c2004a45c748c5c16
2 months ago
Richard Fuchs
7058e2a504
MT#55283 dict_iter can return error message
...
Change-Id: I93e4b70e8bece0dc0481454dd2f13035dbf4d7b2
2 months ago
Richard Fuchs
24bf817b3f
MT#55283 allow returning error from list_iter
...
Change-Id: I66b28463d794abff91272fc3cb3657ecc21cf492
2 months ago
Richard Fuchs
b91f58292f
MT#55283 allow list iteration to return errors
...
Change-Id: Ic394f0fa4af09f2db6526f49d4e5e3fd4fdb04c5
2 months ago
Richard Fuchs
f7b5a4de5b
MT#55283 update signature of dict_get_str
...
Change-Id: Idf333d65436998777b1e9247304e450f3740672f
2 months ago
Richard Fuchs
320b293dd5
MT#55283 add "create" method
...
Change-Id: I626996028a6c5a9ee296efdeba8f301411b74ec7
3 months ago
Nikolay Feshenko
352bda7035
MT#55283 add inject start/stop commands for one-way audio injection
...
New NG protocol commands that mix audio from a source participant
into a destination participant's stream without a full offer/answer
exchange.
- inject start: creates one-way subscription with audio_player mixing
- inject stop: removes injection and restores original codec routing
- Supports cross-call injection via source-call-id (merges calls internally)
- inject attribute persisted through Redis for HA failover
- Audio-only; matches media by media-id, index, then type fallback
Closes #2082
Change-Id: Ib88113b021a4b76bf98892eb1af60c0b36c0d6d3
3 months ago
Richard Fuchs
b1ac55c844
MT#55283 add str_dup_dup helper function
...
Change-Id: Ieacb147e3a98b5f31a8e45fb709df73636347cc0
5 months ago
Richard Fuchs
2b81650b13
MT#55283 convert ng_command_stats to int64_t
...
Change-Id: Iab5acb85dc2b857ffc3d4cbe8128a58907474c8f
1 year ago
Richard Fuchs
954bac923b
MT#55283 move SSRC hash from monologue to media
...
Change-Id: Id03603982692e9f6aef3b96d2a04514459eb30a7
1 year ago
Richard Fuchs
135a95ef02
MT#61625 implement "transform" method
...
Change-Id: I2113b76d97f5cf6cc8927f92b8a178795322a77e
1 year ago
Richard Fuchs
9673703476
MT#61822 add new "CLI" NG command
...
Change-Id: Idd4114783b1bb6cc683970110a2f322ec07b894a
1 year ago
Richard Fuchs
3af3e799a8
MT#61368 add OP_CONNECT
...
Change-Id: Ie07cb5bd139f5e039c5736009ae18733850b0c55
2 years ago
Richard Fuchs
643547377f
MT#61352 consolidate opmode with ng_command
...
There is enough overlap between the two enums that it doesn't make sense
to carry along both. Unify.
Change-Id: I9de8fbdb8d78a2002d8c1b62cea57188c937d61d
2 years ago
Richard Fuchs
664f664e43
MT#55283 obsolete OP_SUBSCRIBER_*
...
These are redundant and not used.
Change-Id: I2c994c4b1f222a4065760f4e2f154131f7ce8b34
2 years ago
Donat Zenichev
65c96da6ae
MT#60476 Deprecate chopper related functionality
...
Deprecate the chopper and related functionality:
- copy_up_to_end_of()
- copy_up_to()
- copy_up_to_ptr()
- copy_remainder()
- skip_over()
- chopper_append_str()
- chopper_append_c()
- chopper_append()
- chopper_replace
- chopper_append_printf()
- sdp_chopper_new()
- sdp_chopper_destroy()
- sdp_chopper_destroy_ret()
Deprecate the chopper structure itself:
- `struct sdp_chopper`
Deprecate other usages of this struct:
- `ng_buffer->chopper`
Change-Id: I3bff8aaf24c6513ccd9fb3806474d8edac6eb866
2 years ago
Richard Fuchs
98d6575c63
MT#55283 add (un)escape parser methods
...
Change-Id: I7d9be892c4b5a3e28b77bc4a42e4c0cee722a132
2 years ago
Richard Fuchs
7dd2235df1
MT#55283 rework parser framework
...
Change-Id: Ia837916ec2123afe03e63c62bfb7058173f05fad
2 years ago
Richard Fuchs
81a7d177ef
MT#55283 use abstract JSON writer for Redis
...
Change-Id: Ib667184773d75c5187d6029ca2e9282e7931c5a4
2 years ago
Richard Fuchs
ef787fb119
MT#55283 use abstract parser for Redis restore
...
Change-Id: Ic4b61bee33b71a759b5a352393e2bc2738d87b86
2 years ago
Richard Fuchs
a56577adb4
MT#55283 rework dict_iter
...
Change-Id: I2d13eeea4df474639779e7be1a7b6aecd58db941
2 years ago
Richard Fuchs
5aa8e56798
MT#55283 rework parser context passing
...
Change-Id: I1ccab431314ff6b3fcb3dea74f26dbd88b9b9307
2 years ago
Richard Fuchs
2be41a41e8
MT#55283 remove vestiges of bencode-specifics
...
Change-Id: Ib068b0c8b0ac2fd5c2d85eec75595490ef4cc1d9
2 years ago
Richard Fuchs
96d6e438cf
MT#55283 add strdup method
...
Change-Id: Icf26f301895c94d789902d422cb7907ef3b6025f
2 years ago
Richard Fuchs
4d0c97b40e
MT#55283 native JSON writer
...
Change-Id: Ic13c126456cd5ebacac9541424b6d6d42825eeae
2 years ago
Richard Fuchs
0cc7f3ba44
MT#55283 extend parser_arg to return types
...
Requires boilerplate wrapper functions :(
Change-Id: Ice6b0bb055082fb2c8893ec9a57488f56c0218c3
2 years ago
Richard Fuchs
93653fe562
MT#55283 add .dict_add_dict_dup method
...
Change-Id: I9942965d7579a3d3a00147ef185c183ad0ea93c4
2 years ago
Richard Fuchs
8aba2b3e6f
MT#55283 add *list_add_str_dup method
...
Change-Id: Ic6dac373f9fb16a83e20d12ff7f05d272633e859
2 years ago
Richard Fuchs
671c163a60
MT#55283 add dict_contains() method
...
Change-Id: I908075e8e3ef9578abc426987e34c9d776203184
2 years ago
Richard Fuchs
baf3cc97f2
MT#55283 extend use of parser_arg
...
Change-Id: I4e5b1fbb4d921fd75c50d5ffd8ec81afe200962c
2 years ago
Richard Fuchs
b0d22ba770
MT#55283 use list_iter() where appropriate
...
Change-Id: I26fee0ece7c6dc8411140559d4c8801b9eb304fe
2 years ago
Richard Fuchs
416f658088
MT#55283 introduce parser_arg union
...
Generic "item" object to represent some entity within a signalling
message
Change-Id: Ie1a7f2acaf954b86597ac32af3f0546d68f9e687
2 years ago
Richard Fuchs
6c8a5ec99a
MT#55283 add extra methods
...
Change-Id: If6aa0894c92b276b005d19a67f72bf59539354aa
2 years ago
Richard Fuchs
b7d5e00d65
MT#55283 add pretty_print method
...
Change-Id: Ibcc16385f9a988b949ead2f544732474b87e3a2c
2 years ago
Richard Fuchs
c437c0a706
MT#55283 add is_dict method
...
Change-Id: I53068670f20bfae642577c078f7f73b97cf7eea7
2 years ago
Richard Fuchs
c18904d8db
MT#55283 reduce usage of bencode_buffer_destroy_add
...
Change-Id: I913f7df30d2dba46d6e44db74f55c43a2cd98444
2 years ago
Richard Fuchs
bdd66fe730
MT#55283 move JsonParser into ngbuf
...
Use ngbuf's free function to destroy the JSON parser instead of the
callback for the bencode_buffer object.
Change-Id: I7eccf7284f55b34ef1a4800017ea1a4519f42bbc
2 years ago
Richard Fuchs
b1a0aebab5
MT#55283 add abstract .dict_add_str_dup
...
Change-Id: I8b5e34379e49819f5050e3460e4398706fe20749
2 years ago
Richard Fuchs
8f6b8b206b
MT#55283 add abstract dict_add/list/list_add
...
Change-Id: Id0cfcfa1504135473b7e4d355bfe5e28d089a6d1
2 years ago
Richard Fuchs
2f82805f1d
MT#55283 add abstract .dict_add_int()
...
Change-Id: If3f84b11d6c0399b6d9c916f3956877af9ec22d0
2 years ago
Richard Fuchs
271c646d8d
MT#55283 add abstract .list_add_string()
...
Change-Id: I487a5c535fc5ccd0b409a6abbcf6ba05b1e63f49
2 years ago
Richard Fuchs
a1e01c6025
MT#55283 add abstract .list_add_dict()
...
Change-Id: I4dfc8c5a52ad9a8df3683788297d73cff0504fd4
2 years ago
Richard Fuchs
5ccdb6c804
MT#55283 add abstract .dict_add_list()
...
Change-Id: I6e4530701c760101fd4a07c220d7bf85119cf876
2 years ago
Richard Fuchs
af3459b85e
MT#55283 add abstract .dict_add_dict()
...
Change-Id: Ie942d6a43e070edc08cb4124d19f8ce54a164351
2 years ago
Richard Fuchs
24fbb4d8c0
MT#55283 add abstract .dict_add_str()
...
Change-Id: I996f92c81366741aa0207a74c825a3033db59d22
2 years ago
Richard Fuchs
dc19d892cd
MT#55283 add abstract .dict_add_string()
...
Change-Id: I33eb89241eaa8b29e2ea128bb5c9d34bc25be0e9
2 years ago
Richard Fuchs
a2c89d64df
MT#55283 add abstract dict_get_str()
...
Change-Id: Ibb453a18913803042ee0074cbfd5d4c19c30418b
2 years ago
Richard Fuchs
cc43740ce0
MT#55283 add abstract dict() method
...
Change-Id: I305f1fc3e4cab7961ca4d38c35fb8359c3a63856
2 years ago
Richard Fuchs
5f78fbfa02
MT#55283 refactor ng_sdp_attr_manipulations
...
using the new abstract dictionary/list iteration methods
Change-Id: I1b47fedb5a9fb05c207aa142879109cc8c903383
2 years ago