Share via


IWMSBroadcastPublishingPoint Interface

You can use the IWMSBroadcastPublishingPoint interface to configure and run a broadcast publishing point.

In addition to the methods inherited from the IWMSPublishingPoint interface, the IWMSBroadcastPublishingPoint interface exposes the following methods.

Method

Description

Announce

Updates the publishing points multicast configuration with data formats that have been added to the IWMSAnnouncementStreamFormatsIWMSAnnouncementStreamFormats Interface.

AnnounceToNSCFile

Creates a multicast announcement (.nsc) file that is required for a client to connect to a multicast broadcast.

AnnounceToNSCStream

Retrieves an IStream interface that contains a file stream that can be used by a client to receive and render a broadcast.

ExportXML

Creates an XML file that contains publishing point configuration data.

get_AllowClientToStartandStop

Retrieves a Boolean value that indicates whether a stopped publishing point can be started when a client tries to receive a broadcast from it.

get_AllowStreamSplitting

Retrieves a Boolean value that indicates whether the stream can be split.

get_AnnouncementStreamFormats

Retrieves an IWMSAnnouncementStreamFormatsIWMSAnnouncementStreamFormats Interface that contains a collection of names of media files whose formats are used in a multicast broadcast.

get_BroadcastDataSinks

Retrieves an IWMSPluginsIWMSPlugins Interface that contains a collection of broadcast data sink plug-ins that can be used to send content to a client.

get_BroadcastStatus

Retrieves an enumeration value that indicates the status of the broadcast publishing point.

get_BufferSetting

Retrieves a member of the WMS_BUFFER_SETTING enumeration type that indicates the amount of buffering that is done on a broadcast sink.

get_SharedPlaylist

Retrieves an IWMSPlaylistIWMSPlaylist Interface for the broadcast publishing point.

get_UpTime

Retrieves the elapsed time, in seconds, that the publishing point has been running.

put_AllowClientToStartAndStop

Specifies a Boolean value that indicates whether a stopped publishing point can be started when a client tries to receive a broadcast from it.

put_AllowStreamSplitting

Specifies a Boolean value that indicates whether the stream can be split.

put_BufferSetting

Specifies a member of the WMS_BUFFER_SETTING enumeration type that indicates the amount of buffering that is done on a broadcast sink.

Start

Starts the broadcast publishing point.

StartArchive

Begins saving the streamed content to a file.

StartWithoutData

Initializes the publishing point and sends multicast beacons that enable clients to connect to a multicast when no content is being streamed.

Stop

Stops the broadcast publishing point.

StopArchive

Stops archiving the content streamed by the publishing point.

Example

The following example illustrates how to retrieve a pointer to an IWMSBroadcastPublishingPoint interface.

#include <windows.h>
#include <atlbase.h>    // Includes CComVariant.
#include "wmsserver.h"

// Declare variables and interfaces.
IWMSServer                    *pServer;
IWMSPublishingPoints          *pPubPoints;
IWMSPublishingPoint           *pPubPoint;
IWMSBroadcastPublishingPoint  *pBCPubPoint;

HRESULT         hr;
CComVariant     varIndex;
long            lCount;

// Initialize the COM library and retrieve a pointer
// to an IWMSServer interface.
hr = CoInitialize(NULL);
hr = CoCreateInstance(CLSID_WMSServer,
                      NULL,
                      CLSCTX_ALL,
                      IID_IWMSServer,
                      (void **)&pServer);
if (FAILED(hr)) goto EXIT;

// Retrieve a pointer to the IWMSPublishingPoints
// interface and retrieve the number of publishing points.
hr = pServer->get_PublishingPoints(&pPubPoints);
if (FAILED(hr)) goto EXIT;
hr = pPubPoints->get_Count(&lCount);
if (FAILED(hr)) goto EXIT;

// Retrieve each publishing point and query the
// IWMSBroadcastPublishingPoint interface.
for (long x = 0; x < lCount; x++)
{
    varIndex = x;
    hr = pPubPoints->get_Item(varIndex, &pPubPoint);
    if (FAILED(hr)) goto EXIT;

    // Retrieve the type of publishing point.
    WMS_PUBLISHING_POINT_TYPE pptType;
    hr = pPubPoint->get_Type(&pptType);
    if (FAILED(hr)) goto EXIT;

    if (pptType == WMS_PUBLISHING_POINT_TYPE_BROADCAST)
    {
        hr = pPubPoint->QueryInterface(IID_IWMSBroadcastPublishingPoint,
                                      (void **)&pBCPubPoint);
        if (FAILED(hr)) goto EXIT;

        pBCPubPoint->Release();
    }

    // Release temporary COM objects.
    pPubPoint->Release();
}

EXIT:
    // TODO: Release temporary COM objects and uninitialize COM.

See Also

Reference

IWMSPublishingPoints Interface

Concepts

Server Object Model Interfaces (C++)