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 7 7700 /ASRock B650M Pro RS /G.Skill RIPJAWS 32 ГБ /Kingston 1Tb M.2 /RTX 4060 /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 7 7700 /ASRock B650M Pro RS /G.Skill RIPJAWS 32 ГБ /Kingston 1Tb M.2 /RTX 4060 /Samsung U28R550UQI /OLED Philips 55OLED707 /Yamaha RX-V471 + NS-555 + NS-C444 + NS-333 + YST-SW215

Evgeniy1990

Aleksoid1978
Цитата: Aleksoid1978 от 21 февраля 2025, 07:52:22Нет - ничего специального для Exclusive делаться не будет.
Немного неправильно выразился... Я имел в виду, что нужно исправить баг, когда при заранее выбранном режиме Exclusive Mode в настройках, еще до открытия файлов, при двойном выводе, после открытия файлов, у нас, вместо второго MPC Audio Renderer, подключается DirectSound.

Если же, при двойном выводе, во время воспроизведения, переключиться на лету с Shared на Exclusive, то тогда данного бага нет, все работает правильно, одно звуковое устройство уходит в монопольный режим, другое остается работать в Shared Mode.

P.S. Ведь звуковые устройства мы можем переключать только лишь после открытия файлов. А при Exclusive Mode, если выбираем его заранее до открытия файлов, мы, на данный момент, сделать этого не можем, так как в граф фильтров, вместо второго MPC Audio Renderer, влезает DirectSound и естественно получаем баг, когда звука нет вообще и плеер просто зависает намертво, если попытаться с ним произвести какое-либо действие.
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.