/// <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); } }
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); } } } } }