public void Start(Peer peer, uint publisherId, FlowWriter controller)
{
if (PublisherId != 0)
{
if (controller != null)
{
controller.WriteStatusResponse("Publish.BadName", Name + "is already published");
}
}
PublisherId = publisherId;
string error;
if (!peer.OnPublish(this, out error))
{
if (String.IsNullOrEmpty(error)) error = "Not allowed to publish " + Name;
}
_publisher = peer;
_controller = controller;
_firstKeyFrame = false;
foreach (var listener in Listeners)
{
listener.Value.StartPublishing(Name);
}
Flush();
if (controller != null)
{
controller.WriteStatusResponse("Publish.Start", Name + "is now published");
}
}