public static new Stream Parse(string s)
        {
            //3: VC-1, 1080p24 /1.001 (16:9) with pulldown flags

            if (string.IsNullOrEmpty(s))
                throw new ArgumentNullException("s", "The string 's' cannot be null or empty.");

            VideoStream videoStream = new VideoStream(s);

            switch (videoStream.Name.ToUpper())
            {
                case "AVC":
                    videoStream.VideoType = VideoStreamType.AVC;
                    break;
                case "VC-1":
                    videoStream.VideoType = VideoStreamType.VC1;
                    break;
                case "MPEG":
                case "MPEG2":
                    videoStream.VideoType = VideoStreamType.MPEG;
                    break;
                case "THEORA":
                    videoStream.VideoType = VideoStreamType.THEORA;
                    break;
                case "DIRAC":
                    videoStream.VideoType = VideoStreamType.DIRAC;
                    break;
            }

            return videoStream;
        }