示例#1
0
文件: g711.c 项目: GGGO/baresip
static int module_init(void)
{
	aucodec_register(&pcmu);
	aucodec_register(&pcma);

	return 0;
}
示例#2
0
static int module_init(void)
{
	int err;

	err  = aucodec_register(&celtv[0], 0, "CELT", 48000, 1, NULL,
				alloc, encode, decode, NULL);
	err |= aucodec_register(&celtv[1], 0, "CELT", 32000, 1, NULL,
				alloc, encode, decode, NULL);

	return err;
}
示例#3
0
static int module_init(void)
{
	int err = 0;

#ifdef MODULE_CONF
	struct pl pl;

	if (!conf_get(conf_cur(), "opus_application", &pl)) {

		if (!pl_strcasecmp(&pl, "voip"))
			opus.app = OPUS_APPLICATION_VOIP;
		else if (!pl_strcasecmp(&pl, "audio"))
			opus.app = OPUS_APPLICATION_AUDIO;
		else {
			DEBUG_WARNING("unknown application: %r\n", &pl);
		}
	}

	if (!conf_get(conf_cur(), "opus_bandwidth", &pl)) {

		if (!pl_strcasecmp(&pl, "narrowband"))
			opus.bandwidth = OPUS_BANDWIDTH_NARROWBAND;
		else if (!pl_strcasecmp(&pl, "mediumband"))
			opus.bandwidth = OPUS_BANDWIDTH_MEDIUMBAND;
		else if (!pl_strcasecmp(&pl, "wideband"))
			opus.bandwidth = OPUS_BANDWIDTH_WIDEBAND;
		else if (!pl_strcasecmp(&pl, "superwideband"))
			opus.bandwidth = OPUS_BANDWIDTH_SUPERWIDEBAND;
		else if (!pl_strcasecmp(&pl, "fullband"))
			opus.bandwidth = OPUS_BANDWIDTH_FULLBAND;
		else {
			DEBUG_WARNING("unknown bandwidth: %r\n", &pl);
		}
	}

	conf_get_u32(conf_cur(),  "opus_complexity", &opus.complex);
	conf_get_u32(conf_cur(),  "opus_bitrate",    &opus.bitrate);
	conf_get_bool(conf_cur(), "opus_vbr",        &opus.vbr);
#endif

	err |= aucodec_register(&codecv[0], NULL, "opus", 48000, 2, NULL,
				alloc, encode, decode, NULL);

	err |= aucodec_register(&codecv[1], NULL, "opus", 48000, 1, NULL,
				alloc, encode, decode, NULL);
#if 0
	err |= aucodec_register(&codecv[2], NULL, "opus", 32000, 1, NULL,
				alloc, encode, decode, NULL);
#endif

	return err;
}
示例#4
0
文件: amr.c 项目: GGGO/baresip
static int module_init(void)
{
	int err = 0;

#ifdef AMR_WB
	aucodec_register(&amr_wb);
#endif
#ifdef AMR_NB
	aucodec_register(&amr_nb);
#endif

	return err;
}
示例#5
0
文件: gsm.c 项目: Studio-Link/baresip
static int module_init(void)
{
	debug("gsm: GSM v%u.%u.%u\n", GSM_MAJOR, GSM_MINOR, GSM_PATCHLEVEL);

	aucodec_register(baresip_aucodecl(), &ac_gsm);
	return 0;
}
	virtual void SetUp() override
	{
		struct sa laddr;
		int err;

#if 0
		log_set_min_level(LOG_LEVEL_WARN);
		log_enable_stderr(true);
#endif

		aucodec_register(&aucodecl, &dummy_opus);
		vidcodec_register(&vidcodecl, &dummy_vp8);

		sa_set_str(&laddr, "127.0.0.1", 0);

		err = create_dtls_srtp_context(&dtls, CERT_TYPE_RSA);
		ASSERT_EQ(0, err);

		err = mediaflow_alloc(&mf, dtls, &aucodecl, &laddr,
				      MEDIAFLOW_TRICKLEICE_DUALSTACK,
				      CRYPTO_DTLS_SRTP,
				      false,
				      mediaflow_localcand_handler,
				      mediaflow_estab_handler,
				      mediaflow_close_handler,
				      this);
		ASSERT_EQ(0, err);
		ASSERT_TRUE(mf != NULL);
	}
示例#7
0
文件: silk.c 项目: mralexgray/baresip
static int module_init(void)
{
	re_printf("SILK %s\n", SKP_Silk_SDK_get_version());

	aucodec_register(&silk[0]);

	return 0;
}
示例#8
0
文件: ilbc.c 项目: GGGO/baresip
static int module_init(void)
{
	(void)re_snprintf(ilbc_fmtp, sizeof(ilbc_fmtp),
			  "mode=%d", DEFAULT_MODE);

	aucodec_register(&ilbc);
	return 0;
}
示例#9
0
文件: g726.c 项目: AmesianX/baresip
static int module_init(void)
{
	size_t i;

	for (i=0; i<ARRAY_SIZE(g726); i++)
		aucodec_register((struct aucodec *)&g726[i]);

	return 0;
}
示例#10
0
static int module_init(void)
{
	struct conf *conf = conf_cur();
	uint32_t value;
	char *p = fmtp + str_len(fmtp);
	bool b;
	int n = 0;

	if (0 == conf_get_u32(conf, "opus_bitrate", &value)) {

		n = re_snprintf(p, sizeof(fmtp) - str_len(p),
				";maxaveragebitrate=%d", value);
		if (n <= 0)
			return ENOMEM;

		p += n;
	}

	if (0 == conf_get_bool(conf, "opus_cbr", &b)) {

		n = re_snprintf(p, sizeof(fmtp) - str_len(p),
				";cbr=%d", b);
		if (n <= 0)
			return ENOMEM;

		p += n;
	}

	if (0 == conf_get_bool(conf, "opus_inbandfec", &b)) {

		n = re_snprintf(p, sizeof(fmtp) - str_len(p),
				";useinbandfec=%d", b);
		if (n <= 0)
			return ENOMEM;

		p += n;
	}

	if (0 == conf_get_bool(conf, "opus_dtx", &b)) {

		n = re_snprintf(p, sizeof(fmtp) - str_len(p),
				";usedtx=%d", b);
		if (n <= 0)
			return ENOMEM;

		p += n;
	}

	(void)conf_get_bool(conf, "opus_mirror", &opus_mirror);

	debug("opus: fmtp=\"%s\"\n", fmtp);

	aucodec_register(&opus);

	return 0;
}
示例#11
0
static int module_init(void)
{
	struct list *aucodecl = baresip_aucodecl();
	size_t i;

	for (i=0; i<ARRAY_SIZE(g726); i++)
		aucodec_register(aucodecl, (struct aucodec *)&g726[i]);

	return 0;
}
示例#12
0
文件: speex.c 项目: FOSSRIT/baresip
static int speex_init(void)
{
	size_t i;

	config_parse(conf_cur());

	(void)re_snprintf(speex_fmtp, sizeof(speex_fmtp),
			  "mode=\"7\";vbr=%s;cng=on",
			  sconf.vad ? "vad" : (sconf.vbr ? "on" : "off"));

	for (i=0; i<ARRAY_SIZE(speexv); i++)
		aucodec_register(&speexv[i]);

	return 0;
}
示例#13
0
文件: opus.c 项目: AmesianX/baresip
static int module_init(void)
{
	struct conf *conf = conf_cur();
	uint32_t value;
	static char fmtp[128];

	if (0 == conf_get_u32(conf, "opus_bitrate", &value)) {
		(void)re_snprintf(fmtp, sizeof(fmtp),
				"stereo=1;sprop-stereo=1;maxaveragebitrate=%d",
				value);
		opus.fmtp = fmtp;
	}

	aucodec_register(&opus);

	return 0;
}
示例#14
0
文件: opus.c 项目: alfredh/baresip
static int module_init(void)
{
	struct conf *conf = conf_cur();
	uint32_t value;
	char *p = fmtp + str_len(fmtp);
	bool b, stereo = true, sprop_stereo = true;
	struct pl pl;
	int n = 0;

	conf_get_bool(conf, "opus_stereo", &stereo);
	conf_get_bool(conf, "opus_sprop_stereo", &sprop_stereo);

	/* always set stereo parameter first */
	n = re_snprintf(p, sizeof(fmtp) - str_len(p),
			"stereo=%d;sprop-stereo=%d", stereo, sprop_stereo);
	if (n <= 0)
		return ENOMEM;

	p += n;

	if (0 == conf_get_u32(conf, "opus_bitrate", &value)) {

		n = re_snprintf(p, sizeof(fmtp) - str_len(p),
				";maxaveragebitrate=%d", value);
		if (n <= 0)
			return ENOMEM;

		p += n;
	}

	if (0 == conf_get_bool(conf, "opus_cbr", &b)) {

		n = re_snprintf(p, sizeof(fmtp) - str_len(p),
				";cbr=%d", b);
		if (n <= 0)
			return ENOMEM;

		p += n;
	}

	if (0 == conf_get_bool(conf, "opus_inbandfec", &b)) {

		n = re_snprintf(p, sizeof(fmtp) - str_len(p),
				";useinbandfec=%d", b);
		if (n <= 0)
			return ENOMEM;

		p += n;
	}

	if (0 == conf_get_bool(conf, "opus_dtx", &b)) {

		n = re_snprintf(p, sizeof(fmtp) - str_len(p),
				";usedtx=%d", b);
		if (n <= 0)
			return ENOMEM;

		p += n;
	}

	(void)conf_get_bool(conf, "opus_mirror", &opus_mirror);

	if (opus_mirror) {
		opus.fmtp = NULL;
		opus.fmtp_ench = opus_fmtp_enc;
	}

	(void)conf_get_u32(conf, "opus_complexity", &opus_complexity);

	if (opus_complexity > 10)
		opus_complexity = 10;

	if (!conf_get(conf, "opus_application", &pl)) {
		if (!pl_strcasecmp(&pl, "audio"))
			opus_application = OPUS_APPLICATION_AUDIO;
		else if (!pl_strcasecmp(&pl, "voip"))
			opus_application = OPUS_APPLICATION_VOIP;
		else {
			warning("opus: unknown encoder application: %r\n",
					&pl);
			return EINVAL;
		}
	}

	debug("opus: fmtp=\"%s\"\n", fmtp);

	aucodec_register(baresip_aucodecl(), &opus);

	return 0;
}
示例#15
0
文件: codec2.c 项目: AmesianX/baresip
static int module_init(void)
{
	aucodec_register(&codec2);

	return 0;
}
示例#16
0
static int module_init(void)
{
	aucodec_register(baresip_aucodecl(), (struct aucodec *)&g7221);

	return 0;
}
示例#17
0
文件: opus.c 项目: lmangani/baresip
static int module_init(void)
{
	struct conf *conf = conf_cur();
	uint32_t value;
	char *p = fmtp + str_len(fmtp);
	bool b, stereo = true, sprop_stereo = true;
	int n = 0;

	conf_get_bool(conf, "opus_stereo", &stereo);
	conf_get_bool(conf, "opus_sprop_stereo", &sprop_stereo);

	/* always set stereo parameter first */
	n = re_snprintf(p, sizeof(fmtp) - str_len(p),
			"stereo=%d;sprop-stereo=%d", stereo, sprop_stereo);
	if (n <= 0)
		return ENOMEM;

	p += n;

	if (0 == conf_get_u32(conf, "opus_bitrate", &value)) {

		n = re_snprintf(p, sizeof(fmtp) - str_len(p),
				";maxaveragebitrate=%d", value);
		if (n <= 0)
			return ENOMEM;

		p += n;
	}

	if (0 == conf_get_bool(conf, "opus_cbr", &b)) {

		n = re_snprintf(p, sizeof(fmtp) - str_len(p),
				";cbr=%d", b);
		if (n <= 0)
			return ENOMEM;

		p += n;
	}

	if (0 == conf_get_bool(conf, "opus_inbandfec", &b)) {

		n = re_snprintf(p, sizeof(fmtp) - str_len(p),
				";useinbandfec=%d", b);
		if (n <= 0)
			return ENOMEM;

		p += n;
	}

	if (0 == conf_get_bool(conf, "opus_dtx", &b)) {

		n = re_snprintf(p, sizeof(fmtp) - str_len(p),
				";usedtx=%d", b);
		if (n <= 0)
			return ENOMEM;

		p += n;
	}

	(void)conf_get_bool(conf, "opus_mirror", &opus_mirror);

	if (opus_mirror) {
		opus.fmtp = NULL;
		opus.fmtp_ench = opus_fmtp_enc;
	}

	debug("opus: fmtp=\"%s\"\n", fmtp);

	aucodec_register(baresip_aucodecl(), &opus);

	return 0;
}