Профілі пристроїв — адаптація до кожного пристрою
Реальне обладнання UPnP непослідовне щодо того, що воно приймає: один стрімер хоче 24-бітний FLAC, інший відтворює лише 16-бітний PCM, третій бреше про те, які кодеки він підтримує. Профіль пристрою — це спосіб навчити плагін обмеженням і особливостям одного пристрою.
Як вибирається профіль. Кожен пристрій ідентифікує себе рядком User-Agent при підключенні. Профіль говорить: "застосуй мене, коли user-agent містить цей фрагмент". Коли пристрій підключається, плагін знаходить відповідний профіль; якщо жоден не відповідає, використовується вбудований профіль Generic Device. Ви можете перерахувати кілька фрагментів, розділених | (наприклад, Linn|ChorusDS|BubbleDS), щоб один профіль охоплював сімейство пов'язаних пристроїв.
Що контролює профіль. Обмеження, які пристрій не може перевищувати — максимальний розмір зображення для обкладинки альбому, дозволений діапазон частот дискретизації, максимальна бітова глибина, пониження до стерео — плюс, коли трек потребує конвертації, який вихідний формат і частоту дискретизації використовувати для конвертації. Окрема група перемикачів "проблемного пристрою" обходить специфічні апаратні помилки (обробка raw-PCM, порядок байтів, заголовок HTTP content-length). Вони існують, тому що відповідність UPnP у реальному світі є нерівномірною; більшість людей ніколи їх не чіпають.
Коли торкатися профілю. Тільки коли конкретний пристрій працює неправильно. За замовчуванням загальний профіль, плюс стандартні налаштування для кожного пристрою, що постачаються для поширеного обладнання, охоплюють більшість випадків. Щоб знайти user-agent пристрою, щоб ви могли його націлити, увімкніть налагоджувальне логування (див. Діагностика), відтворіть щось з пристрою та прочитайте рядок useragent= у журналі.
Найважливіший перемикач профілю — force native stream — взагалі не стосується обмежень; він вирішує, чи застосовується будь-що з вищезазначеного. Це наступна концепція.


Налаштування
| Елемент керування | Що він робить |
|---|---|
| Назва | Відображуване ім'я профілю. |
| Застосовується, коли user-agent містить | Фрагмент(и) user-agent, які пристрій повинен містити, щоб відповідати цьому профілю; розділяйте альтернативи |. Пристрої, що не відповідають, повертаються до загального профілю. |
| Максимальний розмір зображення | Максимальний розмір зображення обкладинки альбому в пікселях, що надсилається на цей пристрій (160 пікселів — стандарт DLNA; більші розміри не підтримуються повсюдно). |
| Частота дискретизації на виході / до | Діапазон частот дискретизації, які приймає пристрій; джерела поза ним конвертуються (примушує до перекодування). |
| Канали / лише стерео | Змішує багатоканальний звук до стерео для пристроїв, які підтримують лише два канали. |
| Максимальна бітова глибина | Найвища бітова глибина, яку приймає пристрій; джерела з більшою глибиною конвертуються. |
| Вихідний формат | Коли потрібне перекодування, формат для конвертації (PCM, FLAC, MP3, AAC, Ogg). |
| Частота дискретизації на виході | Частота дискретизації, яку використовувати при перекодуванні; "така ж, як джерело" зберігає оригінал. |
| Не використовувати RAW PCM | Обгортає PCM у контейнер WAV замість надсилання raw L16/L24. Для пристроїв, які спотворюють raw PCM (деякі Marantz). |
| Примусово використовувати little endian для PCM потоків | Надсилає PCM у little-endian замість big-endian, як зазначено в специфікації. Виправляє відтворення білого шуму на пристроях, які очікують little-endian. |
| Довжина вмісту | Як заповнити заголовок HTTP Content-Length: Default (правильне значення), None (опустити), PCM Only, або Fixed (сторожове "величезне" значення). Для пристроїв, які неправильно обробляють заголовок. |