internal override void Refresh()
 {
     _input    = null;
     _preview  = null;
     _encoding = null;
     base.Refresh();
 }
        /// <summary>
        /// Creates an instance of ChannelEncodingData class from an instance of ChannelEncoding.
        /// </summary>
        /// <param name="encoding">Channel Encoding to copy into newly created instance.</param>
        public ChannelEncodingData(ChannelEncoding encoding)
        {
            if (encoding == null)
            {
                throw new ArgumentNullException("encoding");
            }

            SystemPreset = encoding.SystemPreset;
            IgnoreCea708ClosedCaptions = encoding.IgnoreCea708ClosedCaptions;
            AdMarkerSource             = encoding.AdMarkerSource.ToString();

            if (encoding.AudioStreams != null)
            {
                AudioStreams = encoding.AudioStreams.ToList();
            }

            if (encoding.VideoStreams != null)
            {
                VideoStreams = encoding.VideoStreams.ToList();
            }
        }
        /// <summary>
        /// Creates an instance of ChannelEncodingData class from an instance of ChannelEncoding.
        /// </summary>
        /// <param name="encoding">Channel Encoding to copy into newly created instance.</param>
        public ChannelEncodingData(ChannelEncoding encoding)
        {
            if (encoding == null)
            {
                throw new ArgumentNullException("encoding");
            }

            SystemPreset = encoding.SystemPreset;
            IgnoreCea708ClosedCaptions = encoding.IgnoreCea708ClosedCaptions;
            AdMarkerSource = encoding.AdMarkerSource.ToString();

            if (encoding.AudioStreams != null)
            {
                AudioStreams = encoding.AudioStreams.ToList();
            }

            if (encoding.VideoStreams != null)
            {
                VideoStreams = encoding.VideoStreams.ToList();
            }
        }