Methods
SetSending | (b: Send) | → | nothing | |
RequestReceiving | (u: Contact, b: Receive) | → | nothing |
Signals
RemoteMembersChanged | (a{uu}: Updates, a{us}: Identifiers, au: Removed, (uuss): Reason) | |
LocalSendingStateChanged | (u: State, (uuss): Reason) |
Properties
Interfaces | as ( DBus_Interface_List) | Read only | Immutable | |
RemoteMembers | a{uu} ( Contact_Sending_State_Map) | Read only | ||
RemoteMemberIdentifiers | a{us} ( Handle_Identifier_Map) | Read only | ||
LocalSendingState | u ( Sending_State) | Read only | ||
CanRequestReceiving | b | Read only | Immutable |
Types
Sending_State | Enum | u | |
Contact_Sending_State_Map | Mapping | a{uu} |
Description
One stream inside a Content. A stream is a single flow of packets to and from a single remote endpoint. If your call connects to multiple people, you could have multiple streams.
For protocols that support muting streams separately, this object MAY also implement the Mute interface
Methods
SetSending (b: Send) → nothing
Parameters
- Send — b
If True, the LocalSendingState should change to Sending, if it isn't already.
If False, the LocalSendingState should change to None, if it isn't already.
Possible Errors
- Not Implemented
- Not Yet
RequestReceiving (u: Contact, b: Receive) → nothing
Parameters
- Contact — u (Contact_Handle)
- Receive — b
Contact from which sending is requested
If true, request that the given contact starts to send media. If false, request that the given contact stops sending media.
Request that a remote contact stops or starts sending on this stream.
The CanRequestReceiving property defines whether the protocol allows the local user to request the other side start sending on this stream.
Possible Errors
- Invalid Handle
- Invalid Argument
- Not Implemented
Signals
RemoteMembersChanged (a{uu}: Updates, a{us}: Identifiers, au: Removed, (uuss): Reason)
Parameters
- Updates — a{uu} (Contact_Sending_State_Map)
- Identifiers — a{us} (Handle_Identifier_Map)
- Removed — au (Contact_Handle_List)
- Reason — (uuss) (Call_State_Reason)
LocalSendingStateChanged (u: State, (uuss): Reason)
Parameters
- State — u (Sending_State)
- Reason — (uuss) (Call_State_Reason)
Properties
Interfaces — as (DBus_Interface_List)
Extra interfaces provided by this stream, such as Stream.Interface.Media. This SHOULD NOT include the Stream interface itself, and cannot change once the stream has been created.
RemoteMembers — a{uu} (Contact_Sending_State_Map)
A map from remote contacts to their sending state.
Media sent to this stream will be sent to all members listed here. All members listed here will also appear in CallMembers, and each CallMembers member will be listed in at most one Stream per Content. Therefore, to hide things from a member of the call, UIs only need to mute one Stream per Content.
Contacts' handles in this map indicate whether they are sending media to this stream. Sending_State_Pending_Send indicates contacts who are not sending but have been asked to do so. The local user's sending state is shown in LocalSendingState.
This mapping is also used by the streaming implementation to map from MediaDescriptions to Streams. In this use-case, all of the senders in this stream will be represented in RemoteMediaDescriptions. This use-case should not affect anything that does not handle media streaming.
RemoteMemberIdentifiers — a{us} (Handle_Identifier_Map)
LocalSendingState — u (Sending_State)
The local user's sending state. Media sent on this stream should be assumed to be received, directly or indirectly, by every other contact in the RemoteMembers mapping. Change notification is given via the LocalSendingStateChanged signal.
Rationale:
A value of Pending_Send for this property indicates that the other side requested the local user start sending media (which can be done by calling either SetSending or Accept).
When Accept is called, all streams with a local sending state of Pending_Send and the associated Disposition set to Initial are automatically set to sending.
CanRequestReceiving — b
If true, the user can request that a remote contact starts sending on this stream.
Rationale:
Types
Sending_State — u
- None (0)
- Pending_Send (1)
- Sending (2)
- Pending_Stop_Sending (3)
Contact_Sending_State_Map — a{uu}
- Contact — u (Contact_Handle)
- Sending — u (Sending_State)