WASAPI - Зависание при перемотке. [Исправлено]

Автор Aleksoid1978, 11 июля 2016, 11:56:25

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

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

Aleksoid1978

Один раз уже поднимал тему, зависало при перемотке на .avi
Но оказывается формат тут не причем - так же иногда зависает и на .mkv/.mp4
Все фильтры родные + вывод WASAPI Exclusive.

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

Скажу честно - даже мыслей нет что за причина, может быть WASAPI вывод. Но воспроизвести в 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

z_mashine

у меня тоже бывает. багу этому с пол года, если не больше.

Aleksoid1978

Это хорошо что не у меня одного. Тоже с WASAPI выводом??
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

z_mashine

Цитата: Aleksoid1978Тоже с WASAPI выводом??
точно сказать не могу. периодически и system default пользуюсь.

Evgeniy1990

У меня также иногда виснет, при перемотке стрелками на клавиатуре.
Причем, зависание происходит только на всех новых системах. В момент зависания вообще ничего нельзя сделать с плеером, только лишь убить сам его процесс через диспетчер задач.
Кстати, в этот момент, у меня также использовался WASAPI Renderer (Shared Mode).

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

Aleksoid1978

Ну вот я тоже попробую несколько дней поюзать с системным выводом - посмотрим.
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:

В моем случае, данный баг (зависание, при перемотке), воспроизводится достаточно часто, не сказать, что очень редко.
Достаточно всего лишь запустить видео файл любого формата (AVI/MP4/MKV) и во время его воспроизведения как можно чаще кликать стрелку вправо (перемотка вперед) на клавиатуре.

Но то, что при использовании WASAPI есть проблемы с перемоткой - это точно.

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

Вот скриншот с данной проблемой: https://yadi.sk/i/D1nQtJTxtBkXh

Как мы видим, в самом конце воспроизведения, при перемотке, само воспроизведение просто остановилось с кнопкой воспроизведения в состоянии "Воспроизведения".

И еще один скриншот с самим твердым зависанием, при перемотке: https://yadi.sk/i/NHWnY19ntBkoF

Оба скриншота сделаны при использовании WASAPI,

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

P.S. Я попробовал прогнать некоторые свои видео файлы на DirectSound-рендерере и не получил ни единого зависания, несмотря на то, что перезапускал их по 5 раз. Т.е. я пока не смог получить зависание на 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.

Aleksoid1978

В том то и дело что я специально не могу воспроизвести. Взял сейчас 3 разных .mkv(с полными фильмами от 1.5 до 2 часов), каждый файл по 3 раза перематывал стрелками от начала до конца - и ни одного зависания ...
[merge_posts_bbcode]Добавлено: 2016-07-11 21:47:13[/merge_posts_bbcode]

Блин - тоже самое и с .mp4, а вот когда смотришь кино с периодической перемоткой - как назло зависнет.

[merge_posts_bbcode]Добавлено: 2016-07-11 21:47:38[/merge_posts_bbcode]

Evgeniy1990 - а попробуй собрать 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

Leo

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

Evgeniy1990

Цитата: Aleksoid1978В том то и дело что я специально не могу воспроизвести. Взял сейчас 3 разных .mkv(с полными фильмами от 1.5 до 2 часов), каждый файл по 3 раза перематывал стрелками от начала до конца - и ни одного зависания ...
Вам лучше всего проверять и прогонять более короткие по продолжительности видео файлы, например, сериалы, в которых одна серия по продолжительности составляет примерно 20 - 30 минут. На них вероятность проявления данного бага гораздо выше. Вот, например, в моем случае: https://yadi.sk/i/Z7DX2wwFtCfqV
Цитата: Aleksoid1978Блин - тоже самое и с .mp4, а вот когда смотришь кино с периодической перемоткой - как назло зависнет.
Согласен с вами, я также начинаю смотреть сериалы, проматываю опенинги и у меня точно также, как назло виснет. Действительно, просто реально бесит, да еще к тому же это "мертвое" зависание.
Не дай бог, если зависнет еще, при перемотке, в полноэкранном режиме. Это сразу будет только "ребут", поскольку в этом случае далеко не всегда можно вызвать диспетчер задач, чтобы убить процесс в памяти. Даже если удалось вам его вызвать, еще не факт, что он окажется на переднем плане.
Цитата: Aleksoid1978Evgeniy1990 - а попробуй собрать Debug версию и на ней погонять, зависнет или нет ??
Хорошо, соберу отладочный билд и буду на нем прогонять различные файлы.
[merge_posts_bbcode]Добавлено: 2016-07-11 23:21:11[/merge_posts_bbcode]

Цитата: Aleksoid1978Evgeniy1990 - а попробуй собрать Debug версию и на ней погонять, зависнет или нет ??
Aleksoid1978, я собрал и проверил отладочный билд SVN r1725 - аналогично точно также виснет при перемотке.
Получил данный баг на отдадочном билде сразу же, при перемотке стрелкой вправо почти до самого конца.
Мне очень повезло, что я получил его с первой попытки. Скриншот: https://yadi.sk/i/uzOextIRtCsDR

[merge_posts_bbcode]Добавлено: 2016-07-12 00:07:51[/merge_posts_bbcode]

Aleksoid1978:

Я также прогнал различные видео файлы в отладочном билде через "DebugView" для того, чтобы получить различные лог-файлы и посмотреть на какой и после какой строчки будет "мертвое" зависание.

И вот, что я получил:

Баг 1: "Мертвое" зависание, при открытии видео файла (во время самого процесса открытия)

https://yadi.sk/i/WjxYeWx7tCujo - Debug_01
https://yadi.sk/i/W9eZCRkitCuka - Debug_02
https://yadi.sk/i/Wilj51wFtCumZ - Log_01

Виснет после строки: "CMpcAudioRenderer::BeginFlush()"

Баг 2: Зависание в конце воспроизведения

https://yadi.sk/i/rCk1q0j2tCuuX - Debug_03
https://yadi.sk/i/huq4K5qJtCuyM - Log_02

Виснет после строки: "CMpcAudioRendererInputPin::EndOfStream()"

Баг 3: "Мертвое" зависание, при перемотке различных форматов видео файлов

https://yadi.sk/i/w79IKeXQtCv9N - Log_03

Виснет после строки: "CMpcAudioRenderer::WasapiFlush()"

Все эти баги присутствуют в "MPC Audio Renderer (WASAPI)" и проявляются только при его использовании.

[merge_posts_bbcode]Добавлено: 2016-07-12 00:23:14[/merge_posts_bbcode]

P.S. Есть подозрение, что на это повлияли последние изменения в "MPC Audio Renderer", начиная с SVN r1543 и выше (1546, 1547, 1549, 1551, 1581).
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

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/gQpuI43GtD38o
Проверил тестовый билд. Прогнал перемотку на различных форматах видео файлов.
Больше нет и не проявляется "мертвое" зависание, при перемотке.
Несмотря на то, что я перезапускал различные файлы по 10 раз, "мертвого" зависания, при перемотке, при использовании "MPC Audio Renderer (WASAPI)", я получить не смог. Как я ни пытался, а получить все равно не смог.
Отсюда делаю вывод, что основная проблема с "доставучим" мертвым зависанием, при перемотке, полностью исправлена.

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

Это:

1. Зависание, при переходе и открытии следующего файла.
2. Зависание в конце воспроизведения.

Обе эти проблемы воспроизвести несложно, по крайней мере, "зависание в конце воспроизведения" - это полностью на все 100% стабильная проблема, воспроизводится всегда. Вторая "зависание, при открытии, или переходе на следующий файл в каталоге" - плавающая, но воспроизводится через два три раза, точно также, как и "мертвое зависание при перемотке". Оно и неудивительно, если в случае "мертвого зависания" остановка происходила на строчке "WasapiFlush()", то в случае "зависания, при открытии, или переходе на след. файл в каталоге", остановка происходит на строчке "WasapiBeginFlush()". И там и там одна и та же функция "Flush()".
[merge_posts_bbcode]Добавлено: 2016-07-12 09:05:54[/merge_posts_bbcode]

P.S. Прилагаю скриншот с проблемой зависания, при переходе и открытии следующего видео файла в каталоге (папке): https://yadi.sk/i/tIZoPABetDCkE
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

С зависанием при открытии или в конце воспроизведения не разу не сталкивался.
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/CWrXqfFYtDSs5

Ваша задача:

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

Таким образом, вы, без проблем, сможете воспроизвести данную проблему.

P.S. Данный видео файл - не для детей! Пожалуйста, будьте очень осторожны.

К сожалению, пока это единственное у меня проблемное видео, на котором без проблем можно воспроизвести данную проблему, может быть есть еще, но я не уверен, надо искать.

Учитывая данный баг, можно смело сказать, что случай явно не единичный.

Можно конечно предположить, что данный видео файл, возможно, является "кривым", но что-то совсем не похоже.
Если обратить внимание на свойства видео-рендерера, во время его воспроизведения, то можно заметить, что он содержит джиттер, который периодически скачет от 8 до 9 и обратно от 9 до 8. И так продолжает чередоваться.
[merge_posts_bbcode]Добавлено: 2016-07-12 11:26:58[/merge_posts_bbcode]

Естественно все это необходимо выполнять только при использовании "MPC Audio Renderer (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.

Aleksoid1978

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