Bandwidth Sharing Object

A bandwidth sharing object is used to indicate that two or more streams, regardless of their individual bit rates, will never use more than a specified amount of bandwidth between them. This is a purely informational object; the bit rates set within it are not enforced programmatically by any object of this SDK.

Bandwidth sharing information is an optional part of a profile. Bandwidth sharing objects can be created for existing bandwidth sharing information in a profile or can be created empty, ready to receive new data. Bandwidth sharing objects cannot exist independently of a profile object. To save the contents of a bandwidth sharing object, you must call IWMProfile3::AddBandwidthSharing.

To create a bandwidth sharing object, call one of the following methods.

Method Description
IWMProfile3::CreateNewBandwidthSharing Creates a bandwidth sharing object without any data.
IWMProfile3::GetBandwidthSharing Creates a bandwidth sharing object populated with data from a profile. Uses the bandwidth sharing index to identify the desired bandwidth sharing information.


Both methods in the preceding table set a pointer to an IWMBandwidthSharing interface. The IWMStreamList interface is inherited by IWMBandwidthSharing, so there is no need to call QueryInterface with this object.

The following interfaces are supported by every bandwidth sharing object.

Interface Description
IWMBandwidthSharing Manages the properties of a group of streams that will share bandwidth.
IWMStreamList Manages the list of streams that will share bandwidth.


Bandwidth Sharing

Profile Manager Object

Profile Object