Skip to content

Commit 91790f1

Browse files
Create DataChannel by default
1 parent 87f96f7 commit 91790f1

File tree

1 file changed

+17
-1
lines changed

1 file changed

+17
-1
lines changed

src/webrtc.cpp

+17-1
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,18 @@ void oai_send_audio_task(void *user_data) {
2525
}
2626
#endif
2727

28+
static void oai_ondatachannel_onmessage_task(char *msg, size_t len,
29+
void *userdata, uint16_t sid) {
30+
ESP_LOGI(LOG_TAG, "DataChannel Message: %s", msg);
31+
}
32+
33+
static void oai_ondatachannel_onopen_task(void *userdata) {
34+
if (peer_connection_create_datachannel(peer_connection, DATA_CHANNEL_RELIABLE,
35+
0, 0, (char *)"", (char *)"") == -1) {
36+
ESP_LOGE(LOG_TAG, "Failed to create DataChannel");
37+
}
38+
}
39+
2840
static void oai_onconnectionstatechange_task(PeerConnectionState state,
2941
void *user_data) {
3042
ESP_LOGI(LOG_TAG, "PeerConnectionState: %s",
@@ -56,7 +68,7 @@ void oai_webrtc() {
5668
.ice_servers = {},
5769
.audio_codec = CODEC_OPUS,
5870
.video_codec = CODEC_NONE,
59-
.datachannel = DATA_CHANNEL_NONE,
71+
.datachannel = DATA_CHANNEL_STRING,
6072
.onaudiotrack = [](uint8_t *data, size_t size, void *userdata) -> void {
6173
#ifndef LINUX_BUILD
6274
oai_audio_decode(data, size);
@@ -78,6 +90,10 @@ void oai_webrtc() {
7890
peer_connection_oniceconnectionstatechange(peer_connection,
7991
oai_onconnectionstatechange_task);
8092
peer_connection_onicecandidate(peer_connection, oai_on_icecandidate_task);
93+
peer_connection_ondatachannel(peer_connection,
94+
oai_ondatachannel_onmessage_task,
95+
oai_ondatachannel_onopen_task, NULL);
96+
8197
peer_connection_create_offer(peer_connection);
8298

8399
while (1) {

0 commit comments

Comments
 (0)