fix: 配置摄像头必须初始化
This commit is contained in:
parent
558a139593
commit
540f5c788d
|
@ -166,51 +166,41 @@ public class HttpVideoStreamService : BackgroundService
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
await Task.Run(async () =>
|
lock (_cameraLock)
|
||||||
{
|
{
|
||||||
lock (_cameraLock)
|
// 关闭现有连接
|
||||||
|
if (_camera != null)
|
||||||
{
|
{
|
||||||
// 如果地址和端口没有变化,直接返回成功
|
logger.Info("关闭现有摄像头连接");
|
||||||
if (_cameraAddress == address && _cameraPort == port && _camera != null)
|
// Camera doesn't have Dispose method, set to null
|
||||||
{
|
_camera = null;
|
||||||
logger.Info("摄像头配置未变化,保持当前连接");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
// 关闭现有连接
|
|
||||||
if (_camera != null)
|
|
||||||
{
|
|
||||||
logger.Info("关闭现有摄像头连接");
|
|
||||||
// Camera doesn't have Dispose method, set to null
|
|
||||||
_camera = null;
|
|
||||||
}
|
|
||||||
|
|
||||||
// 更新配置
|
|
||||||
_cameraAddress = address;
|
|
||||||
_cameraPort = port;
|
|
||||||
|
|
||||||
// 创建新的摄像头客户端
|
|
||||||
_camera = new Camera(_cameraAddress, _cameraPort);
|
|
||||||
|
|
||||||
logger.Info("摄像头配置已更新: {Address}:{Port}", _cameraAddress, _cameraPort);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Init Camera
|
// 更新配置
|
||||||
{
|
_cameraAddress = address;
|
||||||
var ret = await _camera.Init();
|
_cameraPort = port;
|
||||||
if (!ret.IsSuccessful)
|
|
||||||
{
|
|
||||||
logger.Error(ret.Error);
|
|
||||||
throw ret.Error;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!ret.Value)
|
// 创建新的摄像头客户端
|
||||||
{
|
_camera = new Camera(_cameraAddress, _cameraPort);
|
||||||
logger.Error($"Camera Init Failed!");
|
|
||||||
throw new Exception($"Camera Init Failed!");
|
logger.Info("摄像头配置已更新: {Address}:{Port}", _cameraAddress, _cameraPort);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Init Camera
|
||||||
|
{
|
||||||
|
var ret = await _camera.Init();
|
||||||
|
if (!ret.IsSuccessful)
|
||||||
|
{
|
||||||
|
logger.Error(ret.Error);
|
||||||
|
throw ret.Error;
|
||||||
}
|
}
|
||||||
});
|
|
||||||
|
if (!ret.Value)
|
||||||
|
{
|
||||||
|
logger.Error($"Camera Init Failed!");
|
||||||
|
throw new Exception($"Camera Init Failed!");
|
||||||
|
}
|
||||||
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
|
|
Loading…
Reference in New Issue