SILK format attribute interface.
More...
Go to the source code of this file.
|
static struct ast_module_info | __mod_info = { .name = AST_MODULE, .flags = AST_MODFLAG_LOAD_ORDER , .description = "SILK Format Attribute Module" , .key = "This paragraph is copyright (c) 2006 by Digium, Inc. \In order for your module to load, it must return this \key via a function called \"key\". Any code which \includes this paragraph must be licensed under the GNU \General Public License version 2 or later (at your \option). In addition to Digium's general reservations \of rights, Digium expressly reserves the right to \allow other parties to license this paragraph under \different terms. Any use of Digium, Inc. trademarks or \logos (including \"Asterisk\" or \"Digium\") without \express written permission of Digium, Inc. is prohibited.\n" , .buildopt_sum = AST_BUILDOPT_SUM, .support_level = AST_MODULE_SUPPORT_CORE, .load = load_module, .unload = unload_module, .load_pri = AST_MODPRI_CHANNEL_DEPEND, } |
|
static const struct ast_module_info * | ast_module_info = &__mod_info |
|
static struct ast_format_interface | silk_interface |
|
SILK format attribute interface.
- Author
- David Vossel dvoss.nosp@m.el@d.nosp@m.igium.nosp@m..com
Definition in file res_format_attr_silk.c.
◆ __reg_module()
static void __reg_module |
( |
void |
| ) |
|
|
static |
◆ __unreg_module()
static void __unreg_module |
( |
void |
| ) |
|
|
static |
◆ AST_MODULE_SELF_SYM()
◆ attr_init()
static void attr_init |
( |
struct silk_attr * |
attr | ) |
|
|
static |
◆ load_module()
static int load_module |
( |
void |
| ) |
|
|
static |
◆ silk_clone()
◆ silk_cmp()
◆ silk_destroy()
static void silk_destroy |
( |
struct ast_format * |
format | ) |
|
|
static |
◆ silk_generate_sdp_fmtp()
static void silk_generate_sdp_fmtp |
( |
const struct ast_format * |
format, |
|
|
unsigned int |
payload, |
|
|
struct ast_str ** |
str |
|
) |
| |
|
static |
◆ silk_get()
static const void * silk_get |
( |
const struct ast_format * |
format, |
|
|
const char * |
name |
|
) |
| |
|
static |
Definition at line 216 of file res_format_attr_silk.c.
217{
220
221 if (!strcasecmp(
name,
"max_bitrate")) {
223 }
else if (!strcasecmp(
name,
"dtx")) {
225 }
else if (!strcasecmp(
name,
"fec")) {
227 }
else if (!strcasecmp(
name,
"packetloss_percentage")) {
229 } else {
232 }
233
235}
unsigned int packetloss_percentage
References ast_format_get_attribute_data(), ast_log, silk_attr::dtx, silk_attr::fec, LOG_WARNING, silk_attr::maxbitrate, name, NULL, and silk_attr::packetloss_percentage.
◆ silk_getjoint()
Definition at line 144 of file res_format_attr_silk.c.
145{
150
153 }
154
156 if (!jointformat) {
158 }
160
161 if (!attr1 || !attr2) {
163 } else {
164
166
167
168
169 attr_res->
dtx = attr1->
dtx && attr2->
dtx ? 1 : 0;
170
171
172
173 attr_res->
fec = attr1->
fec && attr2->
fec ? 1 : 0;
174
175
176
178 }
179
180 return jointformat;
181}
References ast_format_clone(), ast_format_get_attribute_data(), ast_format_get_sample_rate(), attr_init(), silk_attr::dtx, silk_attr::fec, MAX, silk_attr::maxbitrate, MIN, NULL, and silk_attr::packetloss_percentage.
◆ silk_parse_sdp_fmtp()
static struct ast_format * silk_parse_sdp_fmtp |
( |
const struct ast_format * |
format, |
|
|
const char * |
attributes |
|
) |
| |
|
static |
Definition at line 84 of file res_format_attr_silk.c.
85{
90
92 if (!cloned) {
94 }
96
97
98 for (attrib = attribs; *attrib; ++attrib) {
99 *attrib = tolower(*attrib);
100 }
101
102 if (sscanf(attribs,
"maxaveragebitrate=%30u", &
val) == 1) {
104 }
105 if (sscanf(attribs,
"usedtx=%30u", &
val) == 1) {
107 }
108 if (sscanf(attribs,
"useinbandfec=%30u", &
val) == 1) {
110 }
111
112 return cloned;
113}
#define ast_strdupa(s)
duplicate a string in memory from the stack
References ast_format_clone(), ast_format_get_attribute_data(), ast_strdupa, silk_attr::dtx, silk_attr::fec, silk_attr::maxbitrate, and NULL.
◆ silk_set()
static struct ast_format * silk_set |
( |
const struct ast_format * |
format, |
|
|
const char * |
name, |
|
|
const char * |
value |
|
) |
| |
|
static |
Definition at line 183 of file res_format_attr_silk.c.
184{
188
189 if (sscanf(
value,
"%30u", &
val) != 1) {
193 }
194
196 if (!cloned) {
198 }
200
201 if (!strcasecmp(
name,
"max_bitrate")) {
203 }
else if (!strcasecmp(
name,
"dtx")) {
205 }
else if (!strcasecmp(
name,
"fec")) {
207 }
else if (!strcasecmp(
name,
"packetloss_percentage")) {
209 } else {
211 }
212
213 return cloned;
214}
References ast_format_clone(), ast_format_get_attribute_data(), ast_log, silk_attr::dtx, silk_attr::fec, LOG_WARNING, silk_attr::maxbitrate, name, NULL, silk_attr::packetloss_percentage, and value.
◆ unload_module()
static int unload_module |
( |
void |
| ) |
|
|
static |
◆ __mod_info
struct ast_module_info __mod_info = { .name = AST_MODULE, .flags = AST_MODFLAG_LOAD_ORDER , .description = "SILK Format Attribute Module" , .key = "This paragraph is copyright (c) 2006 by Digium, Inc. \In order for your module to load, it must return this \key via a function called \"key\". Any code which \includes this paragraph must be licensed under the GNU \General Public License version 2 or later (at your \option). In addition to Digium's general reservations \of rights, Digium expressly reserves the right to \allow other parties to license this paragraph under \different terms. Any use of Digium, Inc. trademarks or \logos (including \"Asterisk\" or \"Digium\") without \express written permission of Digium, Inc. is prohibited.\n" , .buildopt_sum = AST_BUILDOPT_SUM, .support_level = AST_MODULE_SUPPORT_CORE, .load = load_module, .unload = unload_module, .load_pri = AST_MODPRI_CHANNEL_DEPEND, } |
|
static |
◆ ast_module_info
◆ silk_interface