Share via


Starting Your New Broadcast Publishing Point

banner art

Previous Next

Starting Your New Broadcast Publishing Point

After everything has been configured, you are ready to begin publishing your content. If you are broadcasting live content, you may even want to archive your stream for rebroadcast at a later date. The following examples show you how to start your new broadcast publishing point and begin archiving your streamed content.

Visual Basic .NET Example

Imports Microsoft.WindowsMediaServices.Interop
Imports System.Runtime.InteropServices

' Declare variables.
Dim Server As WMSServer
Dim BCPubPoint As IWMSBroadcastPublishingPoint

Try
    ' Create the WMSServer object.
    Server = New WMSServer()

    ' Retrieve a broadcast publishing point.
    BCPubPoint = Server.PublishingPoints.item ("NewPubPointVI")

    ' Enable the archiving plug-in.
    BCPubPoint.BroadcastDataSinks.Item("WMS Archive Data Writer").Enabled = True

    ' Initialize the publishing point and start broadcasting.
    BCPubPoint.Start()

    ' Start archiving the broadcast data locally for rebroadcast.
    BCPubPoint.StartArchive()

Catch errCom As COMException
    ' TODO: Handle COM exceptions.
Catch err As Exception
    ' TODO: Exception handler goes here.
Finally
    ' TODO: Clean-up code goes here.
End Try

C# Example

using Microsoft.WindowsMediaServices.Interop;
using System.Runtime.InteropServices;

// Declare variables.
WMSServer Server;
IWMSBroadcastPublishingPoint BCPubPoint;

try
{
    // Create the WMSServer object.
    Server = new WMSServerClass();

    // Retrieve a broadcast publishing point.
    BCPubPoint = 
(IWMSBroadcastPublishingPoint)Server.PublishingPoints["NewPubPointIV"];

    // Retrieve the plug-in to be configured.
    for (int i = 0; i< BCPubPoint.BroadcastDataSinks.Count; i++)
    {
        if ("WMS Archive Data Writer" == 
                                BCPubPoint.BroadcastDataSinks[i].Name)
        {
            BCPubPoint.BroadcastDataSinks[i].Enabled = true;

            // Initialize the publishing point and start broadcasting.
            BCPubPoint.Start();

            // Start archiving the boradcast data locally for rebroadcast.
            BCPubPoint.StartArchive();
            break;
        }
    }
}
catch (COMException comExc)
{
    // TODO: Handle COM exceptions.
}
catch (Exception exc)
{
    // TODO: Exception handler goes here.
}
finally
{
    // TODO: Clean-up code goes here.
}

C++ Example

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

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

HRESULT                       hr;
CComVariant                   varIndex;
CComVariant                   varName;

// 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.
hr = pServer->get_PublishingPoints(&pPubPoints);
if (FAILED(hr)) goto EXIT;

// Retrieve a pointer to a publishing point.
varName = L"NewPubPoint";
hr = pPubPoints->get_Item(varName, &pPubPoint);
if (FAILED(hr)) goto EXIT;

// Query the IWMSBroadcastPublishingPoint interface from
// the publishing point.
hr = pPubPoint->QueryInterface(IID_IWMSBroadcastPublishingPoint,
                              (void **)&pBCPubPoint);
if (FAILED(hr)) goto EXIT;

// Retrieve a pointer to the collection of
// data sink plug-ins.
hr = pBCPubPoint->get_BroadcastDataSinks(&pPlugins);
if (FAILED(hr)) goto EXIT;

// Retrieve a pointer to the archiving plug-in.
varIndex = "WMS Archive Data Writer";
hr = pPlugins->get_Item(varIndex, &pPlugin);
if (FAILED(hr)) goto EXIT;

// Enable the archiving plug-in.
hr = pPlugin->put_Enabled(VARIANT_TRUE);
if (FAILED(hr)) goto EXIT;

// Initialize the publishing point and start broadcasting.
hr = pBCPubPoint->Start();
if (FAILED(hr)) goto EXIT;

// Start archiving the broadcast data locally for rebroadcast.
hr = pBCPubPoint->StartArchive();
if (FAILED(hr)) goto EXIT;

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

See Also

Previous Next