private static Camera KeepPublishedCameraAliveSync(Camera camera, string address, int port) { MediaService service = GetDeviceConnectorServiceSync(camera.HostUri); if (service != null) { KeepPublishedCameraAliveRequest request = new KeepPublishedCameraAliveRequest() { CameraId = camera.Id, Destination = new PublishDestinationData() { Address = address, Port = port, }, }; KeepPublishedCameraAliveResponse response = ServiceProvider .GetService<IDeviceConnectorService, IDeviceConnectorCallbackService>( ViewModelLocator.ServiceClient, service.HostName, service.Uri.ToString()) .KeepPublishedCameraAlive(request); } return camera; }
public KeepPublishedCameraAliveResponse KeepPublishedCameraAlive(KeepPublishedCameraAliveRequest request) { try { if (request == null) throw new ArgumentNullException("request"); KeepPublishedCameraAliveResponse response = new KeepPublishedCameraAliveResponse(); Locator.Get<IStreamingManager>().KeepAlive(request.CameraId, PublishedCameraTranslator.Translate(request.Destination)); return response; } catch (Exception ex) { throw new FaultException<DeviceConnectorServiceFault>(new DeviceConnectorServiceFault(ex.Message, ex), ex.Message); } }