
Security News
Meet Socket at Black Hat Europe and BSides London 2025
Socket is heading to London! Stop by our booth or schedule a meeting to see what we've been working on.
@akkadu/rtc-streamer-base
Advanced tools
To understand the larger context where this module operates, if you are not already familiar, take a look at our Agora RTC documentation [here](https://www.notion.so/akkadu/Agora-RTC-6f6935c5b3be40b08ec33251d8334ca4)
To understand the larger context where this module operates, if you are not already familiar, take a look at our Agora RTC documentation here
This module is the base of all the RTC modules and provides common functionalities and initialization methods for an Agora client.
The tasks that the base is supposed to accomplish:
support.jsThis module expects a certain type of publisher data to be given when initialized. This data
is based upon a return of the streams api, however
the data is not in a good format, and it is then reformatted in the function parsePublishers
to a format of:
{
'en-US':['stream-1', 'stream-2', 'stream-x']
}
which can then be accessed via this.baseConfig.publishers in this class and classes extending it.
The module is a javascript ESM class and is as of now published as-is. This is so that we can worry about bundling and babelifying the module separately in one place, namely our webapp repository.
This module is not meant to be used directly by itself, but via proxies like rtc-streamer-consumer and producer which extend this base classes functionality.
The main points of using and extending this is to:
validator.js implements the proper checks and throws an error in the case of invalid config.checkDeviceSupportawait this.clientInitialized.To simplify usage in the frontend and to make it easier to have consistent behavior with Agora's inconsistent streaming module all communication is done through emits.
This means that when you call a method you should expect a corresponding emit to be fired from the streamer. To see what emits functions are sending see index.d.ts file or use intellisense's documentation user @fires point
Documentation
Implementation
Tests
Build yarn build
Run Tests yarn test
There are two ways of development, you can either develop inside the repository using the rtc-test-server module or follow the instructions here to export this module outside the repository
FAQs
To understand the larger context where this module operates, if you are not already familiar, take a look at our Agora RTC documentation [here](https://www.notion.so/akkadu/Agora-RTC-6f6935c5b3be40b08ec33251d8334ca4)
The npm package @akkadu/rtc-streamer-base receives a total of 3 weekly downloads. As such, @akkadu/rtc-streamer-base popularity was classified as not popular.
We found that @akkadu/rtc-streamer-base demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Socket is heading to London! Stop by our booth or schedule a meeting to see what we've been working on.

Security News
OWASP’s 2025 Top 10 introduces Software Supply Chain Failures as a new category, reflecting rising concern over dependency and build system risks.

Research
/Security News
Socket researchers discovered nine malicious NuGet packages that use time-delayed payloads to crash applications and corrupt industrial control systems.