Exemplo n.º 1
0
 public static void StartLiveView(ICameraDevice device)
 {
     // some nikon cameras can set af to manual
     //force to capture in ram
     if (device is NikonBase)
     {
         if (!_recordtoRam.ContainsKey(device))
         {
             _recordtoRam.Add(device, device.CaptureInSdRam);
         }
         else
         {
             _recordtoRam[device] = device.CaptureInSdRam;
         }
         device.CaptureInSdRam = true;
         if (!_hostMode.ContainsKey(device))
         {
             _hostMode.Add(device, device.HostMode);
         }
         else
         {
             _hostMode[device] = device.HostMode;
         }
         device.HostMode = true;
     }
     device.StartLiveView();
 }
 public static void StartLiveView(ICameraDevice device)
 {
     // some nikon cameras can set af to manual
     //force to capture in ram
     if (device is NikonBase)
     {
         if (!_recordtoRam.ContainsKey(device))
             _recordtoRam.Add(device, device.CaptureInSdRam);
         else
             _recordtoRam[device] = device.CaptureInSdRam;
         device.CaptureInSdRam = true;
         if (!_hostMode.ContainsKey(device))
             _hostMode.Add(device, device.HostMode);
         else
             _hostMode[device] = device.HostMode;
         device.HostMode = true;
     }
     device.StartLiveView();
 }
Exemplo n.º 3
0
        private void StartLiveViewThread()
        {
            try
            {
                bool retry    = false;
                int  retryNum = 0;
                Log.Debug("LiveView: Liveview started");
                do
                {
                    try
                    {
                        _cameraDevice.StartLiveView();
                    }
                    catch (DeviceException deviceException)
                    {
                        if (deviceException.ErrorCode == ErrorCodes.ERROR_BUSY ||
                            deviceException.ErrorCode == ErrorCodes.MTP_Device_Busy)
                        {
                            Thread.Sleep(100);
                            Log.Debug("Retry live view :" + deviceException.ErrorCode.ToString("X"));
                            retry = true;
                            retryNum++;
                        }
                        else
                        {
                            _stopCallback();
                        }
                    }
                } while (retry && retryNum < 35);

                _timerLiveView.Elapsed += TimerLiveViewElapsed;
                _timerLiveView.Start();


                Log.Debug("LiveView: Liveview start done");
            }
            catch (Exception exception)
            {
                Log.Debug("Unable to start liveview ! " + exception.ToString());
            }
        }
Exemplo n.º 4
0
 public static void StartLiveView(ICameraDevice device)
 {
     lock (_locker)
     {
         // some nikon cameras can set af to manual
         //force to capture in ram
         if (device is NikonBase && device.GetCapability(CapabilityEnum.CaptureNoAf))
         {
             if (!_recordtoRam.ContainsKey(device))
             {
                 _recordtoRam.Add(device, device.CaptureInSdRam);
             }
             else
             {
                 _recordtoRam[device] = device.CaptureInSdRam;
             }
             device.CaptureInSdRam = true;
         }
         device.StartLiveView();
     }
 }