MPC-BE forum

MPC-BE => Баг Репорт / The bug report => Тема начата: Evgeniy1990 от 25 апреля 2018, 10:20:50

Название: MPC Audio Renderer - пропадание звука и мертвое зависание плеера
Отправлено: Evgeniy1990 от 25 апреля 2018, 10:20:50
Тема: "MPC Audio Renderer" - пропадание звука и мертвое зависание плеера, при переключении режимов WASAPI и звуковых устройств на лету, во время воспроизведения, туда и обратно несколько раз.

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

В переделанном "MPC Audio Renderer" была обнаружена проблема, когда во время воспроизведения различных видео файлов, в том числе "особых" редких видео файлов, при переключении режимов WASAPI и звуковых устройств на лету, туда и обратно несколько раз, происходит пропадание звука, что в конечном итоге приводит к самовольной остановке воспроизведения видео кадров самого видео и мертвому зависанию самого плеера, если после остановки кадров видео, попробовать закрыть сам воспроизводимый видео файл (Файл -> Закрыть (Ctrl+C), или ПКМ по кнопке "Стоп").

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

1. Найти и открыть любой видео файл
2. После его открытия, во время воспроизведения видео файла, переключить режимы WASAPI с "Exclusive" на "Shared" и обратно с "Shared" на "Exclusive", а также и звуковые устройства туда и обратно и так несколько раз, пока не произойдет пропадание звука и остановки воспроизведения кадров видео.

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

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

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

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

P.S. Изначально, данная проблема (баг) с пропаданием звука, при переключении звуковых устройств и режимов WASAPI на лету, во время воспроизведения и дальнейшими ее последствиями - остановкой воспроизведения кадров видео и мертвым зависанием плеера, при попытках закрыть видео файл, или же сам плеер, является плавающей.

Но, если несколько раз, как можно чаще, во время воспроизведения на лету, переключать звуковые устройства, и режимы WASAPI туда и обратно, то она обязательно проявится.
Название: MPC Audio Renderer - пропадание звука и мертвое зависание плеера
Отправлено: Aleksoid1978 от 25 апреля 2018, 11:36:48
Даже если такое и есть - то более как надуманная, синтетическая проблема. Ни один пользователь во время использования для просмотра такое делать не будет - это 100%. Примеры ради поимки багов не считаются.

Откладываем в самый дальний ящик...
Название: MPC Audio Renderer - пропадание звука и мертвое зависание плеера
Отправлено: Evgeniy1990 от 25 апреля 2018, 12:24:01
Цитата: Aleksoid1978Даже если такое и есть - то более как надуманная, синтетическая проблема. Ни один пользователь во время использования для просмотра такое делать не будет - это 100%. Примеры ради поимки багов не считаются.

Откладываем в самый дальний ящик...
Не надуманная, а подтвержденная проблема. Да, я согласен с тем, что никто такое, во время воспроизведения проделывать не будет, но ради того, чтобы довести наш встроенный "MPC Audio Renderer" до ума, можно было бы попытаться ее воспроизвести и устранить.

Ладно, тогда потом посмотрите.
Название: MPC Audio Renderer - пропадание звука и мертвое зависание плеера
Отправлено: Aleksoid1978 от 25 апреля 2018, 13:27:09
Ну я проделал все этим изменения несколько раз, наверное раз по 5-6 менял и устройства, и настройки. Все отлично. А искать баги ради их нахождения - зачем оно нужно ?? Спортивный интерес разве только ))
Название: MPC Audio Renderer - пропадание звука и мертвое зависание плеера
Отправлено: Evgeniy1990 от 25 апреля 2018, 13:35:44
Цитата: Aleksoid1978Ну я проделал все этим изменения несколько раз, наверное раз по 5-6 менял и устройства, и настройки. Все отлично. А искать баги ради их нахождения - зачем оно нужно ?? Спортивный интерес разве только ))
Я готов предоставить вам видео, где проявляется данная проблема.
Пожалуйста, ссылка на видео файл.
Вы просто, во время воспроизведения, попереключайте режимы WASAPI несколько раз, пока не проявится данная проблема. Я уверен, что вы сможете ее воспроизвести.
Название: MPC Audio Renderer - пропадание звука и мертвое зависание плеера
Отправлено: Aleksoid1978 от 25 апреля 2018, 14:10:14
Сделал несколько подходов, каждый раз менял с Exclusive -> Shared -> Exclusive, а так же настройки, раз по 20-30. Все гуд.
[merge_posts_bbcode]Добавлено: 2018-04-25 21:10:14[/merge_posts_bbcode]

Могу посоветовать вот что - запустить Debug билд, потыкаться - а debug вывод( из Dbgview.exe), после того как пропадет звук/зависнет воспроизведение, выложить мне.
Название: MPC Audio Renderer - пропадание звука и мертвое зависание плеера
Отправлено: Evgeniy1990 от 25 апреля 2018, 23:51:55
Цитата: 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 различных лог файлов. Посмотрите их пожалуйста. Чтобы вам было быстрее, пролистайте каждый из них в самый низ и обратите внимание на строчки ближе к концу.
Название: MPC Audio Renderer - пропадание звука и мертвое зависание плеера
Отправлено: Aleksoid1978 от 26 апреля 2018, 01:12:59
Теряется при переходе когда висит сообщение assert ??
Название: MPC Audio Renderer - пропадание звука и мертвое зависание плеера
Отправлено: Evgeniy1990 от 26 апреля 2018, 02:00:32
Цитата: Aleksoid1978Теряется при переходе когда висит сообщение assert ??
Нет. Assert, который показан у меня на скриншоте, возникает сразу же при открытии видео файла с PCM-аудио, т.е. с прямым выводом звука, минуя аудио декодер.

А "MPC Audio Renderer" теряется именно при переходе на следующий файл в папке, т.е. после перехода аудио-рендерер меняется уже на "Default DirectSound Device" и при этом происходит одно из двух - или после перехода, само воспроизведение намертво висит, что как раз-таки и показано в моей видеозаписи, или воспроизводится, но без звука.
Название: MPC Audio Renderer - пропадание звука и мертвое зависание плеера
Отправлено: V0lt от 28 апреля 2018, 17:02:49
Цитата: Evgeniy1990Что интересно, в лог-файлах присутствует такая строка:
Oops, somebody was trying to be naughty! (called IsDebuggerPresent)
Не обращай внимание на эту строку. У нее очень узкое предназначение.
Название: MPC Audio Renderer - пропадание звука и мертвое зависание плеера
Отправлено: Evgeniy1990 от 28 апреля 2018, 22:10:29
Aleksoid1978

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

Прилагаю лог-файл (https://yadi.sk/i/olLuk-_J3UtjZC).

Также прилагаю скриншот мертвого зависания отладочного билда вместе с DebugView (https://yadi.sk/i/pDCN1WS73UtjqM).
Название: MPC Audio Renderer - пропадание звука и мертвое зависание плеера
Отправлено: Aleksoid1978 от 29 апреля 2018, 03:45:15
К сожалению логи ничего не дают.
Название: MPC Audio Renderer - пропадание звука и мертвое зависание плеера
Отправлено: Evgeniy1990 от 02 мая 2018, 08:48:36
Цитата: Aleksoid1978К сожалению логи ничего не дают.
Я выяснил, откуда взялась эта проблема. Она появилась начиная с SVN r3545, причем - это поломка по ходу корректировки переделанного встроенного "MPC Audio Renderer".

Итоговый диапазон поиска: [3542 -> 3545]