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) This object represents one Content inside a Call.DRAFT. For example, in an audio/video call there would be one audio content and one video content. Each content has one or more Stream.DRAFT objects which represent the actual transport to one or more remote contacts. A representation of the reason for a content to be removed, which may be used by simple clients, or used as a fallback when the DBus_Reason is not understood. This enum will be extended with future reasons as and when appropriate, so clients SHOULD keep up to date with its values, but also be happy to fallback to the Unknown value when an unknown value is encountered. We just don't know. Unknown values of this enum SHOULD also be treated like this.

The local user requests that this content is removed from the call.

There is an error with the content which means that it has to be removed from the call.

Some aspect of the content is unsupported so has to be removed from the call.

previously there were no arguments Remove the content from the call. A generic hangup reason. A more specific reason for the content removal, if one is available, or an empty string. A human-readable message for the reason of removing the content, such as "Fatal streaming failure" or "no codec intersection". This property can be left empty if no reason is to be given. Raised when a Call doesn't support removing contents (e.g. a Google Talk video call).

Emitted when the content is removed from the call. This is the same as the Call.DRAFT.ContentRemoved signal.

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

The name of the content.

The content name property should be meaningful, so should be given a name which is significant to the user. The name could be the "audio" or "video" string localized, or perhaps include some string identifying the source, such as a webcam identifier.

The media type of this content.

The disposition of this content, which defines whether to automatically start sending data on the streams when Call.DRAFT is called on the channel. The content has no specific disposition

The content was initially part of the call. When Accept is called on the channel, all streams of this content with LocalSendingState set to Sending_State_Pending_Send will be moved to Sending_State_Sending as if SetSending (True) had been called.

The disposition of this content. plural version, renamed from StreamAdded

Emitted when streams are added to a call.

The Stream.DRAFTs which were added.
plural version, renamed from StreamRemoved

Emitted when streams are removed from a call

The Stream.DRAFTs which were removed.

The list of Stream.DRAFT objects that exist in this content.

In a conference call multiple parties can share one media content (say, audio), but the streaming of that media can either be shared or separate. For example, in a multicast conference all contacts would share one stream, while in a Muji conference there would be a stream for each participant.

Change notification is through the StreamsAdded and StreamsRemoved signals.