Using Bandwidth Sharing

[The feature associated with this page, Windows Media Format 11 SDK, is a legacy feature. It has been superseded by Source Reader and Sink Writer. Source Reader and Sink Writer have been optimized for Windows 10 and Windows 11. Microsoft strongly recommends that new code use Source Reader and Sink Writer instead of Windows Media Format 11 SDK, when possible. Microsoft suggests that existing code that uses the legacy APIs be rewritten to use the new APIs if possible.]

You can use bandwidth sharing objects to specify that certain streams, when combined, will not use more bandwidth than specified. The information in a bandwidth sharing object is not generated or verified by the writer nor used by the reader for anything.

When a file is written that has bandwidth sharing information in its profile, the data is stored in its header section. You can use the IWMProfile interface in the reader to check for bandwidth sharing information when the file is played.

Each bandwidth sharing object is defined by two settings. First is the bandwidth, as defined by a bandwidth and a buffer window. The second setting is a bandwidth sharing type, which can be either exclusive or partial. Exclusive bandwidth sharing means that the constituent streams are played back one at a time, while partial means the streams are delivered concurrently.

IWMProfile Interface

IWMProfile3::AddBandwidthSharing

IWMProfile3::CreateNewBandwidthSharing

IWMProfile3::GetBandwidthSharing

IWMProfile3::GetBandwidthSharingCount

Working with Profiles