internal ShoutcastStream(Uri serverUrl, ShoutcastStreamFactoryConnectionSettings settings, SocketWrapper socketWrapper)
        {
            this.socket         = socketWrapper;
            this.serverUrl      = serverUrl;
            this.serverSettings = settings;

            StationInfo       = new ServerStationInfo();
            AudioInfo         = new ServerAudioInfo();
            cancelTokenSource = new CancellationTokenSource();
            //MediaStreamSource = new MediaStreamSource(null);
            streamProcessor = new ShoutcastStreamProcessor(this, socket);
        }
        public ShoutcastMediaSourceStream(Uri url, ShoutcastServerType stationServerType = ShoutcastServerType.Shoutcast, string relativePath = ";", bool getMetadata = true)
        {
            StationInfo = new ServerStationInfo();

            streamUrl = url;

            serverType = stationServerType;

            socket = new StreamSocket();

            AudioInfo = new ServerAudioInfo();

            ShouldGetMetadata = getMetadata;

            this.relativePath = relativePath;
        }