/// <summary> /// Initialise capture devices and connect the appropriate buffers /// </summary> private void CaptureSetup() { // Try setting up the capture devices. if (config.Audio.CaptureDeviceNumber >= 0) { InitAudioCapture(); } if (config.Video.CaptureDeviceNumber >= 0) { InitVideoCapture(); } // Set up buffers if (mic != null) { AudioBuffers = new AudioBufferList(config); mic.FrameAvailable += new EventHandler <AudioDataEventArgs>(AudioBuffers.HandleCapturedSamples); } else if (config.Audio.CaptureDeviceNumber == -2) // dummy mode: buffers but no capture { AudioBuffers = new AudioBufferList(config); } if (cam != null) { ImageBuffers = new ImageBufferList(config); cam.TargetFrameSize = new Size(config.EncoderSettings.OutputWidth, config.EncoderSettings.OutputHeight); cam.FrameAvailable += new EventHandler <VideoDataEventArgs>(ImageBuffers.HandleCapturedFrame); } else if (config.Video.CaptureDeviceNumber == -2) // dummy mode: buffers but no capture { ImageBuffers = new ImageBufferList(config); } if (ImageBuffers == null && AudioBuffers == null) { throw new Exception("Neither Audio or Video capture was specified"); } }
/// <summary> /// Initialise capture devices and connect the appropriate buffers /// </summary> private void CaptureSetup() { // Try setting up the capture devices. if (config.Audio.CaptureDeviceNumber >= 0) InitAudioCapture(); if (config.Video.CaptureDeviceNumber >= 0) InitVideoCapture(); // Set up buffers if (mic != null) { AudioBuffers = new AudioBufferList(config); mic.FrameAvailable += new EventHandler<AudioDataEventArgs>(AudioBuffers.HandleCapturedSamples); } else if (config.Audio.CaptureDeviceNumber == -2) { // dummy mode: buffers but no capture AudioBuffers = new AudioBufferList(config); } if (cam != null) { ImageBuffers = new ImageBufferList(config); cam.TargetFrameSize = new Size(config.EncoderSettings.OutputWidth, config.EncoderSettings.OutputHeight); cam.FrameAvailable += new EventHandler<VideoDataEventArgs>(ImageBuffers.HandleCapturedFrame); } else if (config.Video.CaptureDeviceNumber == -2) { // dummy mode: buffers but no capture ImageBuffers = new ImageBufferList(config); } if (ImageBuffers == null && AudioBuffers == null) throw new Exception("Neither Audio or Video capture was specified"); }