diff --git a/CMakeLists.txt b/CMakeLists.txt index a14c9aad..184ff596 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -11,7 +11,7 @@ if (DEFINED ENV{IDF_PATH}) PRIV_INCLUDE_DIRS "./src" REQUIRES mbedtls srtp json esp_netif ) - add_definitions("-DCONFIG_USE_LWIP=1" "-DCONFIG_USE_USRSCTP=0" "-DCONFIG_AUDIO_BUFFER_SIZE=8096" "-DCONFIG_DATA_BUFFER_SIZE=102400" "-D__BYTE_ORDER=__LITTLE_ENDIAN" "-DHTTP_DO_NOT_USE_CUSTOM_CONFIG" "-DMQTT_DO_NOT_USE_CUSTOM_CONFIG") + add_definitions("-DCONFIG_LIBPEER_USE_LWIP=1" "-DCONFIG_LIBPEER_USE_USRSCTP=0" "-D__BYTE_ORDER=__LITTLE_ENDIAN" "-DHTTP_DO_NOT_USE_CUSTOM_CONFIG" "-DMQTT_DO_NOT_USE_CUSTOM_CONFIG") return() endif() diff --git a/Kconfig b/Kconfig new file mode 100644 index 00000000..b614b402 --- /dev/null +++ b/Kconfig @@ -0,0 +1,61 @@ +menu "libpeer" + config LIBPEER_SCTP_MTU + int "SCTP MTU" + default 1200 + help + The SCTP MTU. + config LIBPEER_MTU + int "MTU" + default 1300 + help + The MTU. + config LIBPEER_VIDEO_BUFFER_SIZE_MTUS + int "Video Buffer Size in MTUs" + default 7 + help + The Video RB Data MTUs. + config LIBPEER_AUDIO_BUFFER_SIZE_MTUS + int "Audio Buffer Size in MTUs" + default 7 + help + The Audio RB Data MTUs. + config LIBPEER_DATA_BUFFER_SIZE_MTUS + int "Data Buffer Size in MTUs" + default 86 + help + The Data RB Data MTUs. + config LIBPEER_SDP_BUFFER_SIZE + int "SDP Buffer Size" + default 8096 + help + The SDP Buffer Size. + config LIBPEER_MQTT_BUFFER_SIZE + int "MQTT Buffer Size" + default 8096 + help + The MQTT Buffer Size. + config LIBPEER_AUDIO_LATENCY_MS + int "Audio Latency (ms)" + default 20 + help + The Audio Latency in milliseconds. + config LIBPEER_KEEPALIVE_CONNCHECK + int "Keepalive Conncheck interval" + default 0 + help + The Keepalive Conncheck. + choice LIBPEER_LOG_LEVEL + prompt "Log Level" + default LIBPEER_LOG_LEVEL_INFO + help + The Log Level. + config LIBPEER_LOG_LEVEL_DEBUG + bool "Debug" + config LIBPEER_LOG_LEVEL_INFO + bool "Info" + config LIBPEER_LOG_LEVEL_WARN + bool "Warn" + config LIBPEER_LOG_LEVEL_ERROR + bool "Error" + endchoice +endmenu diff --git a/src/address.h b/src/address.h index 6f8eb781..fc44762a 100644 --- a/src/address.h +++ b/src/address.h @@ -2,7 +2,7 @@ #define ADDRESS_H_ #include "config.h" -#if CONFIG_USE_LWIP +#if CONFIG_LIBPEER_USE_LWIP #include #else #include diff --git a/src/agent.c b/src/agent.c index 0e50ab88..c9c956d0 100644 --- a/src/agent.c +++ b/src/agent.c @@ -31,7 +31,7 @@ int agent_create(Agent* agent) { } LOGI("create IPv4 UDP socket: %d", agent->udp_sockets[0].fd); -#if CONFIG_IPV6 +#if CONFIG_LIBPEER_IPV6 if ((ret = udp_socket_open(&agent->udp_sockets[1], AF_INET6, 0)) < 0) { LOGE("Failed to create IPv6 UDP socket."); return ret; @@ -48,7 +48,7 @@ void agent_destroy(Agent* agent) { udp_socket_close(&agent->udp_sockets[0]); } -#if CONFIG_IPV6 +#if CONFIG_LIBPEER_IPV6 if (agent->udp_sockets[1].fd > 0) { udp_socket_close(&agent->udp_sockets[1]); } @@ -61,9 +61,10 @@ static int agent_socket_recv(Agent* agent, Address* addr, uint8_t* buf, int len) int maxfd = -1; fd_set rfds; struct timeval tv; - int addr_type[] = { AF_INET, -#if CONFIG_IPV6 - AF_INET6, + int addr_type[] = { + AF_INET, +#if CONFIG_LIBPEER_IPV6 + AF_INET6, #endif }; @@ -122,11 +123,12 @@ static int agent_socket_send(Agent* agent, Address* addr, const uint8_t* buf, in static int agent_create_host_addr(Agent* agent) { int i, j; - const char* iface_prefx[] = {CONFIG_IFACE_PREFIX}; + const char* iface_prefx[] = {CONFIG_LIBPEER_IFACE_PREFIX}; IceCandidate* ice_candidate; - int addr_type[] = { AF_INET, -#if CONFIG_IPV6 - AF_INET6, + int addr_type[] = { + AF_INET, +#if CONFIG_LIBPEER_IPV6 + AF_INET6, #endif }; diff --git a/src/config.h b/src/config.h index cfb07227..fbc7033d 100644 --- a/src/config.h +++ b/src/config.h @@ -2,81 +2,116 @@ #define CONFIG_H_ // uncomment this if you want to handshake with a aiortc -// #define CONFIG_DTLS_USE_ECDSA 1 +// #define CONFIG_LIBPEER_DTLS_USE_ECDSA 1 -#define SCTP_MTU (1200) -#define CONFIG_MTU (1300) +#ifndef CONFIG_LIBPEER_SCTP_MTU +#define CONFIG_LIBPEER_SCTP_MTU (1200) +#endif +#ifndef CONFIG_LIBPEER_MTU +#define CONFIG_LIBPEER_MTU (1300) +#endif -#ifndef CONFIG_USE_LWIP -#define CONFIG_USE_LWIP 0 +#ifndef CONFIG_LIBPEER_USE_LWIP +#define CONFIG_LIBPEER_USE_LWIP 0 #endif -#ifndef CONFIG_MBEDTLS_DEBUG -#define CONFIG_MBEDTLS_DEBUG 0 +#ifndef CONFIG_LIBPEER_MBEDTLS_DEBUG +#define CONFIG_LIBPEER_MBEDTLS_DEBUG 0 #endif -#ifndef CONFIG_MBEDTLS_2_X -#define CONFIG_MBEDTLS_2_X 0 +#ifndef CONFIG_LIBPEER_MBEDTLS_2_X +#define CONFIG_LIBPEER_MBEDTLS_2_X 0 #endif -#if CONFIG_MBEDTLS_2_X +#if CONFIG_LIBPEER_MBEDTLS_2_X #define RSA_KEY_LENGTH 512 #else #define RSA_KEY_LENGTH 1024 #endif -#ifndef CONFIG_DTLS_USE_ECDSA -#define CONFIG_DTLS_USE_ECDSA 0 +#ifndef CONFIG_LIBPEER_DTLS_USE_ECDSA +#define CONFIG_LIBPEER_DTLS_USE_ECDSA 0 +#endif + +#ifndef CONFIG_LIBPEER_USE_USRSCTP +#define CONFIG_LIBPEER_USE_USRSCTP 1 +#endif + +#ifndef CONFIG_LIBPEER_VIDEO_BUFFER_SIZE_MTUS +#define CONFIG_LIBPEER_VIDEO_BUFFER_SIZE_MTUS 256 +#endif +#ifndef CONFIG_LIBPEER_AUDIO_BUFFER_SIZE_MTUS +#define CONFIG_LIBPEER_AUDIO_BUFFER_SIZE_MTUS 256 +#endif +#ifndef CONFIG_LIBPEER_DATA_BUFFER_SIZE_MTUS +#define CONFIG_LIBPEER_DATA_BUFFER_SIZE_MTUS 128 #endif -#ifndef CONFIG_USE_USRSCTP -#define CONFIG_USE_USRSCTP 1 +#ifndef CONFIG_LIBPEER_VIDEO_BUFFER_SIZE +#define CONFIG_LIBPEER_VIDEO_BUFFER_SIZE (CONFIG_LIBPEER_MTU * CONFIG_LIBPEER_VIDEO_BUFFER_SIZE_MTUS) #endif -#ifndef CONFIG_VIDEO_BUFFER_SIZE -#define CONFIG_VIDEO_BUFFER_SIZE (CONFIG_MTU * 256) +#ifndef CONFIG_LIBPEER_AUDIO_BUFFER_SIZE +#define CONFIG_LIBPEER_AUDIO_BUFFER_SIZE (CONFIG_LIBPEER_MTU * CONFIG_LIBPEER_AUDIO_BUFFER_SIZE_MTUS) #endif -#ifndef CONFIG_AUDIO_BUFFER_SIZE -#define CONFIG_AUDIO_BUFFER_SIZE (CONFIG_MTU * 256) +#ifndef CONFIG_LIBPEER_DATA_BUFFER_SIZE +#define CONFIG_LIBPEER_DATA_BUFFER_SIZE (CONFIG_LIBPEER_SCTP_MTU * CONFIG_LIBPEER_DATA_BUFFER_SIZE_MTUS) #endif -#ifndef CONFIG_DATA_BUFFER_SIZE -#define CONFIG_DATA_BUFFER_SIZE (SCTP_MTU * 128) +#ifndef CONFIG_LIBPEER_SDP_BUFFER_SIZE +#define CONFIG_LIBPEER_SDP_BUFFER_SIZE 8096 #endif -#ifndef CONFIG_SDP_BUFFER_SIZE -#define CONFIG_SDP_BUFFER_SIZE 8096 +#ifndef CONFIG_LIBPEER_MQTT_BUFFER_SIZE +#define CONFIG_LIBPEER_MQTT_BUFFER_SIZE 4096 #endif -#ifndef CONFIG_MQTT_BUFFER_SIZE -#define CONFIG_MQTT_BUFFER_SIZE 4096 +#ifndef CONFIG_LIBPEER_HTTP_BUFFER_SIZE +#define CONFIG_LIBPEER_HTTP_BUFFER_SIZE 4096 #endif -#ifndef CONFIG_HTTP_BUFFER_SIZE -#define CONFIG_HTTP_BUFFER_SIZE 4096 +#ifndef CONFIG_LIBPEER_TLS_READ_TIMEOUT +#define CONFIG_LIBPEER_TLS_READ_TIMEOUT 3000 #endif -#ifndef CONFIG_TLS_READ_TIMEOUT -#define CONFIG_TLS_READ_TIMEOUT 3000 +#ifndef CONFIG_LIBPEER_KEEPALIVE_TIMEOUT +#define CONFIG_LIBPEER_KEEPALIVE_TIMEOUT 10000 #endif -#ifndef CONFIG_KEEPALIVE_TIMEOUT -#define CONFIG_KEEPALIVE_TIMEOUT 10000 +#ifndef CONFIG_LIBPEER_AUDIO_DURATION +#define CONFIG_LIBPEER_AUDIO_DURATION 20 #endif -#ifndef CONFIG_AUDIO_DURATION -#define CONFIG_AUDIO_DURATION 20 +#ifndef CONFIG_LIBPEER_IPV6 +#define CONFIG_LIBPEER_IPV6 0 #endif -#define CONFIG_IPV6 0 +#ifndef CONFIG_LIBPEER_IFACE_PREFIX // empty will use first active interface -#define CONFIG_IFACE_PREFIX "" +#define CONFIG_LIBPEER_IFACE_PREFIX "" +#endif -// #define LOG_LEVEL LEVEL_DEBUG -#define LOG_REDIRECT 0 +#ifndef CONFIG_LIBPEER_LOG_REDIRECT +#define CONFIG_LIBPEER_LOG_REDIRECT 0 +#endif + +#ifdef CONFIG_LIBPEER_LOG_LEVEL_ERROR +#define LOG_LEVEL LEVEL_ERROR +#endif // CONFIG_LIBPEER_LOG_LEVEL_ERROR +#ifdef CONFIG_LIBPEER_LOG_LEVEL_WARN +#define LOG_LEVEL LEVEL_WARN +#endif // CONFIG_LIBPEER_LOG_LEVEL_WARN +#ifdef CONFIG_LIBPEER_LOG_LEVEL_INFO +#define LOG_LEVEL LEVEL_INFO +#endif // CONFIG_LIBPEER_LOG_LEVEL_INFO +#ifdef CONFIG_LIBPEER_LOG_LEVEL_DEBUG +#define LOG_LEVEL LEVEL_DEBUG +#endif // CONFIG_LIBPEER_LOG_LEVEL_DEBUG // Disable MQTT and HTTP signaling -// #define DISABLE_PEER_SIGNALING 1 +#ifndef CONFIG_LIBPEER_DISABLE_PEER_SIGNALING +#define CONFIG_LIBPEER_DISABLE_PEER_SIGNALING 0 +#endif #endif // CONFIG_H_ diff --git a/src/dtls_srtp.c b/src/dtls_srtp.c index c0d8c97f..a929fc8b 100644 --- a/src/dtls_srtp.c +++ b/src/dtls_srtp.c @@ -6,7 +6,7 @@ #include "address.h" #include "config.h" #include "dtls_srtp.h" -#if CONFIG_MBEDTLS_DEBUG +#if CONFIG_LIBPEER_MBEDTLS_DEBUG #include "mbedtls/debug.h" #endif #include "mbedtls/sha256.h" @@ -72,7 +72,7 @@ static int dtls_srtp_selfsign_cert(DtlsSrtp* dtls_srtp) { mbedtls_x509write_cert crt; unsigned char* cert_buf = NULL; -#if CONFIG_MBEDTLS_2_X +#if CONFIG_LIBPEER_MBEDTLS_2_X mbedtls_mpi serial; #else const char* serial = "peer"; @@ -87,7 +87,7 @@ static int dtls_srtp_selfsign_cert(DtlsSrtp* dtls_srtp) { mbedtls_ctr_drbg_seed(&dtls_srtp->ctr_drbg, mbedtls_entropy_func, &dtls_srtp->entropy, (const unsigned char*)pers, strlen(pers)); -#if CONFIG_DTLS_USE_ECDSA +#if CONFIG_LIBPEER_DTLS_USE_ECDSA mbedtls_pk_setup(&dtls_srtp->pkey, mbedtls_pk_info_from_type(MBEDTLS_PK_ECKEY)); mbedtls_ecp_gen_key(MBEDTLS_ECP_DP_SECP256R1, mbedtls_pk_ec(dtls_srtp->pkey), mbedtls_ctr_drbg_random, &dtls_srtp->ctr_drbg); #else @@ -111,7 +111,7 @@ static int dtls_srtp_selfsign_cert(DtlsSrtp* dtls_srtp) { mbedtls_x509write_crt_set_issuer_name(&crt, "CN=dtls_srtp"); -#if CONFIG_MBEDTLS_2_X +#if CONFIG_LIBPEER_MBEDTLS_2_X mbedtls_mpi_init(&serial); mbedtls_mpi_fill_random(&serial, 16, mbedtls_ctr_drbg_random, &dtls_srtp->ctr_drbg); ret = mbedtls_x509write_crt_set_serial(&crt, &serial); @@ -139,7 +139,7 @@ static int dtls_srtp_selfsign_cert(DtlsSrtp* dtls_srtp) { return ret; } -#if CONFIG_MBEDTLS_DEBUG +#if CONFIG_LIBPEER_MBEDTLS_DEBUG static void dtls_srtp_debug(void* ctx, int level, const char* file, int line, const char* str) { LOGD("%s:%04d: %s", file, line, str); } @@ -166,7 +166,7 @@ int dtls_srtp_init(DtlsSrtp* dtls_srtp, DtlsSrtpRole role, void* user_data) { mbedtls_pk_init(&dtls_srtp->pkey); mbedtls_entropy_init(&dtls_srtp->entropy); mbedtls_ctr_drbg_init(&dtls_srtp->ctr_drbg); -#if CONFIG_MBEDTLS_DEBUG +#if CONFIG_LIBPEER_MBEDTLS_DEBUG mbedtls_debug_set_threshold(3); mbedtls_ssl_conf_dbg(&dtls_srtp->conf, dtls_srtp_debug, NULL); #endif @@ -314,7 +314,7 @@ static int dtls_srtp_key_derivation(DtlsSrtp* dtls_srtp, const unsigned char* ma return 0; } -#if CONFIG_MBEDTLS_2_X +#if CONFIG_LIBPEER_MBEDTLS_2_X static int dtls_srtp_key_derivation_cb(void* context, const unsigned char* ms, const unsigned char* kb, @@ -341,7 +341,7 @@ static void dtls_srtp_key_derivation_cb(void* context, memcpy(randbytes, client_random, 32); memcpy(randbytes + 32, server_random, 32); -#if CONFIG_MBEDTLS_2_X +#if CONFIG_LIBPEER_MBEDTLS_2_X memcpy(master_secret, ms, sizeof(master_secret)); return dtls_srtp_key_derivation(dtls_srtp, master_secret, sizeof(master_secret), randbytes, sizeof(randbytes), tls_prf_type); #else @@ -357,7 +357,7 @@ static int dtls_srtp_do_handshake(DtlsSrtp* dtls_srtp) { mbedtls_ssl_set_timer_cb(&dtls_srtp->ssl, &timer, mbedtls_timing_set_delay, mbedtls_timing_get_delay); -#if CONFIG_MBEDTLS_2_X +#if CONFIG_LIBPEER_MBEDTLS_2_X mbedtls_ssl_conf_export_keys_ext_cb(&dtls_srtp->conf, dtls_srtp_key_derivation_cb, dtls_srtp); #else mbedtls_ssl_set_export_keys_cb(&dtls_srtp->ssl, dtls_srtp_key_derivation_cb, dtls_srtp); diff --git a/src/peer_connection.c b/src/peer_connection.c index c7709cfb..3876f522 100644 --- a/src/peer_connection.c +++ b/src/peer_connection.c @@ -35,8 +35,8 @@ struct PeerConnection { void (*on_connected)(void* userdata); void (*on_receiver_packet_loss)(float fraction_loss, uint32_t total_loss, void* user_data); - uint8_t temp_buf[CONFIG_MTU]; - uint8_t agent_buf[CONFIG_MTU]; + uint8_t temp_buf[CONFIG_LIBPEER_MTU]; + uint8_t agent_buf[CONFIG_LIBPEER_MTU]; int agent_ret; int b_local_description_created; @@ -70,7 +70,7 @@ static int peer_connection_dtls_srtp_recv(void* ctx, unsigned char* buf, size_t return pc->agent_ret; } - while (recv_max < CONFIG_TLS_READ_TIMEOUT && pc->state == PEER_CONNECTION_CONNECTED) { + while (recv_max < CONFIG_LIBPEER_TLS_READ_TIMEOUT && pc->state == PEER_CONNECTION_CONNECTED) { ret = agent_recv(&pc->agent, buf, len); if (ret > 0) { @@ -171,16 +171,16 @@ PeerConnection* peer_connection_create(PeerConfiguration* config) { memset(&pc->sctp, 0, sizeof(pc->sctp)); if (pc->config.datachannel) { -#if (CONFIG_DATA_BUFFER_SIZE) > 0 - LOGI("Datachannel allocates heap size: %d", CONFIG_DATA_BUFFER_SIZE); - pc->data_rb = buffer_new(CONFIG_DATA_BUFFER_SIZE); +#if (CONFIG_LIBPEER_DATA_BUFFER_SIZE) > 0 + LOGI("Datachannel allocates heap size: %d", CONFIG_LIBPEER_DATA_BUFFER_SIZE); + pc->data_rb = buffer_new(CONFIG_LIBPEER_DATA_BUFFER_SIZE); #endif } if (pc->config.audio_codec) { -#if (CONFIG_AUDIO_BUFFER_SIZE) > 0 - LOGI("Audio allocates heap size: %d", CONFIG_AUDIO_BUFFER_SIZE); - pc->audio_rb = buffer_new(CONFIG_AUDIO_BUFFER_SIZE); +#if (CONFIG_LIBPEER_AUDIO_BUFFER_SIZE) > 0 + LOGI("Audio allocates heap size: %d", CONFIG_LIBPEER_AUDIO_BUFFER_SIZE); + pc->audio_rb = buffer_new(CONFIG_LIBPEER_AUDIO_BUFFER_SIZE); #endif rtp_encoder_init(&pc->artp_encoder, pc->config.audio_codec, @@ -191,9 +191,9 @@ PeerConnection* peer_connection_create(PeerConfiguration* config) { } if (pc->config.video_codec) { -#if (CONFIG_VIDEO_BUFFER_SIZE) > 0 - LOGI("Video allocates heap size: %d", CONFIG_VIDEO_BUFFER_SIZE); - pc->video_rb = buffer_new(CONFIG_VIDEO_BUFFER_SIZE); +#if (CONFIG_LIBPEER_VIDEO_BUFFER_SIZE) > 0 + LOGI("Video allocates heap size: %d", CONFIG_LIBPEER_VIDEO_BUFFER_SIZE); + pc->video_rb = buffer_new(CONFIG_LIBPEER_VIDEO_BUFFER_SIZE); #endif rtp_encoder_init(&pc->vrtp_encoder, pc->config.video_codec, peer_connection_outgoing_rtp_packet, (void*)pc); @@ -228,7 +228,7 @@ int peer_connection_send_audio(PeerConnection* pc, const uint8_t* buf, size_t le // LOGE("dtls_srtp not connected"); return -1; } -#if (CONFIG_AUDIO_BUFFER_SIZE) > 0 +#if (CONFIG_LIBPEER_AUDIO_BUFFER_SIZE) > 0 return buffer_push_tail(pc->audio_rb, buf, len); #else return rtp_encoder_encode(&pc->artp_encoder, buf, len); @@ -240,7 +240,7 @@ int peer_connection_send_video(PeerConnection* pc, const uint8_t* buf, size_t le // LOGE("dtls_srtp not connected"); return -1; } -#if (CONFIG_VIDEO_BUFFER_SIZE) > 0 +#if (CONFIG_LIBPEER_VIDEO_BUFFER_SIZE) > 0 return buffer_push_tail(pc->video_rb, buf, len); #else return rtp_encoder_encode(&pc->vrtp_encoder, data, bytes); @@ -257,7 +257,7 @@ int peer_connection_datachannel_send_sid(PeerConnection* pc, char* message, size return -1; } -#if (CONFIG_DATA_BUFFER_SIZE) > 0 +#if (CONFIG_LIBPEER_DATA_BUFFER_SIZE) > 0 return buffer_push_tail(pc->data_rb, (uint8_t*)message, len); #else if (pc->config.datachannel == DATA_CHANNEL_STRING) @@ -443,7 +443,7 @@ int peer_connection_loop(PeerConnection* pc) { break; case PEER_CONNECTION_COMPLETED: -#if (CONFIG_VIDEO_BUFFER_SIZE) > 0 +#if (CONFIG_LIBPEER_VIDEO_BUFFER_SIZE) > 0 data = buffer_peak_head(pc->video_rb, &bytes); if (data) { rtp_encoder_encode(&pc->vrtp_encoder, data, bytes); @@ -451,7 +451,7 @@ int peer_connection_loop(PeerConnection* pc) { } #endif -#if (CONFIG_AUDIO_BUFFER_SIZE) > 0 +#if (CONFIG_LIBPEER_AUDIO_BUFFER_SIZE) > 0 data = buffer_peak_head(pc->audio_rb, &bytes); if (data) { rtp_encoder_encode(&pc->artp_encoder, data, bytes); @@ -459,7 +459,7 @@ int peer_connection_loop(PeerConnection* pc) { } #endif -#if (CONFIG_DATA_BUFFER_SIZE) > 0 +#if (CONFIG_LIBPEER_DATA_BUFFER_SIZE) > 0 data = buffer_peak_head(pc->data_rb, &bytes); if (data) { if (pc->config.datachannel == DATA_CHANNEL_STRING) @@ -503,7 +503,7 @@ int peer_connection_loop(PeerConnection* pc) { } } - if (CONFIG_KEEPALIVE_TIMEOUT > 0 && (ports_get_epoch_time() - pc->agent.binding_request_time) > CONFIG_KEEPALIVE_TIMEOUT) { + if (CONFIG_LIBPEER_KEEPALIVE_TIMEOUT > 0 && (ports_get_epoch_time() - pc->agent.binding_request_time) > CONFIG_LIBPEER_KEEPALIVE_TIMEOUT) { LOGI("binding request timeout"); STATE_CHANGED(pc, PEER_CONNECTION_CLOSED); } diff --git a/src/peer_signaling.c b/src/peer_signaling.c index 342a5798..5c18e05a 100644 --- a/src/peer_signaling.c +++ b/src/peer_signaling.c @@ -43,8 +43,8 @@ typedef struct PeerSignaling { TransportInterface_t transport; NetworkContext_t net_ctx; - uint8_t mqtt_buf[CONFIG_MQTT_BUFFER_SIZE]; - uint8_t http_buf[CONFIG_HTTP_BUFFER_SIZE]; + uint8_t mqtt_buf[CONFIG_LIBPEER_MQTT_BUFFER_SIZE]; + uint8_t http_buf[CONFIG_LIBPEER_HTTP_BUFFER_SIZE]; char subtopic[TOPIC_MAX_LEN]; char pubtopic[TOPIC_MAX_LEN]; diff --git a/src/peer_signaling.h b/src/peer_signaling.h index e73c0a34..73e3f09d 100644 --- a/src/peer_signaling.h +++ b/src/peer_signaling.h @@ -7,7 +7,7 @@ extern "C" { #endif -#ifndef DISABLE_PEER_SIGNALING +#ifndef CONFIG_LIBPEER_DISABLE_PEER_SIGNALING int peer_signaling_connect(const char* url, const char* token, PeerConnection* pc); @@ -15,7 +15,7 @@ void peer_signaling_disconnect(); int peer_signaling_loop(); -#endif // DISABLE_PEER_SIGNALING +#endif // CONFIG_LIBPEER_DISABLE_PEER_SIGNALING #ifdef __cplusplus } diff --git a/src/ports.c b/src/ports.c index 2346f609..44c67410 100644 --- a/src/ports.c +++ b/src/ports.c @@ -6,7 +6,7 @@ #include "config.h" -#if CONFIG_USE_LWIP +#if CONFIG_LIBPEER_USE_LWIP #include "lwip/ip_addr.h" #include "lwip/netdb.h" #include "lwip/netif.h" @@ -24,7 +24,7 @@ int ports_get_host_addr(Address* addr, const char* iface_prefix) { int ret = 0; -#if CONFIG_USE_LWIP +#if CONFIG_LIBPEER_USE_LWIP struct netif* netif; int i; for (netif = netif_list; netif != NULL; netif = netif->next) { @@ -149,7 +149,7 @@ uint32_t ports_get_epoch_time() { } void ports_sleep_ms(int ms) { -#if CONFIG_USE_LWIP +#if CONFIG_LIBPEER_USE_LWIP sys_msleep(ms); #else usleep(ms * 1000); diff --git a/src/rtp.c b/src/rtp.c index 2eefc07a..9a8be579 100644 --- a/src/rtp.c +++ b/src/rtp.c @@ -26,8 +26,8 @@ typedef struct FuHeader { uint8_t s : 1; } FuHeader; -#define RTP_PAYLOAD_SIZE (CONFIG_MTU - sizeof(RtpHeader)) -#define FU_PAYLOAD_SIZE (CONFIG_MTU - sizeof(RtpHeader) - sizeof(FuHeader) - sizeof(NaluHeader)) +#define RTP_PAYLOAD_SIZE (CONFIG_LIBPEER_MTU - sizeof(RtpHeader)) +#define FU_PAYLOAD_SIZE (CONFIG_LIBPEER_MTU - sizeof(RtpHeader) - sizeof(FuHeader) - sizeof(NaluHeader)) int rtp_packet_validate(uint8_t* packet, size_t size) { if (size < 12) @@ -113,7 +113,7 @@ static int rtp_encoder_encode_h264_fu_a(RtpEncoder* rtp_encoder, uint8_t* buf, s fu_header->e = 0; memcpy(rtp_packet->payload + sizeof(NaluHeader) + sizeof(FuHeader), buf, FU_PAYLOAD_SIZE); - rtp_encoder->on_packet(rtp_encoder->buf, CONFIG_MTU, rtp_encoder->user_data); + rtp_encoder->on_packet(rtp_encoder->buf, CONFIG_LIBPEER_MTU, rtp_encoder->user_data); size -= FU_PAYLOAD_SIZE; buf += FU_PAYLOAD_SIZE; @@ -195,19 +195,19 @@ void rtp_encoder_init(RtpEncoder* rtp_encoder, MediaCodec codec, RtpOnPacket on_ case CODEC_PCMA: rtp_encoder->type = PT_PCMA; rtp_encoder->ssrc = SSRC_PCMA; - rtp_encoder->timestamp_increment = CONFIG_AUDIO_DURATION * 8000 / 1000; + rtp_encoder->timestamp_increment = CONFIG_LIBPEER_AUDIO_DURATION * 8000 / 1000; rtp_encoder->encode_func = rtp_encoder_encode_generic; break; case CODEC_PCMU: rtp_encoder->type = PT_PCMU; rtp_encoder->ssrc = SSRC_PCMU; - rtp_encoder->timestamp_increment = CONFIG_AUDIO_DURATION * 8000 / 1000; + rtp_encoder->timestamp_increment = CONFIG_LIBPEER_AUDIO_DURATION * 8000 / 1000; rtp_encoder->encode_func = rtp_encoder_encode_generic; break; case CODEC_OPUS: rtp_encoder->type = PT_OPUS; rtp_encoder->ssrc = SSRC_OPUS; - rtp_encoder->timestamp_increment = CONFIG_AUDIO_DURATION * 48000 / 1000; + rtp_encoder->timestamp_increment = CONFIG_LIBPEER_AUDIO_DURATION * 48000 / 1000; rtp_encoder->encode_func = rtp_encoder_encode_generic; break; default: diff --git a/src/rtp.h b/src/rtp.h index 2df66573..3da4f67e 100644 --- a/src/rtp.h +++ b/src/rtp.h @@ -90,7 +90,7 @@ struct RtpEncoder { uint32_t ssrc; uint32_t timestamp; uint32_t timestamp_increment; - uint8_t buf[CONFIG_MTU + 128]; + uint8_t buf[CONFIG_LIBPEER_MTU + 128]; }; int rtp_packet_validate(uint8_t* packet, size_t size); diff --git a/src/sctp.c b/src/sctp.c index bf7781ea..c9a7d3b9 100644 --- a/src/sctp.c +++ b/src/sctp.c @@ -4,7 +4,7 @@ #include "dtls_srtp.h" #include "sctp.h" #include "utils.h" -#if CONFIG_USE_USRSCTP +#if CONFIG_LIBPEER_USE_USRSCTP #include #endif @@ -94,7 +94,7 @@ static int sctp_outgoing_data_cb(void* userdata, void* buf, size_t len, uint8_t } int sctp_outgoing_data(Sctp* sctp, char* buf, size_t len, SctpDataPpid ppid, uint16_t sid) { -#if CONFIG_USE_USRSCTP +#if CONFIG_LIBPEER_USE_USRSCTP int res; struct sctp_sendv_spa spa = {0}; @@ -111,7 +111,7 @@ int sctp_outgoing_data(Sctp* sctp, char* buf, size_t len, SctpDataPpid ppid, uin return res; #else size_t padding_len = 0; - size_t payload_max = SCTP_MTU - sizeof(SctpPacket) - sizeof(SctpDataChunk); + size_t payload_max = CONFIG_LIBPEER_SCTP_MTU - sizeof(SctpPacket) - sizeof(SctpDataChunk); size_t pos = 0; static uint16_t sqn = 0; @@ -134,9 +134,9 @@ int sctp_outgoing_data(Sctp* sctp, char* buf, size_t len, SctpDataPpid ppid, uin memcpy(chunk->data, buf + pos, payload_max); packet->header.checksum = 0; - packet->header.checksum = sctp_get_checksum(sctp, (const uint8_t*)sctp->buf, SCTP_MTU); + packet->header.checksum = sctp_get_checksum(sctp, (const uint8_t*)sctp->buf, CONFIG_LIBPEER_SCTP_MTU); - sctp_outgoing_data_cb(sctp, sctp->buf, SCTP_MTU, 0, 0); + sctp_outgoing_data_cb(sctp, sctp->buf, CONFIG_LIBPEER_SCTP_MTU, 0, 0); chunk->iube = 0x04; len -= payload_max; pos += payload_max; @@ -216,7 +216,7 @@ void sctp_incoming_data(Sctp* sctp, char* buf, size_t len) { if (!sctp) return; -#if CONFIG_USE_USRSCTP +#if CONFIG_LIBPEER_USE_USRSCTP sctp_handle_sctp_packet(sctp, buf, len); usrsctp_conninput(sctp, buf, len, 0); #else @@ -416,7 +416,7 @@ void sctp_incoming_data(Sctp* sctp, char* buf, size_t len) { } static int sctp_handle_incoming_data(Sctp* sctp, char* data, size_t len, uint32_t ppid, uint16_t sid, int flags) { -#if CONFIG_USE_USRSCTP +#if CONFIG_LIBPEER_USE_USRSCTP switch (ppid) { case DATA_CHANNEL_PPID_CONTROL: break; @@ -439,7 +439,7 @@ static int sctp_handle_incoming_data(Sctp* sctp, char* data, size_t len, uint32_ return 0; } -#if CONFIG_USE_USRSCTP +#if CONFIG_LIBPEER_USE_USRSCTP static void sctp_process_notification(Sctp* sctp, union sctp_notification* notification, size_t len) { if (notification->sn_header.sn_length != (uint32_t)len) { @@ -497,7 +497,7 @@ int sctp_create_association(Sctp* sctp, DtlsSrtp* dtls_srtp) { sctp->local_port = 5000; sctp->remote_port = 5000; sctp->tsn = 1234; -#if CONFIG_USE_USRSCTP +#if CONFIG_LIBPEER_USE_USRSCTP int ret = -1; usrsctp_init(0, sctp_outgoing_data_cb, NULL); usrsctp_sysctl_set_sctp_ecn_enable(0); @@ -624,7 +624,7 @@ int sctp_create_association(Sctp* sctp, DtlsSrtp* dtls_srtp) { } void sctp_destroy_association(Sctp* sctp) { -#if CONFIG_USE_USRSCTP +#if CONFIG_LIBPEER_USE_USRSCTP if (sctp && sctp->sock) { usrsctp_shutdown(sctp->sock, SHUT_RDWR); usrsctp_close(sctp->sock); diff --git a/src/sctp.h b/src/sctp.h index 50e6464d..ee17ef4d 100644 --- a/src/sctp.h +++ b/src/sctp.h @@ -23,7 +23,7 @@ typedef enum DataChannelPpid { } DataChannelPpid; -#if !CONFIG_USE_USRSCTP +#if !CONFIG_LIBPEER_USE_USRSCTP typedef struct SctpChunkParam { uint16_t type; @@ -167,7 +167,7 @@ typedef struct Sctp { void (*onclose)(void* userdata); void* userdata; - uint8_t buf[CONFIG_MTU]; + uint8_t buf[CONFIG_LIBPEER_MTU]; } Sctp; int sctp_create_association(Sctp* sctp, DtlsSrtp* dtls_srtp); diff --git a/src/sdp.h b/src/sdp.h index ed91bcf0..c4d0a26a 100644 --- a/src/sdp.h +++ b/src/sdp.h @@ -11,7 +11,7 @@ #endif typedef struct Sdp { - char content[CONFIG_SDP_BUFFER_SIZE]; + char content[CONFIG_LIBPEER_SDP_BUFFER_SIZE]; } Sdp; diff --git a/src/ssl_transport.c b/src/ssl_transport.c index eddf79cf..e5dc1ffd 100644 --- a/src/ssl_transport.c +++ b/src/ssl_transport.c @@ -99,7 +99,7 @@ int ssl_transport_connect(NetworkContext_t* net_ctx, return -1; } - mbedtls_ssl_conf_read_timeout(&net_ctx->conf, CONFIG_TLS_READ_TIMEOUT); + mbedtls_ssl_conf_read_timeout(&net_ctx->conf, CONFIG_LIBPEER_TLS_READ_TIMEOUT); mbedtls_ssl_set_bio(&net_ctx->ssl, &net_ctx->tcp_socket, ssl_transport_mbedlts_send, NULL, ssl_transport_mbedtls_recv_timeout); diff --git a/src/utils.h b/src/utils.h index 72040ae5..4d430b85 100644 --- a/src/utils.h +++ b/src/utils.h @@ -20,7 +20,7 @@ #define LOG_LEVEL LEVEL_INFO #endif -#if LOG_REDIRECT +#if CONFIG_LIBPEER_LOG_REDIRECT void peer_log(char* level_tag, const char* file_name, int line_number, const char* fmt, ...); #define LOG_PRINT(level_tag, fmt, ...) \ peer_log(level_tag, __FILE__, __LINE__, fmt, ##__VA_ARGS__)