示例#1
0
        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);
            }
        }
示例#2
0
        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>(
                        DeviceConnectorServiceClient.ServiceClient, service.HostName, service.Uri.ToString())
                    .KeepPublishedCameraAlive(request);
            }

            return(camera);
        }