Releases: millicast/millicast-sdk
Releases · millicast/millicast-sdk
6th beta version
Changelog
- Update docs to warning dev features available only in Chrome
- SVC, Simulcast and Multiopus are only available in Google Chrome.
- AV1 is available if it is returned in
getCapabilities.
- Add multiopus in capabilites in Chrome
- If the developer is in Chrome, multiopus with 6 channels is returned in
MillicastWebRTC.getCapabilities('audio').
- If the developer is in Chrome, multiopus with 6 channels is returned in
- Add support for multiopus and SVC (Scalable Video Coding)
- By default multiopus is enabled in SDP if the user is in Chrome.
- Broadcaster could choose an scalability mode if they are available from
getCapabilities.
- Unit tests
MillicastPublishandMillicastView- We tested with 100% of coverage those modules.
5th beta version
Changelog
- MillicastWebRTC events renamed
- We changed all MillicastWebRTC event names to match RTCPeerConnection events specs.
- This events are re-emmited by MillicastPublish and MillicastView
- GetCapabilities
- Now you can get browser media capabilities comparing with Millicast supported capabilities
- They are based on RTCRtpSender.getCapabilities spec but grouping all codec options in one object.
- Choose broadcast video codec
- You can change the video codec of your broadcast based on user capabilities.
- Workaround to support
AV1Xname instead ofAV1.
- Set simulcast option
- If you are using H.264 or VP8 codec, you could enable simulcast allowing viewers to adapt yourself based on their own bandwidth
- Unit testing
- We tested with 100% of coverage MillicastWebRTC
4th beta version
Changelog
- Prevention of "bad usage" of SDK.
- We changed MillicastPublish and MillicastView module constructors to receive stream name, so every instance is tied to a particular stream, preventing reuse of the same object to broadcast to other streams.
- It is in charge of the developer, call broadcast or connect function with a connection path as soon as possible before token expiration.
- There are some examples in the docs of how to use them.
- Google Cast WebRTC support
- There is an example of receiver for WebRTC in package
millicast-chromecast-receiver - The viewer demo implements a basic sender to test Google Cast support.
- There is an example of receiver for WebRTC in package
- Unit testing
- We tested with 100% of coverage MillicastDirector, MillicastLogger, MillicastSignaling and MillicastStreamEvents.
3rd beta version
Changelog
- Minor refactors
- Remove unnecessary argument from function
connectof MillicastSignaling. - Throw exception when call
onUserCountwhen MillicastStreamEvents is not constructed via builder function. - Transpile ES module to add support from ES6.
- Remove unnecessary argument from function
- Check MediaStream tracks
- Add check that media stream received from user contains no more than 1 audio and video track.
- User could supply one media stream or an array of media stream tracks.
- Replace active track
- Now you can switch an audio or video track to another when you are broadcasting.
- Unit testing
- Tests with Jest Cucumber.
- Add MillicastDirector unit tests.
2nd beta version
Changelog
-
Documentation
- All modules and events are documented with JS-docs, there are instructions in the README file of how to run it.
-
MillicastLogger
- Now we can set logger level in the browser console, if the developer exposes MillicastLogger to a window var or if the developer uses the bundled version of the SDK. You can refer to examples in SDK documentation.
- All logged objects are evaluated at “log time” and printed with current values.
- We removed Sentry from the project and we extend to developers the possibility to implement their own handler to send logs to own services.
- You can get the logger history form current session in the browser besides the logger level set. If MillicastLogger is exposed, you could access MillicastLogger.getHistory() and you’ll get all logs from TRACE level.
- By default, the logger history will store the last 10,000 logs. Also this setting could be changed using .setHistoryMaxSize()
-
MillicastStreamEvents
- This new module refers to events received via events’ WebSockets, nowadays the user count event.
- There is an example in documentation of how to add a custom listener on user count changes and also the publisher demo implements a listener to show active viewers next to LIVE badge.
-
General refactor of current modules
- Syntax refactor of all modules to comply with the current version of ECMAScript (ES11).
- We refactor MillicastPublish & MillicastView modules to stop using MillicastDirector inside their own implementation. It’s more convenient when the developer wants to have their own way of connection path acquisition but continue using basic modules to publish and subscribe to streams.