Тема: "MPC Audio Renderer" - пропадание звука и мертвое зависание плеера, при переключении режимов WASAPI и звуковых устройств на лету, во время воспроизведения, туда и обратно несколько раз.
Описание проблемы:
В переделанном "MPC Audio Renderer" была обнаружена проблема, когда во время воспроизведения различных видео файлов, в том числе "особых" редких видео файлов, при переключении режимов WASAPI и звуковых устройств на лету, туда и обратно несколько раз, происходит пропадание звука, что в конечном итоге приводит к самовольной остановке воспроизведения видео кадров самого видео и мертвому зависанию самого плеера, если после остановки кадров видео, попробовать закрыть сам воспроизводимый видео файл (Файл -> Закрыть (Ctrl+C), или ПКМ по кнопке "Стоп").
Алгоритм воспроизведения:
1. Найти и открыть любой видео файл
2. После его открытия, во время воспроизведения видео файла, переключить режимы WASAPI с "Exclusive" на "Shared" и обратно с "Shared" на "Exclusive", а также и звуковые устройства туда и обратно и так несколько раз, пока не произойдет пропадание звука и остановки воспроизведения кадров видео.
Фактический результат:
В конечном итоге произойдет пропадание самого звука, остановка воспроизведения кадров видео и мертвое зависание самого плеера, при попытке закрыть сам воспроизводимый видео файл.
Ожидаемый результат:
При переключении режимов WASAPI и звуковых устройств на лету, во время воспроизведения, туда и обратно, несколько раз, не должно быть пропадания звука, остановки воспроизведения кадров видео и мертвого зависания самого плеера, при попытке закрыть воспроизводимый видео файл.
P.S. Изначально, данная проблема (баг) с пропаданием звука, при переключении звуковых устройств и режимов WASAPI на лету, во время воспроизведения и дальнейшими ее последствиями - остановкой воспроизведения кадров видео и мертвым зависанием плеера, при попытках закрыть видео файл, или же сам плеер, является плавающей.
Но, если несколько раз, как можно чаще, во время воспроизведения на лету, переключать звуковые устройства, и режимы WASAPI туда и обратно, то она обязательно проявится.
Даже если такое и есть - то более как надуманная, синтетическая проблема. Ни один пользователь во время использования для просмотра такое делать не будет - это 100%. Примеры ради поимки багов не считаются.
Откладываем в самый дальний ящик...
Цитата: Aleksoid1978Даже если такое и есть - то более как надуманная, синтетическая проблема. Ни один пользователь во время использования для просмотра такое делать не будет - это 100%. Примеры ради поимки багов не считаются.
Откладываем в самый дальний ящик...
Не надуманная, а подтвержденная проблема. Да, я согласен с тем, что никто такое, во время воспроизведения проделывать не будет, но ради того, чтобы довести наш встроенный "MPC Audio Renderer" до ума, можно было бы попытаться ее воспроизвести и устранить.
Ладно, тогда потом посмотрите.
Ну я проделал все этим изменения несколько раз, наверное раз по 5-6 менял и устройства, и настройки. Все отлично. А искать баги ради их нахождения - зачем оно нужно ?? Спортивный интерес разве только ))
Цитата: Aleksoid1978Ну я проделал все этим изменения несколько раз, наверное раз по 5-6 менял и устройства, и настройки. Все отлично. А искать баги ради их нахождения - зачем оно нужно ?? Спортивный интерес разве только ))
Я готов предоставить вам видео, где проявляется данная проблема.
Пожалуйста,
ссылка на видео файл.
Вы просто, во время воспроизведения, попереключайте режимы WASAPI несколько раз, пока не проявится данная проблема. Я уверен, что вы сможете ее воспроизвести.
Сделал несколько подходов, каждый раз менял с Exclusive -> Shared -> Exclusive, а так же настройки, раз по 20-30. Все гуд.
[merge_posts_bbcode]Добавлено: 2018-04-25 21:10:14[/merge_posts_bbcode]
Могу посоветовать вот что - запустить Debug билд, потыкаться - а debug вывод( из Dbgview.exe), после того как пропадет звук/зависнет воспроизведение, выложить мне.
Цитата: Aleksoid1978Сделал несколько подходов, каждый раз менял с Exclusive -> Shared -> Exclusive, а так же настройки, раз по 20-30. Все гуд.
Странно, что у вас вообще не проявляется данная проблема...
Цитата: Aleksoid1978Могу посоветовать вот что - запустить Debug билд, потыкаться - а debug вывод( из Dbgview.exe), после того как пропадет звук/зависнет воспроизведение, выложить мне.
Собрал я Debug-билд и попробовал переключать режимы WASAPI и звуковые устройства на лету, во время воспроизведения различных видео файлов. К сожалению, в отладочном билде с использованием утилиты DebugView, воспроизвести эту проблему не удалось никак. Зато в релизных билдах она воспроизводится очень даже легко, со второго - третьего раза.
Предлагаю такой вариант - сделайте пожалуйста специальный релизный билд с созданием лог-файла на рабочем столе.
Я попробую получить данную проблему вместе с лог-файлом таким способом, после чего выложу вам сам лог.
Пока пытался поймать проблему в отладочном билде, обнаружил еще некоторые баги, например:
1. В отладочном билде выскакивает Assert, при открытии видео файлов с PCM-аудио.
Выглядит
он вот так.
Ссылка на Debug-log
2. При переходе на следующий файл в папке вообще теряется напрочь "MPC Audio Renderer".
Вместо него подключается "DirectSound Audio Renderer", при этом происходит одно из двух - либо плеер просто намертво висит, сразу же после перехода на следующий файл в папке, либо воспроизводится через DirectSound, но без звука.
Выглядит
это вот так.
Хочу отметить, что вторая проблема связана с основной проблемой данного баг-репорта.
Что интересно, в лог-файлах присутствует такая строка:
Oops, somebody was trying to be naughty! (called IsDebuggerPresent)P.S. На всякий случай прилагаю вам
7 различных лог файлов. Посмотрите их пожалуйста. Чтобы вам было быстрее, пролистайте каждый из них в самый низ и обратите внимание на строчки ближе к концу.
Теряется при переходе когда висит сообщение assert ??
Цитата: Aleksoid1978Теряется при переходе когда висит сообщение assert ??
Нет. Assert, который показан у меня на скриншоте, возникает сразу же при открытии видео файла с PCM-аудио, т.е. с прямым выводом звука, минуя аудио декодер.
А "MPC Audio Renderer" теряется именно при переходе на следующий файл в папке, т.е. после перехода аудио-рендерер меняется уже на "Default DirectSound Device" и при этом происходит одно из двух - или после перехода, само воспроизведение намертво висит, что как раз-таки и показано в моей видеозаписи, или воспроизводится, но без звука.
Цитата: Evgeniy1990Что интересно, в лог-файлах присутствует такая строка:
Oops, somebody was trying to be naughty! (called IsDebuggerPresent)
Не обращай внимание на эту строку. У нее очень узкое предназначение.
Aleksoid1978
Наконец-то мне все-таки удалось получить мертвое зависание плеера и потерю звука, при переключении режимов WASAPI и звуковых устройств на лету, во время воспроизведения.
Прилагаю лог-файл (https://yadi.sk/i/olLuk-_J3UtjZC).
Также прилагаю скриншот мертвого зависания отладочного билда вместе с DebugView (https://yadi.sk/i/pDCN1WS73UtjqM).
К сожалению логи ничего не дают.
Цитата: Aleksoid1978К сожалению логи ничего не дают.
Я выяснил, откуда взялась эта проблема. Она появилась начиная с
SVN r3545, причем - это поломка по ходу корректировки переделанного встроенного "MPC Audio Renderer".
Итоговый диапазон поиска:
[3542 -> 3545]