docs: def update(self, response):
          """Update session information from device response.
  
          Increment sequence number when starting stream, not when playing.
          If device requires authentication resend previous message with auth.
          """
          data = response.splitlines()
          _LOGGER.debug('Received data %s from %s', data, self.host)
          while data:
              line = data.pop(0)
              if 'RTSP/1.0' in line:
                  self.rtsp_version = int(line.split(' ')[0][5])
                  self.status_code = int(line.split(' ')[1])
                  self.status_text = line.split(' ')[2]
              elif 'CSeq' in line:
                  self.sequence_ack = int(line.split(': ')[1])
              elif 'Date' in line:
                  self.date = line.split(': ')[1]
              elif 'Public' in line:
                  self.methods_ack = line.split(': ')[1].split(', ')
              elif "WWW-Authenticate: Basic" in line:
                  self.basic = True
                  self.realm = line.split('"')[1]
              elif "WWW-Authenticate: Digest" in line:
                  self.digest = True
                  self.realm = line.split('"')[1]
                  self.nonce = line.split('"')[3]
                  self.stale = (line.split('stale=')[1] == 'TRUE')
              elif 'Content-Type' in line:
                  self.content_type = line.split(': ')[1]
              elif 'Content-Base' in line:
                  self.content_base = line.split(': ')[1]
              elif 'Content-Length' in line:
                  self.content_length = int(line.split(': ')[1])
              elif 'Session' in line:
                  self.session_id = line.split(': ')[1].split(";")[0]
                  if '=' in line:
                      self.session_timeout = int(line.split(': ')[1].split('=')[1])
              elif 'Transport' in line:
                  self.transport_ack = line.split(': ')[1]
              elif 'Range' in line:
                  self.range = line.split(': ')[1]
              elif 'RTP-Info' in line:
                  self.rtp_info = line.split(': ')[1]
              elif not line:
                  if data:
                      self.sdp = data
                      break
          if self.sdp:
              stream_found = False
              for param in self.sdp:
                  if not stream_found and 'm=application' in param:
                      stream_found = True
                  elif stream_found and 'a=control:rtsp' in param:
                      self.control_url = param.split(':', 1)[1]
                      break
  
          if self.status_code == 200:
              if self.state == STATE_STARTING:
                  self.sequence += 1
          elif self.status_code == 401:
              # Device requires authorization, do not increment to next method
              pass
          else:
              # If device configuration is correct we should never get here
              _LOGGER.debug(
                  "%s RTSP %s %s", self.host, self.status_code, self.status_text)