private void MediaStreamer_StateChanged() { var state = mediaStreamer.State; logger.Debug("MediaStreamer_StateChanged() " + state); if (state == MediaStreamerState.Starting) { //PropertyNetwork.CommunicationPort = streamSession.CommunicationPort; } else if (state == MediaStreamerState.Streaming) { PropertyNetwork.CommunicationPort = streamSession.CommunicationPort; } else if (state == MediaStreamerState.Stopping) { } else if (state == MediaStreamerState.Stopped) { PropertyNetwork.CommunicationPort = PropertyNetwork.Port; var errorObj = mediaStreamer.ExceptionObj; var errorCode = mediaStreamer.ErrorCode; var internalCode = mediaStreamer.CheckError(); var internalError = mediaStreamer.GetInternalError(); if (errorObj != null || errorCode != 0 || internalCode != 0 || internalError != null) { logger.Warn("Process error..."); //... //Process error this.ErrorCode = internalCode; this.ErrorObj = internalError; if (ErrorObj == null) { ErrorObj = errorObj; } if (ErrorCode != 0) { ErrorCode = errorCode; } ErrorOccurred?.Invoke(ErrorObj); } mediaStreamer.Shutdown(); } else if (state == MediaStreamerState.Shutdown) { } StateChanged?.Invoke(); }
private void OnStreamStopped() { infoButton.Enabled = true; networkSettingsLayoutPanel.Enabled = true; videoSourceSettingsLayoutPanel.Enabled = true; audioSourceSettingsLayoutPanel.Enabled = true; switchStreamingStateButton.Enabled = true; switchStreamingStateButton.Text = "Start Streaming"; startToolStripMenuItem.Text = "Start"; contextMenu.Enabled = true; captureStatusLabel.Text = "Ready to stream"; captureStatusDescriptionLabel.Text = ""; this.Cursor = Cursors.Default; if (statisticForm != null) { statisticForm.Stop(); statisticForm.Visible = false; } if (debugBorderForm != null) { debugBorderForm.Close(); debugBorderForm = null; } if (selectAreaForm != null) { selectAreaForm.Capturing = false; } var errorMessage = ""; var ex = mediaStreamer.ExceptionObj; if (ex != null) { errorMessage = ex.Message; var iex = ex.InnerException; if (iex != null) { errorMessage = iex.Message; } } if (mediaStreamer != null) { mediaStreamer.Shutdown(); } if (!string.IsNullOrEmpty(errorMessage)) { MessageBox.Show(errorMessage); } }