Skip to content

Conversation

@mourenZhu
Copy link
Contributor

libdatachannel is an open-source software library
implementing WebRTC Data Channels, WebRTC Media Transport, and WebSockets. Details about oom_score can be obtained at https://github.com/paullouisageneau/libdatachannel/blob/master/README.md

📦 Package Details

Maintainer: @
(You can find this by checking the history of the package Makefile.)

Description:

libdatachannel is a standalone implementation of WebRTC Data Channels, WebRTC Media Transport, and WebSockets in C++ with C bindings for multiple platforms, including GNU/Linux, Android, FreeBSD, Apple macOS, iOS, and Microsoft Windows. WebRTC is a W3C and IETF standard enabling real-time peer-to-peer data and media exchange between two devices.


🧪 Run Testing Details

  • OpenWrt Version: OpenWrt 24.10.2 r28739-d9340319c6 / LuCI openwrt-24.10 branch 25.168.50434~d6b13f6
  • OpenWrt Target/Subtarget:mediatek/filogic
  • OpenWrt Device:Xiaomi Redmi Router AX6000 (OpenWrt U-Boot layout)

✅ Formalities

  • I have reviewed the CONTRIBUTING.md file for detailed contributing guidelines.

If your PR contains a patch:

  • It can be applied using git am
  • It has been refreshed to avoid offsets, fuzzes, etc., using
    make package/<your-package>/refresh V=s
  • It is structured in a way that it is potentially upstreamable
    (e.g., subject line, commit description, etc.)
    We must try to upstream patches to reduce maintenance burden.

Copy link
Member

@BKPepe BKPepe left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have a question that I couldn’t find an answer to in the commit: what is the purpose of this library on an OpenWrt device? How can it be useful? Do you plan to add something that will make use of it? Also, what’s the size of the library?

Comment on lines 49 to 81
define Package/libdatachannel/install
$(INSTALL_DIR) $(1)/usr/lib
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libdatachannel.so* $(1)/usr/lib/
endef
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What about ABI versioning?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

updated so that it will not conflict with ABI versioning

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I still dont see that there is ABI_VERSION.

Comment on lines 20 to 55
define Package/libdatachannel
SECTION:=libs
CATEGORY:=Libraries
TITLE:=libdatachannel
URL:=https://libdatachannel.org/
DEPENDS:=+libstdcpp +libopenssl +libsrtp2
endef
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Here should be indentation as two spaces instead of tab.

@mourenZhu
Copy link
Contributor Author

I have a question that I couldn’t find an answer to in the commit: what is the purpose of this library on an OpenWrt device? How can it be useful? Do you plan to add something that will make use of it? Also, what’s the size of the library?

Libdatachannel is useful for enabling real-time audio and video transmission on edge devices that run OpenWrt, such as for video conferencing, real-time AI voice applications, and similar scenarios. The size of the library is 2.4 MB. Currently, I don’t have any plans to develop applications based on libdatachannel.

@BKPepe
Copy link
Member

BKPepe commented Oct 8, 2025

Okay, I understand that the library can serve various purposes, but how exactly do you plan to use it with OpenWrt? Surely there must be some application that will make use of it. Right now, it seems to me that we’re adding the library without actually using it anywhere.

@mourenZhu
Copy link
Contributor Author

Okay, I understand that the library can serve various purposes, but how exactly do you plan to use it with OpenWrt? Surely there must be some application that will make use of it. Right now, it seems to me that we’re adding the library without actually using it anywhere.

For example, a program using the libdatachannel library could communicate with OpenAI's Realtime API (which uses WebRTC), allowing an OpenWrt device to receive audio input from a user and interact with AI services. While there isn’t a current application using libdatachannel on OpenWrt, I added this package to prepare for possible future use cases. If you think the library is not needed at the moment, I understand and will close this pull request.

libdatachannel is an open-source software library
implementing WebRTC Data Channels, WebRTC Media Transport,
and WebSockets. Details about score can be obtained at
https://github.com/paullouisageneau/libdatachannel/blob/master/README.md

Signed-off-by: Biao Zhu <[email protected]>
@1715173329
Copy link
Member

Just my 2 cents, I don't want to accept a library without users. We have such examples in the past and many of them ended up unmaintained.

Copy link
Member

@BKPepe BKPepe left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There are only a few comments you can check if you want, but as three people (including myself, @GeorgeSapkin, and @1715173329) have already raised concerns about the usefulness of this library, I’m afraid I’ll have to close this pull request.

PKG_LICENSE_FILES:=LICENSE
PKG_MAINTAINER:=Biao Zhu <[email protected]>

PKG_BUILD_PARALLEL:=1
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is default as I was told by @1715173329 if you are using cmake. So it can be dropped.

endchoice
endef

SSL_DEPENDS:=+libopenssl
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I dont think that we need to have custom SSL variable. You might want to look how it is done in other Makefiles in this repo.

Comment on lines 49 to 81
define Package/libdatachannel/install
$(INSTALL_DIR) $(1)/usr/lib
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libdatachannel.so* $(1)/usr/lib/
endef
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I still dont see that there is ABI_VERSION.

@BKPepe BKPepe closed this Oct 11, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants