/// <summary>
        /// Updates list of video modes that this camera has.
        /// </summary>
        private void UpdateVideoModes()
        {
            List <VideoFrameMode> modes = new List <VideoFrameMode>();

            // Get number of modes
            int numModes = KinectNative.freenect_get_video_mode_count(this.parentDevice.devicePointer);

            // Go through modes
            for (int i = 0; i < numModes; i++)
            {
                VideoFrameMode mode = (VideoFrameMode)FrameMode.FromInterop(KinectNative.freenect_get_video_mode(i), FrameMode.FrameModeType.VideoFormat);
                if (mode != null)
                {
                    modes.Add(mode);
                }
            }

            // All done
            this.Modes = modes.ToArray();
        }