def extra_info
      @_extra_info ||=
        begin
          new_device = clone
          new_device.refresh_connection
          new_device.address = "#{ip}:7100"

          result = new_device.connection.get("/stream.xml")
          raise result if !result.is_a?(Airplay::Connection::Response)

          response = result.response
          return {} if response.status != 200

          plist = CFPropertyList::List.new(data: response.body)
          CFPropertyList.native_types(plist.value)
        rescue Airplay::Connection::PasswordRequired
          it_has_password!

          return {}
        end
    end
def extra_info
      @_extra_info ||=
        begin
          new_device = clone
          new_device.refresh_connection
          new_device.address = "#{ip}:7100"

          result = new_device.connection.get("/stream.xml")
          raise result if !result.is_a?(Airplay::Connection::Response)

          response = result.response
          return {} if response.status != 200

          plist = CFPropertyList::List.new(data: response.body)
          CFPropertyList.native_types(plist.value)
        rescue Airplay::Connection::PasswordRequired
          it_has_password!

          return {}
        end
    end
Private: Access extra info of the device

 Returns a hash with extra information