コード例 #1
0
        /// <summary>
        /// Sends publish start notifications.
        /// </summary>
        private void SendPublishStartNotify()
        {
            StatusASO publishStatus = new StatusASO(StatusASO.NS_PUBLISH_START);

            publishStatus.clientid = this.StreamId;
            publishStatus.details  = this.PublishedName;
            StatusMessage startMsg = new StatusMessage();

            startMsg.body = publishStatus;
            try {
                _connMsgOut.PushMessage(startMsg);
            } catch (System.IO.IOException ex) {
                log.Error("Error while pushing message.", ex);
            }
        }
コード例 #2
0
        private void PushMessage(IMessage message)
        {
            _msgOut.PushMessage(message);
            _recordPipe.PushMessage(message);

            // Notify listeners about received packet
            if (message is RtmpMessage)
            {
                IRtmpEvent rtmpEvent = ((RtmpMessage)message).body;
                if (rtmpEvent is IStreamPacket)
                {
                    foreach (IStreamListener listener in GetStreamListeners())
                    {
                        try
                        {
                            listener.PacketReceived(this, (IStreamPacket)rtmpEvent);
                        }
                        catch (Exception ex)
                        {
                            log.Error("Error while notifying listener " + listener, ex);
                        }
                    }
                }
            }
        }