From eb0d30384dc5a6e06f132c1ec6bbbf0c03b3faba Mon Sep 17 00:00:00 2001 From: Vincent BOUQUET Date: Sun, 1 Jun 2025 12:34:36 +0200 Subject: [PATCH] optimize stream viewer usage --- MainForm.cs | 2 +- StreamViewer.cs | 18 +++++++++--------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/MainForm.cs b/MainForm.cs index 980efc9..93e17e3 100644 --- a/MainForm.cs +++ b/MainForm.cs @@ -445,7 +445,7 @@ namespace robospot_camera_finder { toolStripStatusLabel.Text = "Loading camera..."; Camera camera = all_cameras.FirstOrDefault(cam => cam.camera_ip.ToString() == lbMain.SelectedValue.ToString()); - Form viewer = new StreamViewer(lbMain.GetItemText(lbMain.SelectedItem), lbMain.SelectedValue.ToString(), camera, this); + Form viewer = new StreamViewer(camera, this); viewer.Show(); toolStripStatusLabel.Text = ""; } diff --git a/StreamViewer.cs b/StreamViewer.cs index eb2c3ae..fcda9b4 100644 --- a/StreamViewer.cs +++ b/StreamViewer.cs @@ -8,29 +8,29 @@ namespace robospot_camera_finder public LibVLC _libVLC; public MediaPlayer _mp; - string cam_ip = ""; + MainForm.Camera camera; int max_zoom_pulse = 9999; int min_zoom_pulse = 10; bool zoomTestSeqFlag = false; - public StreamViewer(string name, string ip, MainForm.Camera camera, MainForm mainForm) + public StreamViewer(MainForm.Camera cam, MainForm mainForm) { InitializeComponent(); _libVLC = new LibVLC(); _mp = new MediaPlayer(_libVLC); - cam_ip = ip; - this.Text = name; + camera = cam; + this.Text = camera.camera_name; - if (!cam_ip.StartsWith("10.")) + if (!cam.camera_ip.StartsWith("10.")) { MessageBox.Show("Camera is not on the 10.0.0.0/8 network, the RoboSpot might not find it.", "Wrong IP", MessageBoxButtons.OK, MessageBoxIcon.Warning); } - string rtsp_link = "rtsp://" + ip + "/profile2/media.smp"; + string rtsp_link = "rtsp://" + camera.camera_ip + "/profile2/media.smp"; updateZoomSlider(); @@ -45,7 +45,7 @@ namespace robospot_camera_finder private void updateZoomSlider() { - HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://" + cam_ip + "/stw-cgi/ptzcontrol.cgi?msubmenu=query&action=view&Query=Zoom"); + HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://" + camera.camera_ip + "/stw-cgi/ptzcontrol.cgi?msubmenu=query&action=view&Query=Zoom"); request.Credentials = new NetworkCredential(MainForm.cam_username, MainForm.cam_password); HttpWebResponse response = (HttpWebResponse)request.GetResponse(); string text; @@ -68,7 +68,7 @@ namespace robospot_camera_finder zoom_pulse = max_zoom_pulse.ToString(); } - HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://" + cam_ip + "/stw-cgi/ptzcontrol.cgi?msubmenu=absolute&action=control&ZoomPulse=" + zoom_pulse); + HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://" + camera.camera_ip + "/stw-cgi/ptzcontrol.cgi?msubmenu=absolute&action=control&ZoomPulse=" + zoom_pulse); request.Credentials = new NetworkCredential(MainForm.cam_username, MainForm.cam_password); HttpWebResponse response = (HttpWebResponse)request.GetResponse(); } @@ -76,7 +76,7 @@ namespace robospot_camera_finder private void sendZoomValueManual(string zoom_value) { - HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://" + cam_ip + "/stw-cgi/ptzcontrol.cgi?msubmenu=continuous&NormalizedSpeed=True&action=control&Channel=0&Zoom=" + zoom_value); + HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://" + camera.camera_ip + "/stw-cgi/ptzcontrol.cgi?msubmenu=continuous&NormalizedSpeed=True&action=control&Channel=0&Zoom=" + zoom_value); request.Credentials = new NetworkCredential(MainForm.cam_username, MainForm.cam_password); HttpWebResponse response = (HttpWebResponse)request.GetResponse(); }