public bool AddStreamingConnection(string remoteAddress, Socket socket)
        {
            if (discoveredSsdpDevice.DescriptionLocation.Host.Equals(remoteAddress))
            {
                streamingConnection = DependencyFactory.Container.Resolve <StreamingConnection>();
                streamingConnection.SetSocket(socket);
                streamingConnection.SendStartStreamingResponse();
                return(true);
            }

            return(false);
        }
        /// <summary>
        /// Add the streaming connection if it's for this device.
        /// </summary>
        /// <param name="remoteAddress">remote IP address of the streaming connection</param>
        /// <param name="socket">socket of the streaming connection</param>
        /// <returns></returns>
        public bool AddStreamingConnection(string remoteAddress, Socket socket)
        {
            if (discoveredDevice == null)
            {
                return(false);
            }

            //TODO: Is this right for device groups?
            if ((GetDeviceState() == DeviceState.LoadingMedia ||
                 GetDeviceState() == DeviceState.Buffering ||
                 GetDeviceState() == DeviceState.Idle) &&
                discoveredDevice.IPAddress == remoteAddress)
            {
                streamingConnection = DependencyFactory.Container.Resolve <StreamingConnection>();
                streamingConnection.SetDependencies(socket, this, logger);
                streamingConnection.SendStartStreamingResponse();
                return(true);
            }

            return(false);
        }