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