code: public void sendMediaQuery(SlotReference slot) throws IOException {
          final DeviceAnnouncement announcement = DeviceFinder.getInstance().getLatestAnnouncementFrom(slot.player);
          if (announcement == null) {
              throw new IllegalArgumentException("Device for " + slot + " not found on network.");
          }
          ensureRunning();
          byte[] payload = new byte[MEDIA_QUERY_PAYLOAD.length];
          System.arraycopy(MEDIA_QUERY_PAYLOAD, 0, payload, 0, MEDIA_QUERY_PAYLOAD.length);
          payload[2] = getDeviceNumber();
          System.arraycopy(announcementBytes, 44, payload, 5, 4);  // Copy in our IP address.
          payload[12] = (byte)slot.player;
          payload[16] = slot.slot.protocolValue;
          assembleAndSendPacket(Util.PacketType.MEDIA_QUERY, payload, announcement.getAddress(), UPDATE_PORT);
      }
docs: Ask a device for information about the media mounted in a particular slot. Will update the
  {@link MetadataFinder} when a response is received.
  
  @param slot the slot holding media we want to know about.
  
  @throws IOException if there is a problem sending the request.