Inheritance: AbstractTranscoder
        public bool Equals(VideoTranscoder op)
        {
            // If parameter is null return false:
            if ((object)op == null)
            {
                return(false);
            }

            // Return true if they match
            return(Item.Equals(op.Item) && Type == op.Type && Quality == op.Quality && Width == op.Width && Height == op.Height && MaintainAspect == op.MaintainAspect);
        }
        public override bool Equals(Object obj)
        {
            // If they are the exact same object, return true
            if (Object.ReferenceEquals(this, obj))
            {
                return(true);
            }
            else if (IsDirect)
            {
                // If this is a direct transcoder, only use reference equality
                return(false);
            }

            // If parameter is null return false.
            if ((object)obj == null)
            {
                return(false);
            }

            // If the types don't match exactly, return false
            if (this.GetType() != obj.GetType())
            {
                return(false);
            }

            // If parameter cannot be cast to AbstractTranscoder return false.
            VideoTranscoder op = obj as VideoTranscoder;

            if ((object)op == null)
            {
                return(false);
            }

            // Return true if the fields match:
            return(Equals(op));
        }
 // Pick some good default bitrates for the quality levels, but let individual transcoder types
 // override this if necessary
 public virtual uint TotalBitrateForQuality(uint quality)
 {
     return(VideoTranscoder.DefaultBitrateForQuality(quality));
 }
        public bool Equals(VideoTranscoder op)
        {
            // If parameter is null return false:
            if ((object)op == null)
            {
                return false;
            }

            // Return true if they match
            return Item.Equals(op.Item) && Type == op.Type && Quality == op.Quality && Width == op.Width && Height == op.Height && MaintainAspect == op.MaintainAspect;
        }