Profily zařízení – přizpůsobení každému zařízení
Skutečný hardware UPnP je nekonzistentní v tom, co přijímá: jeden streamer chce 24bitový FLAC, jiný přehrává pouze 16bitový PCM, třetí lže o tom, které kodeky podporuje. Profil zařízení je způsob, jakým pluginu sdělíte limity a zvláštnosti jednoho zařízení.
Jak se profil vybírá. Každé zařízení se při připojení identifikuje řetězcem User-Agent. Profil říká „použij mě, když user-agent obsahuje tento fragment“. Když se zařízení připojí, plugin najde odpovídající profil; pokud žádný neodpovídá, je záložním vestavěný profil Obecné zařízení. Můžete uvést několik fragmentů oddělených | (například Linn|ChorusDS|BubbleDS), takže jeden profil pokrývá rodinu souvisejících zařízení.
Co profil řídí. Limity, které zařízení nemůže překročit – maximální velikost obrázku pro obal alba, povolený rozsah vzorkovací frekvence, maximální bitová hloubka, downmixing pouze na stereo – plus, když je potřeba skladbu převést, na jaký výstupní formát a vzorkovací frekvenci převést. Samostatná skupina přepínačů „problémové zařízení“ obchází specifické hardwarové chyby (zpracování raw-PCM, pořadí bajtů, hlavička HTTP content-length). Ty existují, protože shoda s UPnP v praxi je neúplná; většina lidí se jich nikdy nedotkne.
Kdy se dotknout profilu. Pouze když se konkrétní zařízení chová špatně. Standardní profil Generic, plus výchozí nastavení pro běžný hardware dodávané pro každé zařízení, pokrývají většinu případů. Chcete-li najít user-agent zařízení, abyste ho mohli cílit, zapněte ladicí protokolování (viz Diagnostika), přehrajte něco ze zařízení a přečtěte si řádek useragent= v protokolu.
Nejdůležitější přepínač profilu – force native stream – se vůbec netýká limitů; rozhoduje o tom, zda se cokoli z výše uvedeného použije. To je další koncept.


Nastavení
| Ovládací prvek | Co dělá |
|---|---|
| Název | Zobrazované jméno profilu. |
| Použije se, když user-agent obsahuje | Fragment(y) user-agent, které musí zařízení obsahovat, aby odpovídalo tomuto profilu; alternativy oddělte |. Zařízení, která neodpovídají, se vrátí k obecnému profilu. |
| Maximální velikost obrázku | Maximální velikost pixelů obalu alba odeslaná do tohoto zařízení (160 px je standard DLNA; větší není univerzálně podporováno). |
| Výstupní vzorkovací frekvence / do | Rozsah vzorkovací frekvence, který zařízení přijímá; zdroje mimo něj jsou převedeny (vynucuje transkódování). |
| Kanály / pouze stereo | Downmix vícekanálového zvuku na stereo pro zařízení, která podporují pouze dva kanály. |
| Maximální bitová hloubka | Nejvyšší bitová hloubka, kterou zařízení přijímá; hlubší zdroje jsou převedeny. |
| Výstupní formát | Když je potřeba transkódování, formát, na který se má převést (PCM, FLAC, MP3, AAC, Ogg). |
| Výstupní vzorkovací frekvence | Vzorkovací frekvence, která se má použít při transkódování; „stejná jako zdroj“ zachovává originál. |
| Nepoužívat RAW PCM | Zabalí PCM do kontejneru WAV namísto odesílání raw L16/L24. Pro zařízení, která zkreslují raw PCM (některé Marantz). |
| Vynutit little endian pro PCM streamy | Odesílá PCM little-endian namísto big-endian podle specifikace. Opravuje přehrávání bílého šumu na zařízeních, která očekávají little-endian. |
| Délka obsahu | Jak vyplnit hlavičku HTTP Content-Length: Výchozí (správná hodnota), Žádná (vynechat), Pouze PCM nebo Pevná (sentinelová „obrovská“ hodnota). Pro zařízení, která špatně zpracovávají hlavičku. |