Beispiel #1
0
        public GetCameraResponse GetCamera(GetCameraRequest request)
        {
            try
            {
                if (request == null)
                {
                    throw new ArgumentNullException("request");
                }

                GetCameraResponse response = new GetCameraResponse();

                BE::Camera c = Locator.Get <ICameraManager>().GetCamera(request.CameraId);
                if (c != null)
                {
                    DC::Camera camera = new DC::Camera()
                    {
                        Id   = c.Id,
                        Name = c.Name,
                        Url  = c.Url,
                        Port = c.Port,
                    };
                    response.Camera = camera;
                }

                return(response);
            }
            catch (Exception ex)
            {
                throw new FaultException <DeviceProfileServiceFault>(new DeviceProfileServiceFault(ex.Message, ex), ex.Message);
            }
        }
Beispiel #2
0
        public GetCameraResponse GetCamera(GetCameraRequest request)
        {
            try
            {
                if (request == null)
                {
                    throw new ArgumentNullException("request");
                }

                GetCameraResponse response = new GetCameraResponse();

                response.Camera = CameraTranslator.Translate(Locator.Get <ICameraManager>().GetCamera(request.CameraId));

                return(response);
            }
            catch (Exception ex)
            {
                throw new FaultException <DeviceConnectorServiceFault>(new DeviceConnectorServiceFault(ex.Message, ex), ex.Message);
            }
        }
Beispiel #3
0
        private Camera GetCameraDevice()
        {
            MediaService service = GetDeviceConnectorServiceSync(Camera.Profile.DeviceServiceUri);

            GetCameraRequest request = new GetCameraRequest()
            {
                CameraId = Camera.Profile.CameraId,
            };
            GetCameraResponse response =
                ServiceProvider
                .GetService <IDeviceConnectorService, IDeviceConnectorCallbackService>(
                    DeviceConnectorServiceClient.ServiceClient, service.HostName, service.Uri.ToString())
                .GetCamera(request);

            Camera camera = null;

            if (response.Camera != null)
            {
                camera = new Camera()
                {
                    Id          = response.Camera.Profile.Id,
                    Name        = response.Camera.Profile.Name,
                    Description = response.Camera.Profile.Description,
                    Tags        = response.Camera.Profile.Tags,
                    Thumbnail   = response.Camera.Thumbnail
                };

                // camera video source
                camera.VideoSourceDescription = new VideoSourceDescription()
                {
                    FriendlyName         = response.Camera.Config.FriendlyName,
                    OriginalSourceString = response.Camera.Config.OriginalSourceString,
                    SourceString         = response.Camera.Config.SourceString,
                    FrameInterval        = response.Camera.Config.FrameInterval,
                    FrameRate            = response.Camera.Config.FrameRate,
                    UserName             = response.Camera.Config.UserName,
                    Password             = response.Camera.Config.Password,
                    UserAgent            = response.Camera.Config.UserAgent,
                };

                if (response.Camera.Config.Resolution != null)
                {
                    camera.VideoSourceDescription.Resolution = new Resolution()
                    {
                        Width = response.Camera.Config.Resolution.Width, Height = response.Camera.Config.Resolution.Height
                    };
                }

                // translate cameras came from remote server
                switch (response.Camera.Profile.FilterType)
                {
                case FilterTypeData.LocalCamera:
                case FilterTypeData.LocalDesktop:
                case FilterTypeData.LocalAVIFile:
                case FilterTypeData.NetworkJPEG:
                case FilterTypeData.NetworkMJPEG:
                    camera.VideoSourceDescription.SourceType = VideoSourceType.NetworkRtpStream;
                    break;

                default:
                    break;
                }

                // where is this camera
                camera.HostName = service.HostName;
                camera.HostUri  = service.Uri.ToString();
            }

            return(camera);
        }