SWITCH_DECLARE(const char *) switch_core_banner(void);
SWITCH_DECLARE(switch_bool_t) switch_core_session_in_thread(switch_core_session_t *session);
SWITCH_DECLARE(uint32_t) switch_default_ptime(const char *name, uint32_t number);
+SWITCH_DECLARE(uint32_t) switch_default_rate(const char *name, uint32_t number);
/*!
\brief Add user registration
return 20;
}
+SWITCH_DECLARE(uint32_t) switch_default_rate(const char *name, uint32_t number)
+{
+
+ if (!strcasecmp(name, "opus")) {
+ return 48000;
+ }
+
+ return 8000;
+}
+
static uint32_t d_30 = 30;
static void switch_load_core_config(const char *file)
}
if (orate == 0) {
- orate = 8000;
+ orate = switch_default_rate(name, 0);
}
switch_copy_string(jbuf, prefs[j], sizeof(jbuf));
}
if (jrate == 0) {
- jrate = 8000;
+ jrate = switch_default_rate(jname, 0);
}
if (!strcasecmp(name, jname) && ointerval == jinterval && orate == jrate) {
/* If no specific codec interval is requested opt for the default above all else because lots of stuff assumes it */
for (imp = codec_interface->implementations; imp; imp = imp->next) {
uint32_t default_ptime = switch_default_ptime(imp->iananame, imp->ianacode);
+ uint32_t default_rate = switch_default_rate(imp->iananame, imp->ianacode);
if (imp->codec_type != SWITCH_CODEC_TYPE_VIDEO) {
continue;
}
- if (((!rate && (uint32_t) imp->samples_per_second != 8000) || (rate && (uint32_t) imp->samples_per_second != rate))) {
+ if (((!rate && (uint32_t) imp->samples_per_second != default_rate) || (rate && (uint32_t) imp->samples_per_second != rate))) {
continue;
}