@stormstreaming/stormlibrary
Version:
A JavaScript library containing core web video player functionality for embedding live-video streams on a website. Part of StormStreaming Suite.
209 lines (140 loc) • 7.06 kB
Markdown
# Change Log
## 5.0.0
- methods "getRole()", "restart()" and "getIfAttached()" were removed,
- methods "subscribe()", "unsubscribe()", "play()" "pause()" work now asynchronously inside a task queue,
- method "attachToContainer()" now accepts both a string parameter (an id of a container) or HTMLElement reference,
- new method "updateToSize()" was added, it will force library to resize inside current container,
- mechanism for auto-scaling to parent container was greatly improved,
- parameter "connectionType" was dropped, as gateway is the only available connection type now,
- library can be auto-initialized though additional parameter in the constructor,
- event "playerCoreReady" was renamed to "playerReady", it'll fire now directly after initialize method is executed,
- mute/unmute logic has been changed. Library will mute playback only if specified by the configuration or forced by a browser,
- muted parameter was added to volume settings,
- getSourceList method was renamed to getSourceItemList,
- playSource method was renamed to playSourceItem,
- library will not utilize cookie API anymore, localStorage is now being used instead,
- library size was reduced by over 40%,
- StreamInfo object now contains new field called "monogram", which is assigned based on a video resolution (e.g. "sd", "hd", "2k")
- serverConnect, serverDisconnect & serverConnectionError events now include "sequenceNum" parameter which tells which connection sequence it is
- getStreamState() and getPlaybackState() use separate sets of enums,
- new event qualityListUpdate was added,
- new event containerChange was added,
- new method getQualityItemList() was added,
- new method playQualityItem(qualityID:number) was added,
- new method makeScreenshot() was added,
- new method getServerInfo() was added,
- change in volume mechanics - setting volume to 0 will automatically trigger mute,
- buffer and bandwidth data can now be accessed though methods "getBandwidthAnalyser()", "getBandwidthMeter()" and "getBufferAnalyser()",
- dynamic graphs can now be spawned using "createBufferGraph()", "createBandwidthGraph()" and "createBufferStabilityGraph()",
- quality control modes were added to the library, these can be controlled via "getQualityControlMode()" & "setQualityControlMode(...)",
- new stylised console logs were added for Stage, Playback & Quality controllers,
- JSDoc is now included in types,
- Dedicated test page (index.html) to allow familiarization with the library API.
## 4.4.0
- "streamKey" parameter is now optional and player can be initialized and connected to a server without defined streamKey,
- "containerID" parameter is now also optional, player can be initialized without a container,
- new method called "attachToContainer" was added,
- new method called "detachFromContainer" was added,
- new method called "getIfAttached" was added,
## 4.3.0
- "Gateway" connection-type is now the default one, and the field connetionType i now optional,
- resizing mechanizm was updated,
## 4.2.0
- The library will now react if a stream is created, even if it did not exist earlier on a server,
- Minor improvements to WebSocket engine,
## 4.1.2
- All samples and documentation wa modified to use "gateway" configuration,
- License header was updated,
## 4.1.1
- Minor improvements for Cloud data pooling,
## 4.1.0
- Library will now report info regarding latency back to server,
- General improvements to MSE/MMS playback,
## 4.0.5
- Minor improvements to quality change & ABR,
## 4.0.4
- New methods - isConnected & isAuthorized were added to the API,
- Method name - gatewayRequest was replaces with subscribe method (it also provides auto-play functionality),
## 4.0.3
- New methods - isConnected & isAuthorized were added to the API,
## 4.0.2
- Bug fix for restoring library after a tab freeze,
- Bug fix for wrong return type for getStreamConfig,
## 4.0.1
- Bug fix for source list update event,
## 4.0.0
- Native mobile FullScreen mode as option,
- New events and event-name changes,
- New MediaSource and LL-HLS internal players,
- Gateway embed method was redesigned (works much faster now),
- New communication protocol for Storm Streaming Server (version 3.0),
- Support for optional parameters,
- Playback states for better player control,
- Stream states for even better player control,
- Changes in API,
- ManagedMediaSource has replaced LL-HLS on iOS 17+,
## 3.0.0
- Library was upgraded to Node 20.3.1,
- Standardization of event names and API methods,
- Change in the mechanics of some events,
- In the stream settings, the application has been moved to the server section,
- New embed code formula for Gateway connection type,
- New communication protocol for Storm Streaming Server (version 2.0),
- Player width & height can now be expressed as % value or px,
- Aspect-ratio parameter was added,
This version of the Storm Library is only compatible with Storm Streaming v.2.0.0 and above.
## 2.2.3
- Improved memory management for video object (small RAM usage for long streaming sessions),
## 2.2.2
- Small fix removing liveupdate component from the library (reduced size),
## 2.2.1
- Incorrect config types were fixed,
- Missing streamInfo type was added,
- Missing restartOnFocus parameter type was added,
## 2.2.0
- New optional parameter for Settings section called "restartOnFocus" was added,
- Pause/Play mechanism has been alerted slightly for DVR functionality,
## 2.1.4
- Improved event reporting for VolumeChange and Mute on/off,
- Improved seek mechanism (DVR),
- Timeout for all connections has been added,
## 2.1.3
- Improved documentation and samples,
## 2.1.2
- Small improvements in resizing module,
## 2.1.1
- PlayerState bug on quality change was fixed,
## 2.1.0
- All end-point config options received setters,
## 2.0.1
- Bug with isInitialized() method returning false after the event was fixed,
## 2.0.0
- Dedicated bundles for UMD, AMD, CJS, ESM, IIFE are now available,
- Improved typings for TypeScript,
- Expanded Readme.md,
- Sample configurations are now included,
Please keep in mind that this build is not compatible with previous releases. While API/Events are the same, creating
a library instance is different depending on the used module type.
## 1.2.1
- Bug with HLS connection timeout was fixed,
## 1.2.0
- Improved support for Facebook/Messenger browser,
- "play" method received a parameter allowing for "force" start,
- A small bug in "destroy" method was fixed (not all connections were terminated)
## 1.1.0
- Improved latency management for iOS,
- Support for NVENC was added,
- WebRTC Streamer (beta) was added to the player
## 1.0.0
- Small improvements to license error-handling,
## 0.9.4
- Minor changes to the package.json,
## 0.9.3
- TypeScript types were added to the project,
## 0.9.2
- Minor changes to the project structure,
## 0.9.1
- Minor fixes to the video-scaling system,
- Stream label can be acquired before "start" command,
## 0.9.0
The first public version of the library. This is a beta version,