116{
118
119 if (!chan) {
121 return -1;
122 }
123
124
126
127
129 if (strcasecmp(data, "fixed") &&
130 strcasecmp(data, "adaptive") &&
131 strcasecmp(data, "disabled")) {
132 ast_log(
LOG_WARNING,
"Unknown Jitterbuffer type %s. Failed to create jitterbuffer.\n", data);
133 return -1;
134 }
136 }
137
140 int res = 0;
146 );
147
151 "jbmaxsize",
153 }
156 "jbresyncthreshold",
157 args.resync_threshold);
158 }
161 "jbtargetextra",
163 }
166 "jbsyncvideo",
168 }
169 if (res) {
171 }
172 }
173
175
176 return 0;
177}
void ast_jb_create_framehook(struct ast_channel *chan, struct ast_jb_conf *jb_conf, int prefer_existing)
Applies a jitterbuffer framehook to a channel based on a provided jitterbuffer config.
void ast_jb_conf_default(struct ast_jb_conf *conf)
Sets the contents of an ast_jb_conf struct to the default jitterbuffer settings.
int ast_jb_read_conf(struct ast_jb_conf *conf, const char *varname, const char *value)
Sets jitterbuffer configuration property.
#define ast_strdupa(s)
duplicate a string in memory from the stack
#define AST_APP_ARG(name)
Define an application argument.
#define AST_DECLARE_APP_ARGS(name, arglist)
Declare a structure to hold an application's arguments.
#define AST_STANDARD_APP_ARGS(args, parse)
Performs the 'standard' argument separation process for an application.
static force_inline int attribute_pure ast_strlen_zero(const char *s)
void ast_copy_string(char *dst, const char *src, size_t size)
Size-limited null-terminating string copy.
General jitterbuffer configuration.
long target_extra
amount of additional jitterbuffer adjustment
long max_size
Max size of the jitterbuffer implementation.
long resync_threshold
Resynchronization threshold of the jitterbuffer implementation.