Copyright © 2009-2010 Collabora Ltd. Copyright © 2009-2010 Nokia Corporation

This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.

This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.

(draft 1) One stream inside a Content.DRAFT. Set the stream to start or stop sending media from the local user to other contacts.

If True, the LocalSendingState should change to Sending_State_Sending, if it isn't already.

If False, the LocalSendingState should change to Sending_State_None, if it isn't already.

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.

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.

The request contact is valid but is not involved in this stream. The protocol does not allow the local user to request the other side starts sending on this stream.
renamed from SendersChanged to MembersChanged renamed from MembersChanged to RemoteMembersChanged Emitted when RemoteMembers changes. A mapping from channel-specific handles to their updated sending state, whose keys include at least the members who were added, and the members whose states changed. The channel-specific handles that were removed from the keys of the RemoteMembers property, as a result of the contact leaving this stream Emitted when LocalSendingState changes. The new value of LocalSendingState. Enum indicating whether a contact is sending media. The contact is not sending media and has not been asked to do so. The contact has been asked to start sending media. The contact is sending media. The contact has been asked to stop sending media. A map from a contact to his or her sending state. The contact handle. The sending state of the contact.

Extra interfaces provided by this stream, such as Stream.Interface.Media.DRAFT. This SHOULD NOT include the Stream interface itself, and cannot change once the stream has been created.

renamed from Senders

A map from remote contacts to their sending state. The local user's sending state is shown in LocalSendingState.

Sending_State_Pending_Send indicates that another contact has asked the local user to send media.

Other contacts' handles in this map indicate whether they are sending media to the contacts in 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. 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.

Implementations of the first Call draft had the self handle in the RemoteMembers (then called Members) map and this showed that it's annoying having to keep track of the self handle so that it can be special-cased.

A value of Sending_State_Pending_Send for this property indicates that the other side requested the local user start sending media, which can be done by calling SetSending. When a call is accepted, all initial contents with streams that have a local sending state of Sending_State_Pending_Send are automatically set to sending. For example, on an incoming call it means you need to Accept to start the actual call, on an outgoing call it might mean you need to call Accept before actually starting the call.

If true, the user can request that a remote contact starts sending on this stream.

Not all protocols allow the user to ask the other side to start sending media.