Specifies a stream. A stream is a representation of a published stream in a session. When a
client calls the Session.publish() method, a new stream is
created. Properties of the Stream object provide information about the stream.
When a stream is added to a session, the Session object dispatches a
streamCreatedEvent
. When a stream is destroyed, the Session object dispatches a
streamDestroyed
event. The StreamEvent object, which defines these event objects,
has a stream
property, which is an array of Stream object. For details and a code
example, see StreamEvent.
When a connection to a session is made, the Session object dispatches a
sessionConnected
event, defined by the SessionConnectEvent object. The
SessionConnectEvent object has a streams
property, which is an array of Stream
objects pertaining to the streams in the session at that time. For details and a code example,
see SessionConnectEvent.
Properties
Name | Type | Description |
---|---|---|
connection |
Connection | The Connection object corresponding
to the connection that is publishing the stream. You can compare this to the
connection property of the Session object to see if the stream is being published
by the local web page. |
creationTime |
Number | The timestamp for the creation
of the stream. This value is calculated in milliseconds. You can convert this value to a
Date object by calling new Date(creationTime) , where creationTime is
the creationTime property of the Stream object. |
frameRate |
Number | The frame rate of the video stream. This property is only set if
the publisher of the stream specifies a frame rate when calling the
OT.initPublisher() method; otherwise, this property is undefined. |
hasAudio |
Boolean | Whether the stream has audio. This property can change if the
publisher turns on or off audio (by calling
Publisher.publishAudio()). When this occurs, the
Session object dispatches a streamPropertyChanged event (see
StreamPropertyChangedEvent). |
hasVideo |
Boolean | Whether the stream has video. This property can change if the
publisher turns on or off video (by calling
Publisher.publishVideo()). When this occurs, the
Session object dispatches a streamPropertyChanged event (see
StreamPropertyChangedEvent). |
initials |
String | The initials for the stream. Publishers can specify the initials
to be displayed when the video is disabled.
(See the initials property of the properties parameter passed
into the OT.initPublisher() method.) |
name |
String | The name of the stream. Publishers can specify a name when publishing
a stream (using the publish() method of the publisher's Session object). |
streamId |
String | The unique ID of the stream. |
videoDimensions |
Object | This object has two properties: width and
height . Both are numbers. The width property is the width of the
encoded stream; the height property is the height of the encoded stream. (These
are independent of the actual width of Publisher and Subscriber objects corresponding to the
stream.) This property can change if a stream published from a mobile device resizes, based on
a change in the device orientation. When the video dimensions change,
the Session object dispatches a streamPropertyChanged event
(see StreamPropertyChangedEvent). |
videoType |
String | The type of video — either "camera" ,
"screen" , or "custom" .
A "screen" video uses screen sharing on the publisher
as the video source; for other videos, this property is set to "camera" .
A "custom" video uses a VideoTrack element as the video source on the publisher.
(See the videoSource property of the options parameter passed
into the OT.initPublisher() method.)
The videoType is undefined when a stream is voice-only
(see the Voice-only guide).
This property can change if a stream published from a mobile device changes from a
camera to a screen-sharing video type. When the video type changes, the Session object
dispatches a streamPropertyChanged event (see StreamPropertyChangedEvent). |