CSharpRTMP.Core.Protocols.Rtmfp.InboundRTMFPProtocol.PublishStream C# (CSharp) Method

PublishStream() public method

public PublishStream ( Peer peer, uint id, string name, string type, FlowWriter writer ) : InNetRtmfpStream
peer Peer
id uint
name string
type string
writer FlowWriter
return InNetRtmfpStream
        public override InNetRtmfpStream PublishStream(Peer peer, uint id, string name, string type, FlowWriter writer)
        {
            var session = writer.Band as Session;
            if (!session.Application.StreamsManager.StreamNameAvailable(name))
            {
                WARN(
                    "Stream name {0} already occupied and application doesn't allow duplicated inbound network streams",
                    name);
                writer.WriteStatusResponse("Publish.BadName", name + "is not available");
                return null;
            }
            var pInNetRtmpStream = new InNetRtmfpStream(session, session.Application.StreamsManager, name);
            session.Application.OnPublish(this, pInNetRtmpStream, type);
            pInNetRtmpStream.Start(peer, id, writer);
            return pInNetRtmpStream;
        }