MPC Audio Renderer - полное отсутствие звука при 2-ом выводе [Исправлено]

Автор Evgeniy1990, 20 февраля 2025, 20:50:42

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

Evgeniy1990

Описание проблемы:

При использовании второго вывода звука, при переключении звукового устройства, происходит полное пропадание звука, вместо его дубликации на выбранное звуковое устройство.

Основные схемы (комбинации интерфейсов) работы:

1. WASAPI Shared + WASAPI Shared
2. WASAPI + DirectSound
3. DirectSound + WASAPI
4. DirectSound + DirectSound

Алгоритмы воспроизведения:

Алгоритм воспроизведения №1:

I. Имеем два звуковых устройства:

1. Интегрированное "Realtek HD" (по умолчанию)
2. Дискретное "USB Audio"

II. Выставляем звуковую комбинацию интерфейсов:

WASAPI Shared + WASAPI Shared + Первичный звуковой драйвер - Realtek HD

III. Запускаем любой локальный видео файл

IV. В свойствах одного из "MPC Audio Renderer" выбираем переключение звука на "USB Audio"

Фактический результат: после переключения звука на "USB Audio", сам звук исчезает навсегда.

Ожидаемый результат: после переключения звука на "USB Audio", сам звук должен был дублироваться на дискретное звуковое устройство "USB Audio".

-----------------------------------------------------------------------------------------------------

Алгоритм воспроизведения №2:

I. Имеем два звуковых устройства:

1. Интегрированное "Realtek HD" (по умолчанию)
2. Дискретное "USB Audio"

II. Выставляем звуковую комбинацию интерфейсов:

WASAPI Shared (Первичный звуковой драйвер - Realtek HD) + DirectSound (Системный по умолчанию)

III. Запускаем любой локальный видео файл

IV. В свойствах "MPC Audio Renderer" выбираем переключение звука на "USB Audio"

Фактический результат: после переключения звука на "USB Audio", сам звук исчезает навсегда.

Ожидаемый результат: после переключения звука на "USB Audio", сам звук должен был дублироваться на дискретное звуковое устройство "USB Audio".

-----------------------------------------------------------------------------------------------------

Алгоритм воспроизведения №3:

I. Имеем два звуковых устройства:

1. Интегрированное "Realtek HD" (по умолчанию)
2. Дискретное "USB Audio"

II. Выставляем звуковую комбинацию интерфейсов:

DirectSound (Системный по умолчанию) + WASAPI Shared (Первичный звуковой драйвер - Realtek HD)

III. Запускаем любой локальный видео файл

IV. В свойствах "MPC Audio Renderer" выбираем переключение звука на "USB Audio"

Фактический результат: после переключения звука на "USB Audio", сам звук исчезает навсегда.

Ожидаемый результат: после переключения звука на "USB Audio", сам звук должен был дублироваться на дискретное звуковое устройство "USB Audio".

-----------------------------------------------------------------------------------------------------

Комбинация "DirectSound + DirectSound" - единственная из всех, которая работает нормально, при любом раскладе звуковых устройств, т.е. что указали, то и работает, звук всегда есть.

Общий вывод и общая суть:

При любых попытках переключить звук во время воспроизведения (т.е. на лету), с одного звукового устройства на другое и обратно - он всегда пропадает (исчезает) напрочь и навсегда, чего быть ни в коем случае не должно.

При обратном переключении звука, т.е. возвращении его в исходное состояние, он также не появляется, а выбранное устройство не меняется при этом вообще. Говоря простыми словами - пропал звук и тут же, "к чертям собачьим", полетела вся здравая логика работы MPC Audio Renderer. Если сказать еще проще, то я выбираю другое устройство, а оно не выбирается, никак не меняется. А если и меняется то статус на лету не обновляется, хотя должен.

Такая вот массовая поломка MPC Audio Renderer! Никаким образом нельзя переключить (вывести) звук на другое звуковое устройство. Его просто не будет вот и все. Естественно, через некоторое время плеер остановит воспроизводимые кадры и зависнет намертво.

20 февраля 2025, 22:58:16
UPDATE 1: Попытки найти проблемное изменение, вызвавшее глобальную поломку переключения и работы звуковых устройств.
Текущий диапазон поиска: [1.6.3.99 -> 1.7.0]

20 февраля 2025, 23:40:28
UPDATE 2: Попытки сузить круг поиска проблемного изменения при открытии HLS YouTube. Круг поиска сужен.
Текущий диапазон поиска: [1.6.11.135 -> 1.6.11.138]

21 февраля 2025, 01:01:36
UPDATE 3: Попытки поиска и сужения круга полного отсутствия звука при втором выводе, при открытии ссылок с VK-видео и RuTube.
Текущий диапазон поиска: [1.6.5.221 -> 1.6.6.6]

21 февраля 2025, 01:05:56
UPDATE 4: Круг поиска был сужен. Окончательный диапазон поиска найден!
Итоговый диапазон поиска: [1.6.5.221 -> 1.6.6 Release]

21 февраля 2025, 01:11:44
UPDATE 5: Вот они, те самые коммиты из итогового диапазона поиска, которые вызвали масштабную и глобальную поломку работы со звуком и звуковыми устройствами в MPC Audio Renderer, при использовании 2-ого вывода аудио.

Первый commit - f57e514
Второй commit - 24ed157
Motherboards: ASUS P5Q/GIGABYTE EP35C-DS3R, CPU: Core 2 Duo E8300/E8400, Memory: DDR2/DDR3, Video: MSI GTX 465/ASUS EAH5770/GTX 650 Ti, Audio: ASUS Xonar DG 5.1/Creative SB 5.1. VX/X-Fi Xtreme Gamer.

Aleksoid1978

#1
Исправлено - проверяем.
AMD Ryzen 5 3600 /GIGABYTE B450 Gaming X /AMD Radeon R9 16Gb@3200 /Kingston 500Gb M.2 /GTX 1650 /Samsung U28R550UQI /OLED Philips 55OLED707 /Yamaha RX-V471 + NS-555 + NS-C444 + NS-333 + YST-SW215

Evgeniy1990

#2
Aleksoid1978
Цитата: Aleksoid1978 от 21 февраля 2025, 02:03:49Исправлено - проверяем.
Основная глобальная поломка с отсутствием звука, при переключении звуковых устройств, полностью исправлена.
Великолепно! ;)

21 февраля 2025, 07:17:28
UPDATE: Останется только поправить Exclusive Mode. Реализовать специальное условие.
Т.е. при двойном выводе аудио, если выбран Exclusive Mode, всегда строить граф фильтров только с одним MPC Audio Renderer. Никаких DirectSound в графе фильтров быть не может, иначе получаем конфликт интерфейсов API и звуковых устройств, из-за чего, во время воспроизведения различных файлов, звука нет вообще.
Motherboards: ASUS P5Q/GIGABYTE EP35C-DS3R, CPU: Core 2 Duo E8300/E8400, Memory: DDR2/DDR3, Video: MSI GTX 465/ASUS EAH5770/GTX 650 Ti, Audio: ASUS Xonar DG 5.1/Creative SB 5.1. VX/X-Fi Xtreme Gamer.

Aleksoid1978

Нет - ничего специального для Exclusive делаться не будет.
AMD Ryzen 5 3600 /GIGABYTE B450 Gaming X /AMD Radeon R9 16Gb@3200 /Kingston 500Gb M.2 /GTX 1650 /Samsung U28R550UQI /OLED Philips 55OLED707 /Yamaha RX-V471 + NS-555 + NS-C444 + NS-333 + YST-SW215