public IGroup AddVideoGroup(string name, double fps, short bitCount, int width, int height)
        {
            OnAddingGroup();

            AMMediaType mediaType = null;

            try
            {
                mediaType = MediaTypeTools.GetVideoMediaType(bitCount, width, height);

                IGroup group = new Group(this, GroupType.Video, mediaType, name, fps);

                _groups.Add(group);

                AttachHandlers(group);

                OnAddedGroup(group);

                return group;
            }
            finally
            {
                if (mediaType != null) DsUtils.FreeAMMediaType(mediaType);
            }
        }
        public IGroup AddAudioGroup(string name, double fps)
        {
            OnAddingGroup();

            AMMediaType mediaType = null;

            try
            {
                mediaType = MediaTypeTools.GetAudioMediaType();

                IGroup group = new Group(this, GroupType.Audio, mediaType, name, fps);

                _groups.Add(group);

                AttachHandlers(group);

                OnAddedGroup(group);

                return group;
            }
            finally
            {
                if (mediaType != null) DsUtils.FreeAMMediaType(mediaType);
            }
        }