EARHORNMUSIC UPnP · Android TV · Phones · Android Auto · GNU/Linux
Release 0.5.0

MediaServer.kt

package dev.stave.domain.model

/**
 * A UPnP/DLNA MediaServer discovered on the LAN that advertises a ContentDirectory service.
 * We key by [udn] (Unique Device Name) since that's stable across IP changes.
 */
data class MediaServer(
    val udn: String,
    val friendlyName: String,
    val manufacturer: String?,
    val modelName: String?,
    val modelDescription: String?,
    val baseUrl: String,
    val iconUrl: String? = null,
) {
    /** Best-effort label for known classical-friendly servers. */
    val isMinimServer: Boolean
        get() = modelName?.contains("MinimServer", ignoreCase = true) == true ||
            manufacturer?.contains("minim", ignoreCase = true) == true
}