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

Автор Evgeniy1990, 16 ноября 2017, 13:38:50

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

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

Evgeniy1990

Тема: "MPC Audio Renderer" - Пропадание звука, при переключении на другое звуковое устройство.

И, как следствие, - зависание плеера намертво, при попытках закрыть сам видео файл, или же просто сам плеер.

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

Иногда, при переключении на другое звуковое устройство в "MPC Audio Renderer", можно получить отсутствие звука на звуковом устройстве, на которое было выполнено переключение.

Условия проявления:

1. В системе должно быть, как минимум, два звуковых устройства
2. Одно из звуковых устройств должно быть "звуковым устройством по умолчанию"
3. Используется режим "WASAPI: Shared"
4. В настройках "MPC Audio Renderer" должен быть выбран "Первичный звуковой драйвер"
5. Необходимы несколько видео файлов, лежащих в одной папке, желательно сериал из множества серий

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

1. В системном микшере звука устанавливаем одно из звуковых устройств в качестве звукового устройтсва по умолчанию
(В моем случае: "C-Media PCI Audio Device")
2. Открыть любой видео файл
3. Выполнить: "ПКМ" -> "Фильтры" -> "MPC Audio Renderer"
4. Выбрать в списке звуковых устройств - другое звуковое устройство
(В моем случае: "ASUS Xonar DG Audio Device")
5. Если звук остался, то выполняем переход на следующий видео файл в папке и повторяем пункты: 3 и 4.

Фактический результат:

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

Ожидаемый результат:

После выполнения данного алгоритма, звук не должен пропадать и отсутствовать.

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

P.S.

1. После того, как звук пропадет, прогресс воспроизведения продолжиться дальше и, спустя некоторое время (несколько секунд), воспроизведение кадров просто остановится, но сам прогресс продолжит идти вперед.
2. Если попробовать закрыть сам воспроизводимый видео файл, или же просто сам плеер, щелкнув по красному крестику, плеер просто зависнет намертво.

Данный баг является плавающим, но его можно получить, если каждый раз выполнять переход на следующий файл в папке и после его открытия, сразу же переключать звук с одного звукового устройства на другое.
И так до тех пор, пока не проявится данный баг.

Пока предполагаю, что могло повлиять:

1. Рефакторинг кода работы со списком устройств
2. Изменения в "Filter", в самом "MPC Audio Renderer"
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

Shared не использую, ну и несколько раз устройства не переключаю. Но так у ребенка на компе частенько делаю переключение на живую - все ок. А т.к. баг плавающий - отловить такое очень трудно, поэтому не уверен что получиться победить ...
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

V0lt

Так. Для начала надо понять, что переключение звукового устройства через меню работает только для текущего файла (или сессии). Это специально так сделано. Если надо, чтобы настройка запоминалась, то заходим в окно настроек и настраиваем.

Evgeniy1990

Цитата: V0ltТак. Для начала надо понять, что переключение звукового устройства через меню работает только для текущего файла (или сессии). Это специально так сделано. Если надо, чтобы настройка запоминалась, то заходим в окно настроек и настраиваем.
Вы не поняли проблему. Она заключается в том, что при переключении (смене) с одного звукового устройства на другое, может просто пропасть (исчезнуть) звук.

Будет просто воспроизведение видео, но без звука. А через некоторое время перестанут воспроизводиться и сами видео кадры, при этом, прогресс воспроизведения будет продолжать двигаться вперед. И если попытаться закрыть воспроизводимый видео файл, или плеер, то приложение просто зависнет намертво.
[merge_posts_bbcode]Добавлено: 2017-11-16 21:53:08[/merge_posts_bbcode]

Цитата: Aleksoid1978А т.к. баг плавающий - отловить такое очень трудно, поэтому не уверен что получиться победить ...
Не переживайте, я попробую найти более стабильный алгоритм проявления этого бага.

P.S. Нашел!

Более стабильный алгоритм воспроизведения:

1. Открыть видео файл
2. Поставить воспроизведение на паузу
3. Свернуть плеер (можно и не сворачивать)
4. Перевести компьютер в спящий режим
5. Подождать некоторое время (т.е. не сразу выходить из спящего режима)
6. После значительного ожидания, выйти из спящего режима
7. Запустить воспроизведение видео файла, стоящего ранее на паузе
8. После запуска воспроизведения, выбрать другое звуковое устройство: "ПКМ" -> "Фильтры" -> "MPC Audio Renderer"

В результате, переключение произойдет, звуковое устройство измениться, но при этом будет полностью отсутствовать звук. Если закрыть видео файл через кнопку "Стоп" (ПКМ -> Закрыть), или же просто закрыть сам плеер, нажав на красный крестик, то приложение зависнет намертво.
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

В спящий режим не переводил(я это режим всегда отключаю на стационарных системах). А так - проверил переключая раз наверное 50 включая и смену файлов. Не смог поймать зависание.
[merge_posts_bbcode]Добавлено: 2017-11-17 09:41:05[/merge_posts_bbcode]

В спящий режим не переводил(я это режим всегда отключаю на стационарных системах). А так - проверил переключая раз наверное 50 включая и смену файлов. Не смог поймать зависание.
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

Цитата: Aleksoid1978В спящий режим не переводил(я это режим всегда отключаю на стационарных системах). А так - проверил переключая раз наверное 50 включая и смену файлов. Не смог поймать зависание.
Желательно проверить, при использовании спящего режима и выхода из него.

Хорошо, тогда еще такой вариант - самый удобный для вас и для получения данного бага:

1. Открыть эту ссылку YouTube
2. Во время воспроизведения данного видео файла по этой ссылке, несколько раз пытаться переключать с одного звукового устройства на другое и обратно, с помощью кнопки "Динамики" на панели задач.

И так до тех пор, пока не исчезнет (не пропадет) полностью звук.

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

Я уверен, что вы сможете его получить таким способом. У себя получаю без проблем, на третий, или четвертый раз.
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

Ну что могу сказать - раз после 15 я смог поймать данный баг ))
А вот в Debug версии не разу. Так что шансов на исправление - не то что бы мало, а просто нет совсем ))
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

Цитата: Aleksoid1978Ну что могу сказать - раз после 15 я смог поймать данный баг ))
А вот в Debug версии не разу. Так что шансов на исправление - не то что бы мало, а просто нет совсем ))
Баг не совсем приятный, я вот недавно смотрел одну ссылку YouTube и даже во время обычного воспроизведения звук просто пропал. Т.е. я смотрел видео и во время его воспроизведения самовольно пропал звук.

Я думаю, что шансы все-таки есть. Почему? Объясню.

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

Нужно просто найти такой сэмпл, или такое видео, где пропадание звука будет стабильным в определенном месте.

P.S. Нашел такой сэмпл.

Именно в этом сэмпле, после его открытия, при использовании "MPC Audio Renderer (WASAPI: Shared/Exclusive Mod\'s)", звук появляется не сразу, а где-то примерно в середине. После окончания воспроизведения, происходит падение.
[merge_posts_bbcode]Добавлено: 2017-11-21 00:44:33[/merge_posts_bbcode]

Проверил этот же самый сэмпл, с использованием "Sanear Audio Renderer".
С ним звук вообще не пропадает, т.е. появляется вовремя всегда.
На нашем "MPC Audio Renderer", при использовании обеих режимов WASAPI (Excludsive/SHared Mode\'s), звук появляется не сразу.
Поэтому, неудивительно, что происходит падение, поскольку прогресс воспроизведения дошел до конца, а данные звука не закончились полностью воспроизводиться, поскольку начались не сс самого начала, а где-то примерно с середины.

[merge_posts_bbcode]Добавлено: 2017-11-21 00:48:47[/merge_posts_bbcode]

Если у вас, допустим, в данном сэмпле звук появится сразу, что маловероятно, но вероятность все же есть, тогда перезапустите его несколько раз, до тех пор, пока в самом начале воспроизведения видео, звук не пропадет.
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

Проверил - отлично играет данный ролик. Проверял на 2-х разных машинах, одна с Asus Xonar, другая с Nvidia HDMI.
Проверил с Shared/Exclusive, открывал ролик раз по 20 на каждом из режимов. Звук начинается сразу же.

Даже и не знаю чем помочь ...
[merge_posts_bbcode]Добавлено: 2017-11-21 12:46:53[/merge_posts_bbcode]

По пропаданию звука при переключении устройств - попробуй тестовый билд https://yadi.sk/d/dVo0-wfF3PsrDg
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

Цитата: Aleksoid1978По пропаданию звука при переключении устройств - попробуй тестовый билд https://yadi.sk/d/dVo0-wfF3PsrDg
Проверил тестовый билд. Скажу сразу, что стало лучше! Я ни разу не смог получить пропадание звука.

Проверял, при двух вышеописанных условиях:

1. На ссылке YouTube
2. При условии выхода из спящего режима

По поводу ссылки YouTube:

На вашем тестовом билде, я все 16 минут воспроизведения данного ролика, переключал туда-сюда звуковые устройства, т.е. с одного звукового устройства (C-Media) на другое (ASUS Xonar DG) и обратно. И получить пропадание не смог, причем проверял дважды.

Даже в SVN-билде, я уже к середине мог получить пропадание звука, при переключении с "C-Media" на "ASUS Xonar DG", при условии, что "C-Media" - звуковое устройство по умолчанию".

Общим условием было: "Первичный звуковой драйвер".

По поводу продолжения воспроизведения, после выхода из спящего режима:

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

В SVN-билде, после выхода из спящего режима и возобновления воспроизведения, через несколько секунд, или пару минут (недолго), уже пропадет звук, а после, спустя некоторое время, перестанут воспроизводиться видео кадры (само видео), при этом прогресс пойдет дальше до конца.

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

Осталось только разобраться с отсутствием звука, после открытия, в начале воспроизведения на тестовом сэмпле.
[merge_posts_bbcode]Добавлено: 2017-11-21 12:18:38[/merge_posts_bbcode]

Цитата: Aleksoid1978Проверил - отлично играет данный ролик. Проверял на 2-х разных машинах, одна с Asus Xonar, другая с Nvidia HDMI.
Проверил с Shared/Exclusive, открывал ролик раз по 20 на каждом из режимов. Звук начинается сразу же.

Даже и не знаю чем помочь ...

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

У вас был ноутбук с интегрированной в процессор видеокартой. Вот на нем вы можете проверить данный тестовый сэмпл.
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

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

И у меня просьба - на тестовом билде проверить не смену устройства, а изменение параметров(Shared <-> Exclusive, снятие - постановку галок остальных) и сравнить с SVN - не стало ли хуже.
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

Цитата: Aleksoid1978И у меня просьба - на тестовом билде проверить не смену устройства, а изменение параметров(Shared <-> Exclusive, снятие - постановку галок остальных) и сравнить с SVN - не стало ли хуже.
Проверил переключение режимов WASAPI с одного на другой и обратно - все в полном порядке, никаких проблем не было.

Также проверил включение/отключение опций, при использовании режима Exclusive, - аналогично, никаких проблем.

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

В любом случае, хуже точно не стало.
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.