Skip to content

Commit 5d41238

Browse files
committed
Merge branch 'feature/support_timeout' into 'main'
peer_default: Add receive timeout settings See merge request adf/esp-webrtc-solution!3
2 parents 1de39c7 + 2be9ba4 commit 5d41238

File tree

5 files changed

+46
-2
lines changed

5 files changed

+46
-2
lines changed

solutions/doorbell_demo/main/webrtc.c

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
#include "common.h"
1414
#include "esp_log.h"
1515
#include "esp_webrtc_defaults.h"
16+
#include "esp_peer_default.h"
1617

1718
#define TAG "DOOR_BELL"
1819

@@ -163,6 +164,9 @@ int start_webrtc(char *url)
163164
media_lib_thread_handle_t key_thread;
164165
media_lib_thread_create_from_scheduler(&key_thread, "Key", key_monitor_thread, NULL);
165166

167+
esp_peer_default_cfg_t peer_cfg = {
168+
.agent_recv_timeout = 500,
169+
};
166170
esp_webrtc_cfg_t cfg = {
167171
.peer_cfg = {
168172
.audio_info = {
@@ -185,6 +189,8 @@ int start_webrtc(char *url)
185189
.on_custom_data = door_bell_on_cmd,
186190
.enable_data_channel = DATA_CHANNEL_ENABLED,
187191
.no_auto_reconnect = true, // No auto connect peer when signaling connected
192+
.extra_cfg = &peer_cfg,
193+
.extra_size = sizeof(peer_cfg),
188194
},
189195
.signaling_cfg = {
190196
.signal_url = url,

solutions/openai_demo/main/webrtc.c

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
#include "driver/gpio.h"
1313
#include "esp_log.h"
1414
#include "esp_webrtc_defaults.h"
15+
#include "esp_peer_default.h"
1516
#include "common.h"
1617
#include <cJSON.h>
1718

@@ -515,6 +516,9 @@ int start_webrtc(void)
515516
esp_webrtc_close(webrtc);
516517
webrtc = NULL;
517518
}
519+
esp_peer_default_cfg_t peer_cfg = {
520+
.agent_recv_timeout = 500,
521+
};
518522
esp_webrtc_cfg_t cfg = {
519523
.peer_cfg = {
520524
.audio_info = {
@@ -529,6 +533,8 @@ int start_webrtc(void)
529533
.audio_dir = ESP_PEER_MEDIA_DIR_SEND_RECV,
530534
.enable_data_channel = DATA_CHANNEL_ENABLED,
531535
.on_custom_data = webrtc_data_handler,
536+
.extra_cfg = &peer_cfg,
537+
.extra_size = sizeof(peer_cfg),
532538
},
533539
.signaling_cfg.extra_cfg = OPENAI_API_KEY,
534540
.peer_impl = esp_peer_get_default_impl(),

solutions/peer_demo/main/webrtc.c

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
#include "media_lib_os.h"
1111
#include "esp_log.h"
1212
#include "esp_webrtc_defaults.h"
13+
#include "esp_peer_default.h"
1314
#include "common.h"
1415
#include "esp_timer.h"
1516
#include "esp_random.h"
@@ -164,7 +165,10 @@ static void pc_task(void *arg)
164165
static int signaling_ice_info_handler(esp_peer_signaling_ice_info_t* info, void* ctx)
165166
{
166167
if (peer == NULL) {
167-
esp_peer_cfg_t peer_cfg = {
168+
esp_peer_default_cfg_t peer_cfg = {
169+
.agent_recv_timeout = 500,
170+
};
171+
esp_peer_cfg_t cfg = {
168172
.server_lists = &info->server_info,
169173
.server_num = 1,
170174
.audio_dir = ESP_PEER_MEDIA_DIR_SEND_RECV,
@@ -181,8 +185,10 @@ static int signaling_ice_info_handler(esp_peer_signaling_ice_info_t* info, void*
181185
.on_audio_data = peer_audio_data_handler,
182186
.on_data = peer_data_handler,
183187
.ctx = ctx,
188+
.extra_cfg = &peer_cfg,
189+
.extra_size = sizeof(esp_peer_default_cfg_t),
184190
};
185-
int ret = esp_peer_open(&peer_cfg, esp_peer_get_default_impl(), &peer);
191+
int ret = esp_peer_open(&cfg, esp_peer_get_default_impl(), &peer);
186192
if (ret != ESP_PEER_ERR_NONE) {
187193
return ret;
188194
}

tools/build_all.pl

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
use Cwd qw(cwd);
2+
my %target = (
3+
"peer_demo" => [qw/esp32 esp32s3 esp32s2/],
4+
"doorbell_demo" => [qw/esp32p4 esp32s3/],
5+
"openai_demo" => [qw/esp32s3/]
6+
);
7+
8+
use Term::ANSIColor;
9+
10+
my $cur = cwd();
11+
for my $t(keys %target) {
12+
my @board = @{$target{$t}};
13+
print "Start build for $t @board\n";
14+
for (@board) {
15+
chdir("$cur/$t");
16+
`rm -rf dependencies.lock; rm -rf build; rm -rf managed_components`;
17+
`idf.py set-target $_ 2>&1;idf.py build 2>&1`;
18+
my $f = `ls build/*.elf`;
19+
if ($f =~/elf/) {
20+
print color("green"),"Build for $t target $_ success\n", color("reset");
21+
} else {
22+
print color("red"), "Fail to build for $t target $_ success\n", color("reset");
23+
}
24+
}
25+
}
26+
File renamed without changes.

0 commit comments

Comments
 (0)