Storm docs logo
Search the docs.../
Explore Storm Products

Player Core Events - Storm JS Player Core

Here is a list of all events emitted by the Player Core object along with their descriptions.

Event nameAdditional dataDescriptionCan be fired more than once?
serverConnectionInitiateserverURL:stringFired when a player instance initiates a connection with a Storm Streaming Server/Cloud instance.yes (once per connection)
serverConnectserverURL:stringTriggered when a player instance successfully establishes a connection with a Storm Streaming Server/Cloud instance.yes (once per connection)
serverDisconnectserverURL:stringCalled when a player instance is disconnected from the Storm Streaming Server/Cloud (after a connection was previously established), which may occur due to viewer networking issues or Storm Streaming Server/Cloud problems.yes (once per connection)
serverConnectionRestartisSilent:booleanFired whenever a player instance needs to restart a connection with a Storm Streaming Server/Cloud instance.yes (once per connection)
serverConnectionErrorserverURL:stringTriggered when a player instance fails to establish a connection with a Storm Streaming Server/Cloud instance, possibly due to networking issues. If there are additional servers on the configuration list and the "restartOnError" parameter is set to true, the player will attempt to connect to a different server instead.yes (once per connection)
allConnectionsFailednoAssociated with serverConnectionError. If a player instance is unable to connect to any of the servers provided in the configuration list, this event indicates that no further action can be taken.no
playerReadynoTriggered when a player instance is initialized via the initialize() method.no
compatibilityErrornoTriggered if a browser or device does not support any of the provided sources. Please note that the player will attempt all possible measures (switching between various modes) to ensure maximum compatibility with a given device. However, there may be instances where it is simply impossible to initiate a video.yes
interactionRequirednoCertain browsers and devices do not permit a video element to initiate on its own and necessitate direct user interaction, such as a mouse click or a touch gesture. This event signifies that such an engagement is required.no
SSLErrornoTriggered if an SSL layer is required for specific sources and the browser does not provide it.no
videoElementCreatevideoElement:HTMLVideoElementTriggered whenever a video element within a player instance is either created or recreated.no
authorizationErrornoFired when a player instance fails to authorize with a server application on a Storm Streaming Server/Cloud instance (e.g., incorrect token).yes
authorizationCompletenoCalled when a player instance successfully authorizes with a server application on a Storm Streaming Server/Cloud instance.yes
invalidLicensenoFired whenever a Storm Streaming Server/Cloud license expires.no
streamConfigChangenewConfig:StormStreamConfigNotifies that basic stream configuration has been updated.yes
subscriptionStartstreamKey:stringFired when a subscription request is initiated.yes
subscriptionCompletestreamKey:string, sourceList:ISourceItem[]Fired when a subscription request is completed.yes
subscriptionFailedstreamKey:stringNotifies that a subscription request has failed.yes
containerChangecontainer:HTMLElement | nullFired whenever a player is detached or attached to a new container.yes
resizeUpdatewidth:number, height:numberTriggered when the video size is changed or updated.yes
playbackRequeststreamKey:stringIndicates that a request for a stream playback has been created.yes (once per video)
playbackInitiatenoFired whenever a playback of a stream is successfully requested from a Storm Streaming Server/Cloud instance.yes (once per video)
playbackStartnoNotifies that video playback has started (video is now playing).yes
playbackPausenoNotifies that video playback has been paused (due to end-user or system interaction).yes
playbackProgressplaybackStartTime:number, playbackDuration:number, streamStartTime:number, streamDuration:number, dvrCacheSize:numberInforms on video progress, stream/playback start-time, stream/playback duration and nDVR cache size.yes
playbackStateChangestate:PlaybackStateInforms on video playback state change.yes
streamStateChangestate:StreamStateNotifies that stream state has changed (stream state always refers to the original stream on a server).yes
streamStopnoCalled when the stream is closed on the server side (usually it means that the broadcaster has stopped streaming, or stream was unpublished).yes
streamNotFoundnoCalled whenever a stream with a specific name was not found on the server (this includes hibernated streams or sub-streams).yes (once per video)
streamMetadataUpdatemetadata:StreamMetadataInforms of metadata arrival for current video. MetaData contains information about stream codecs, width, height, bitrate, etc.yes
bufferingStartnoIndicates that video content is being readied for playback. The video buffer must fill in order for the video to start.yes
bufferingCompletenoIndicates that the buffer is full and playback is about to start.yes
volumeChangevolume:number, muted:boolean, invokedBy:user | browserNotifies that video volume was changed (either its value was changed, or video was muted/un-muted).yes
playbackErrornoIndicates that there was a problem with the playback (it usually means that the browser was not able to play a source material due to malformed bitcode).yes (once per video)
fullScreenEnternoFired whenever a player instance enters browser fullscreen mode (either native or overlay type).yes
fullScreenExitnoFired whenever a player instance exits fullscreen mode (either native or overlay type).yes
qualityListUpdatequalityList:QualityItem[]Fired whenever a list of available qualities (substreams) is updated.yes
sourceDowngradebandwidthCap:numberFired when the video source is downgraded due to bandwidth limitations.yes

Objects & Enums

PlaybackState Enum

ValueDescription
INITIALIZEDComponent has been initialized.
PLAYINGStream is playing.
BUFFERINGStream is buffering.
PAUSEDStream was paused by user or a browser.
STOPPEDStream has been stopped.
UNKNOWNUnknown state.

StreamState Enum

ValueDescription
NOT_INITIALIZEDStream has not been initialized.
INITIALIZEDStream has been initialized.
NOT_FOUNDStream has not been found.
AWAITINGStream exists, but there is no data yet.
NOT_PUBLISHEDStream exists, but hasn't been published.
PUBLISHEDStream exists and it's published (can stream).
UNPUBLISHEDStream exists, but has been unpublished.
STOPPEDStream existed, but has been stopped (server-side).
CLOSEDStream existed, but has been removed (server-side).
UNKNOWNStream status is unknown (there is no connection to the server).
ERRORError while retrieving stream status.

StreamMetadata Object

FieldReturn ValueDescription
videoWidthnumberWidth of the video frame in pixels.
videoHeightnumberHeight of the video frame in pixels.
videoTimeScalenumberTime unit for video timestamps, typically expressed in Hz.
constantFrameRatebooleanIndicates whether the video stream has a constant frame rate (true) or variable frame rate (false).
videoDataRatenumberBit rate of the video stream expressed in bits per second (bps).
frameRatenumberNumber of frames per second in the video stream.
encoderstringName of the software or hardware encoder used to encode the video stream.
videoCodecstringCodec used for video compression (e.g., H.264, H.265, VP9).
audioCodecstringCodec used for audio compression (e.g., AAC, MP3, Opus).
audioChannelsnumberNumber of audio channels in the stream (e.g., 2 for stereo, 6 for 5.1 surround).
audioSampleRatenumberAudio sampling rate expressed in Hz (e.g., 44100, 48000).
audioSampleSizenumberBit depth of audio samples (e.g., 16, 24, 32).
audioDataRatenumberBit rate of the audio stream expressed in bits per second (bps).

QualityItem Object

FieldReturn ValueDescription
idnumberReturns the quality item ID, which can later be used to activate this particular quality.
labelstringReturns the quality label, which consists of the vertical resolution and "p", e.g., "1080p".
monogramstringReturns the monogram for this quality based on its resolution, e.g., "LQ", "SD", "HD", "FH", "2K", "4K".
isAutobooleanReturns true if this quality item is of the auto type.
Next Step

For the next step please check our Storm JS Player Core - API Methods where you'll learn about available API methods.

Blog
Support
About us
Patents
Term of use
Privacy policy
Contact
©2026 Storm Streaming Media. All Rights Reserved.