MPC-BE forum

MPC-BE => Баг Репорт / The bug report => Архив / Archive => Тема начата: Aleksoid1978 от 11 июля 2016, 11:56:25

Название: WASAPI - Зависание при перемотке. [Исправлено]
Отправлено: Aleksoid1978 от 11 июля 2016, 11:56:25
Один раз уже поднимал тему, зависало при перемотке на .avi
Но оказывается формат тут не причем - так же иногда зависает и на .mkv/.mp4
Все фильтры родные + вывод WASAPI Exclusive.

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

Скажу честно - даже мыслей нет что за причина, может быть WASAPI вывод. Но воспроизвести в Debug режиме никак не могу.
Название: WASAPI - Зависание при перемотке. [Исправлено]
Отправлено: z_mashine от 11 июля 2016, 12:08:52
у меня тоже бывает. багу этому с пол года, если не больше.
Название: WASAPI - Зависание при перемотке. [Исправлено]
Отправлено: Aleksoid1978 от 11 июля 2016, 12:26:05
Это хорошо что не у меня одного. Тоже с WASAPI выводом??
Название: WASAPI - Зависание при перемотке. [Исправлено]
Отправлено: z_mashine от 11 июля 2016, 12:53:58
Цитата: Aleksoid1978Тоже с WASAPI выводом??
точно сказать не могу. периодически и system default пользуюсь.
Название: WASAPI - Зависание при перемотке. [Исправлено]
Отправлено: Evgeniy1990 от 11 июля 2016, 12:56:42
У меня также иногда виснет, при перемотке стрелками на клавиатуре.
Причем, зависание происходит только на всех новых системах. В момент зависания вообще ничего нельзя сделать с плеером, только лишь убить сам его процесс через диспетчер задач.
Кстати, в этот момент, у меня также использовался WASAPI Renderer (Shared Mode).

Но, нужно еще удостовериться, что виснет действительно из-за WASAPI. Для этого надо будет еще погонять перемотку на "DirectSound" аудио-рендерерах.
Название: WASAPI - Зависание при перемотке. [Исправлено]
Отправлено: Aleksoid1978 от 11 июля 2016, 13:32:56
Ну вот я тоже попробую несколько дней поюзать с системным выводом - посмотрим.
Название: WASAPI - Зависание при перемотке. [Исправлено]
Отправлено: Evgeniy1990 от 11 июля 2016, 13:43:37
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.
Название: WASAPI - Зависание при перемотке. [Исправлено]
Отправлено: Aleksoid1978 от 11 июля 2016, 14:47:38
В том то и дело что я специально не могу воспроизвести. Взял сейчас 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 версию и на ней погонять, зависнет или нет ??
Название: WASAPI - Зависание при перемотке. [Исправлено]
Отправлено: Leo от 11 июля 2016, 17:38:14
Тоже ловлю такой баг (хоть и редко). Причем у меня такое ощущение, что ловится он в основном на файлах с большим расстоянием между ключевыми кадрами.
Название: WASAPI - Зависание при перемотке. [Исправлено]
Отправлено: Evgeniy1990 от 12 июля 2016, 00:23:14
Цитата: 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).
Название: WASAPI - Зависание при перемотке. [Исправлено]
Отправлено: Aleksoid1978 от 12 июля 2016, 02:46:27
Вот пробуем - https://yadi.sk/d/gQpuI43GtD38o
Название: WASAPI - Зависание при перемотке. [Исправлено]
Отправлено: Evgeniy1990 от 12 июля 2016, 09:05:54
Цитата: 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
Название: WASAPI - Зависание при перемотке. [Исправлено]
Отправлено: Aleksoid1978 от 12 июля 2016, 10:50:07
С зависанием при открытии или в конце воспроизведения не разу не сталкивался.
Название: WASAPI - Зависание при перемотке. [Исправлено]
Отправлено: Evgeniy1990 от 12 июля 2016, 11:26:58
Цитата: 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)". Пожалуйста, не забудьте об этом.
Название: WASAPI - Зависание при перемотке. [Исправлено]
Отправлено: Aleksoid1978 от 12 июля 2016, 11:59:55
Вот пробуем еще - https://yadi.sk/d/xgB7J9ddtDYCG
Название: WASAPI - Зависание при перемотке. [Исправлено]
Отправлено: Evgeniy1990 от 12 июля 2016, 12:38:07
Цитата: Aleksoid1978Вот пробуем еще - https://yadi.sk/d/xgB7J9ddtDYCG
Проверил второй тестовый билд. К сожалению, пока вообще без изменений, обе проблемы пока по прежнему остались.
Название: WASAPI - Зависание при перемотке. [Исправлено]
Отправлено: Aleksoid1978 от 12 июля 2016, 12:51:13
Меня интересует ТОЛЬКО перемотка.
Название: WASAPI - Зависание при перемотке. [Исправлено]
Отправлено: Evgeniy1990 от 12 июля 2016, 18:28:52
Цитата: Aleksoid1978Меня интересует ТОЛЬКО перемотка.
Проверил перемотку во втором тестовом билде на различных форматах видео файлов.
Аналогично, как и в первом тестовом билде, при перемотке, мертвое зависание больше не проявляется.

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

P.S. Интересно, а у вас как? После ваших изменений, у вас больше не проявлялось это мертвое зависание, при перемотке различных файлов?
Название: WASAPI - Зависание при перемотке. [Исправлено]
Отправлено: Aleksoid1978 от 13 июля 2016, 11:20:38
Второй тестовый билд щас хорошенько гоняю - вроде бы зависаний нет. На первом были.
[merge_posts_bbcode]Добавлено: 2016-07-13 18:20:38[/merge_posts_bbcode]

По поводу зависания, при перемотке, в конце воспроизведения - у того файла аудио-данные заканчиваются раньше видео, и вот тут и по какой-то причине после перемотки проигрывание "встает". Оно не зависает - а просто как бы застывает. Причину пока определить не смог.

Ну это и не сильно страшно :)
Название: WASAPI - Зависание при перемотке. [Исправлено]
Отправлено: Evgeniy1990 от 13 июля 2016, 13:56:32
Цитата: Aleksoid1978Второй тестовый билд щас хорошенько гоняю - вроде бы зависаний нет. На первом были.
[merge_posts_bbcode]Добавлено: 2016-07-13 18:20:38[/merge_posts_bbcode]

По поводу зависания, при перемотке, в конце воспроизведения - у того файла аудио-данные заканчиваются раньше видео, и вот тут и по какой-то причине после перемотки проигрывание "встает". Оно не зависает - а просто как бы застывает. Причину пока определить не смог.
Понятно, спасибо вам за ответы.

Цитата: Aleksoid1978Ну это и не сильно страшно :)
Согласен, это вообще отдельный случай, отдельная проблема.

А вот "мертвое зависание, при перемотке" и "зависание, при переходе и открытии следующего файла в папке" - самые неприятные и очень "доставучие" проблемы, при использовании "MPC Audio Renderer (WASAPI)".

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

Еще раз напомню, что в случае "зависания, при переходе и открытии следующего файла в папке", само зависание происходит после вызова функции "WasapiBeginFlush()", если прогнать отладочный билд через "DebugView".
Название: WASAPI - Зависание при перемотке. [Исправлено]
Отправлено: Aleksoid1978 от 14 июля 2016, 12:41:24
Цитата: Evgeniy1990Еще раз напомню, что в случае "зависания, при переходе и открытии следующего файла в папке", само зависание происходит после вызова функции "WasapiBeginFlush()", если прогнать отладочный билд через "DebugView".

Такое не разу не наблюдал и воспроизвести не могу - хотя сериалы частенько смотрю на работе на перемотке и переходами от одного файла к следующему.
[merge_posts_bbcode]Добавлено: 2016-07-14 19:41:24[/merge_posts_bbcode]

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

А то что-то мне эта ситуация с зависанием совершенно не нравиться, аж клинит.
Название: WASAPI - Зависание при перемотке. [Исправлено]
Отправлено: Evgeniy1990 от 14 июля 2016, 15:42:13
Цитата: Aleksoid1978А то что-то мне эта ситуация с зависанием совершенно не нравиться, аж клинит.
Вы имеете в виду мой случай - "зависание, при переходе и открытии следующего файла в папке"?
Название: WASAPI - Зависание при перемотке. [Исправлено]
Отправлено: Aleksoid1978 от 14 июля 2016, 16:31:08
Нет - зависание при перемотке.
Название: WASAPI - Зависание при перемотке. [Исправлено]
Отправлено: Evgeniy1990 от 19 июля 2016, 13:43:02
Aleksoid1978:

По поводу "зависания, при переходе и открытии следующего файла в папке" - выяснил, что причина зависания происходит не из-за аудио-рендереров, а из-за нашего аудио декодера. Баг именно в нашем "MPC Audio Decoder".

Причем, это действительно поломка.

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

Итак, пока текущий диапазон поиска: [1093 ->1749]
[merge_posts_bbcode]Добавлено: 2016-07-19 13:06:26[/merge_posts_bbcode]

По поводу "AVI + MP3" - аналогично, есть зависание, при перемотке и снова виснет из-за нашего аудио декодера.
Зависание тоже самое, что и при переходе и открытии следующего файла в папке.
Причем, в зависимости от различных форматов, оно может проявляться, а может и вообще не проявиться.

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

В общем, надо будет найти проблемные изменения в SVN.

По логу вообще непонятно из-за чего виснет.

Вот, пожалуйста, сам лог:

Извините, вам запрещён просмотр содержимого спойлеров.


Видно только, что программа завершается с кодом ошибки.

И еще меня просто удивило это: "450х10" О_о  Несмотря на то, что разрешение видео файла "450х360". Странно...

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

Продолжаю поиски проблемного билда и проблемных изменений в SVN,

[merge_posts_bbcode]Добавлено: 2016-07-19 13:43:02[/merge_posts_bbcode]

Текущий диапазон поиска: [1093 -> 1119].
Название: WASAPI - Зависание при перемотке. [Исправлено]
Отправлено: Aleksoid1978 от 19 июля 2016, 14:50:41
Ну как так - если бы был баг в коде, то он проявлялся бы у всех. А так получается что только у тебя. Да и к тому же - сильно париться/мучиться с воспроизведением данного "бага". Ну зачем во время открытия файлы тыкать стрелки перемотки - в чем смысл ??
[merge_posts_bbcode]Добавлено: 2016-07-19 21:50:41[/merge_posts_bbcode]

Я сам смотрю сериалы "на перемотке" - но такой "фигней" не страдаю :)
Название: WASAPI - Зависание при перемотке. [Исправлено]
Отправлено: Evgeniy1990 от 19 июля 2016, 17:16:29
Цитата: Aleksoid1978Ну как так - если бы был баг в коде, то он проявлялся бы у всех. А так получается что только у тебя. Да и к тому же - сильно париться/мучиться с воспроизведением данного "бага". Ну зачем во время открытия файлы тыкать стрелки перемотки - в чем смысл ??
[merge_posts_bbcode]Добавлено: 2016-07-19 21:50:41[/merge_posts_bbcode]

Я сам смотрю сериалы "на перемотке" - но такой "фигней" не страдаю :)
Баг точно в коде, я уже говорил, что в нашем "MPC Audio Decoder (MpaDecFilter)" и проявляется он не только у меня одного.

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

Окончательный диапазон поиска: [1098 ->1102].

Поломка возникла после изменений в SVN r1102.

Если прочитать данные изменения в SVN r1102, то можно уже догадаться в чем причина возникновения данного зависания. И вполне очевидно, что опять виноваты проверки инициализации SPDIF/Bitastream.
Можно предположить, что происходит ложное срабатывания этих введенных различных дополнительных проверок.

И потом, это уже не в первый раз, когда возникали проблемы именно с этими "SPDIF/Bitstream".
Название: WASAPI - Зависание при перемотке. [Исправлено]
Отправлено: Aleksoid1978 от 20 июля 2016, 02:24:01
Конечно может и так, но ничего менять не буду пока не смогу сам поймать баг и определить причину.
[merge_posts_bbcode]Добавлено: 2016-07-20 09:24:01[/merge_posts_bbcode]

Вот пробуем, немного под-шаманил(не убирая код) - https://yadi.sk/d/7fcLOUcStSxuC
Название: WASAPI - Зависание при перемотке. [Исправлено]
Отправлено: Evgeniy1990 от 20 июля 2016, 05:48:59
Цитата: Aleksoid1978Конечно может и так, но ничего менять не буду пока не смогу сам поймать баг и определить причину.
[merge_posts_bbcode]Добавлено: 2016-07-20 09:24:01[/merge_posts_bbcode]

Вот пробуем, немного под-шаманил(не убирая код) - https://yadi.sk/d/7fcLOUcStSxuC
Проверил тестовый билд. В нем зависание пока еще присутствует.

Предлагаю вам, в качестве варианта, попробовать по частям переносить код, таким образом будет проще понять, какая часть кода вызвала данное зависание. Просто в SVN r1102 и возврат r1097 и изменения по SPDIF/Bitstream и еще дополнительные проверки и прочие изменения. Уж больно много всего. Лучше всего конечно разделить все это дело на несколько тестовых билдов, допустим в одном тестовом билде - код только для r1097, в другом - только код, касаемый изменений по SPDIF/Bitstream, в третьем - дополнительные проверки и прочее.

Но я думаю, что скорее всего тут одно из двух - или повлияли изменения для SPDIf/Bitstream, или различные введенные дополнительные проверки.

P.S. Прилагаю для вас проблемные видео файлы: https://yadi.sk/d/XHWM-tUntT24W

Ваша задача:

1. скачать и положить их всех в одну папку,
2. отсортировать их по имени,
3. запустить первый по алфавиту видео файл,  
4. Включить опцию перехода к след. файлу в каталоге, по окончании воспроизведения,
5. после этого, зажать клавишу "стрелку вправо" и держать ее в нажатом состоянии до тех пор, пока не получите зависание, при следующем открытии одного из данных видео файлов.

Таким образом, вы сможете воспроизвести у себя эту проблему.
[merge_posts_bbcode]Добавлено: 2016-07-20 05:48:59[/merge_posts_bbcode]

Также, пожалуйста обратите внимание на перемотку окончания воспроизведения видео файла "F.E.A.R.", при условии нажатого состояния клавиши "стрелки вправо". Сравните ваш переделанный код с более ранней ревизией.

Вы увидите, что есть отличие. Я вам даже сразу могу его назвать - отличие заключается в том, что в более ранних SVN-билдах, до ваших изменений, при условии зажатого состояния клавиши "стрелки вправо", нужно было подождать еще несколько секунд, пока воспроизведение дойдет до самого конца, а после ваших изменений такого явления ожидания больше нет и не происходит. Это тоже связано с обработкой аудио данных аудио декодером.
Уж больно хорошо заметна разница. Такое ощущение, что нарушилась работа временных меток аудио данных.
Название: WASAPI - Зависание при перемотке. [Исправлено]
Отправлено: Aleksoid1978 от 20 июля 2016, 06:41:59
По поводу "подождать несколько секунд" - никакие декодеры/сплиттеры тут не причем. Это был переделана обработка перемотки в самом проигрывателе, чтобы как раз не ждать эти несколько секунд а сразу перейти на конец файла.
[merge_posts_bbcode]Добавлено: 2016-07-20 13:41:59[/merge_posts_bbcode]

Так - прогнал я выложенные файлы. Выставил чтобы по окончанию переход на следующий(зациклить). Открыл первый файл и зажал стрелку вправо. Прождал пока по кругу все файлы переберутся раз наверное 6-7 ... и все нормально, ни одного зависания. Фильтры все встроенные, WASAPI вывод Exclusive, EVR Custom, DXVA включен.

Как бы и добавить нечего.
Название: WASAPI - Зависание при перемотке. [Исправлено]
Отправлено: Evgeniy1990 от 26 июля 2016, 16:10:21
Цитата: Aleksoid1978Так - прогнал я выложенные файлы. Выставил чтобы по окончанию переход на следующий(зациклить). Открыл первый файл и зажал стрелку вправо. Прождал пока по кругу все файлы переберутся раз наверное 6-7 ... и все нормально, ни одного зависания. Фильтры все встроенные, WASAPI вывод Exclusive, EVR Custom, DXVA включен.

Как бы и добавить нечего.

В таком случае, попробуйте пожалуйста точно также прогнать в новой сессии эти видео файлы.
Т.е. не только в одной сессии пробежать по кругу 6 - 7 раз и т.д., но и также закрывать текущую сессию и периодически запускать новые сессии и также быстренько прогнать их по кругу несколько раз, до тех пор, пока не получите зависание, при переходе и открытии следующего видео файла в одной папке.

Я вам честно и точно скажу, что у себя я прогнал и протестировал последние SVN-билды аж на трех разных машинах и на всех я очень даже легко смог воспроизвести эту поломку, т.е. само зависание, при переходе и открытии следующего видео файла в папке, причем на разных звуковых картах и на разных системах, даже на Windows 10.

Скриншоты:

https://yadi.sk/i/TJeCtAkTte2se
https://yadi.sk/i/bsq9sfSnte5Mw

После тщательных тестов, смело и точно вам говорю, что изменения в SVN r1102 являются полностью некорректными. И эту поломку, это зависание вполне сможет поймать и воспроизвести совершенно любой пользователь, особенно на более ранних операционных системах (Win7/Win8.1), поскольку оно есть на любой новой операционной системе, за исключением XP.

И, скорее всего, это и есть те самые изменения, связанные с переделанным способом дополнительных проверок.

И да, я также заметил, что на Windows 10 зависание проявляется не так быстро и часто, как на предыдущих операционных системах Windows 7/8.1, но все-равно проявляется.

P.S. Прилагаю еще для вас эти видео файлы: https://yadi.sk/d/2FVeytXGte4S9

С помощью них, я надеюсь, что вы все же сможете, хотя бы один раз, воспроизвести это зависание.
Сразу скажу, что это не просто "рандомные" видео файлы, а именно те видео файлы, на которых чаще всего проявляется зависание, при следующем переходе и их открытии конкретно на Windows 10, по моим тщательным тестам. Я специально их отобрал. В моем случае, достаточно открыть один и с помощью зажатой перемотки дождаться переход на следующий по имени (на второй), как сразу можно получить зависание.
Название: WASAPI - Зависание при перемотке. [Исправлено]
Отправлено: Aleksoid1978 от 27 июля 2016, 03:27:27
Ок - завтра дома попробую.
[merge_posts_bbcode]Добавлено: 2016-07-26 23:47:32[/merge_posts_bbcode]

Ну а пока вот 3 тестовых билда.
https://yadi.sk/d/U9_r4IaKteAPv
https://yadi.sk/d/tjcts61QteAPx
https://yadi.sk/d/Zhw08HHNteAQD

[merge_posts_bbcode]Добавлено: 2016-07-27 10:27:27[/merge_posts_bbcode]

Так - погонял последний набор видео. Запускал 5 раз и прогонял раз по 5-7 все файлы по кругу ... и ни намека на зависание.
Название: WASAPI - Зависание при перемотке. [Исправлено]
Отправлено: Evgeniy1990 от 27 июля 2016, 08:37:36
Цитата: Aleksoid1978Ну а пока вот 3 тестовых билда.
https://yadi.sk/d/U9_r4IaKteAPv
https://yadi.sk/d/tjcts61QteAPx
https://yadi.sk/d/Zhw08HHNteAQD
Проверил все три тестовых билда на разных машинах, разных системах и на разных звуковых картах.
Во всех трех тестовых билдах полностью отсутствует зависание, при переходе и открытии следующего файла в папке, в отличие от SVN-билдов.
Название: WASAPI - Зависание при перемотке. [Исправлено]
Отправлено: Aleksoid1978 от 27 июля 2016, 10:04:39
Цитата: Evgeniy1990
Цитата: Aleksoid1978Ну а пока вот 3 тестовых билда.
https://yadi.sk/d/U9_r4IaKteAPv
https://yadi.sk/d/tjcts61QteAPx
https://yadi.sk/d/Zhw08HHNteAQD
Проверил все три тестовых билда на разных машинах, разных системах и на разных звуковых картах.
Во всех трех тестовых билдах полностью отсутствует зависание, при переходе и открытии следующего файла в папке, в отличие от SVN-билдов.

Очень странно ... В них отключал 3 разных участка кода(т.е. один отключаю - остальные 2 включены). И как-то странно что все 3 работают :)
Название: WASAPI - Зависание при перемотке. [Исправлено]
Отправлено: Evgeniy1990 от 27 июля 2016, 11:17:46
Цитата: Aleksoid1978Очень странно ... В них отключал 3 разных участка кода(т.е. один отключаю - остальные 2 включены). И как-то странно что все 3 работают :)

Продолжаю очень тщательную прогонку...

Теперь я смог получить пока всего лишь один раз зависание на Windows 10 в третьем тестовом билде.

На первых двух тестовых билдах я по прежнему не могу получить ни одного зависания.
[merge_posts_bbcode]Добавлено: 2016-07-27 11:04:40[/merge_posts_bbcode]

Да, так и есть - третий тестовый билд виснет.

[merge_posts_bbcode]Добавлено: 2016-07-27 11:09:23[/merge_posts_bbcode]

Aleksoid1978:

Окончательные точные результаты такие:

1 тестовый билд - зависания нет, подтверждаю!
2 тестовый билд - зависание есть, подтверждаю!
3 тестовый билд - зависание есть, подтверждаю!

[merge_posts_bbcode]Добавлено: 2016-07-27 11:17:46[/merge_posts_bbcode]

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

Просто в тестовых билдах, особенно во втором и третьем это зависание стало проявляться гораздо реже, чем в SVN, где я его получал с первого раза на Windows 7.

Aleksoid1978:

Для увеличения вероятности проявления данного зависания, включите пожалуйста опцию "Автомасштаб = 100%" и пробегитесь несколько раз по моим видео файлам.
Название: WASAPI - Зависание при перемотке. [Исправлено]
Отправлено: Aleksoid1978 от 27 июля 2016, 12:01:47
Вот другое дело,  теперь знаю в чем дело. Чуть позже выложу билд.
[merge_posts_bbcode]Добавлено: 2016-07-27 19:01:47[/merge_posts_bbcode]

Хотя нет, не все понятно - не должен 3 совсем виснуть, в нем убраны участки кода из 1 и 2 билда. :)
Название: WASAPI - Зависание при перемотке. [Исправлено]
Отправлено: Evgeniy1990 от 27 июля 2016, 13:14:33
Цитата: Aleksoid1978Вот другое дело,  теперь знаю в чем дело. Чуть позже выложу билд.
[merge_posts_bbcode]Добавлено: 2016-07-27 19:01:47[/merge_posts_bbcode]

Хотя нет, не все понятно - не должен 3 совсем виснуть, в нем убраны участки кода из 1 и 2 билда. :)
В третьем тестовом билде зависание произошло в самом процессе зажатой перемотки и было похоже на мертвое зависание, которое вы уже исправили, но оно было не мертвым и выглядело точно также как и при переходе и открытии следующего файла в папке.

Конечно очень странно... Но я еще более тщательно прогоню у себя третий тестовый билд. Позже сообщу свои результаты и наблюдения.
[merge_posts_bbcode]Добавлено: 2016-07-27 13:14:33[/merge_posts_bbcode]

Aleksoid1978:

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

Скриншот зависания, при переходе и открытии след. файла в 3 билде: https://yadi.sk/i/xooAq75EtfewT
Скриншот зависания в процессе перемотки, в 3 билде: https://yadi.sk/i/Rw5bC36rtfg93

И только лишь в первом тестовом билде полностью отсутствует зависание.
Название: WASAPI - Зависание при перемотке. [Исправлено]
Отправлено: Aleksoid1978 от 27 июля 2016, 16:07:11
Вот пробуем - https://yadi.sk/d/Y5HhUaRptg6KN
Название: WASAPI - Зависание при перемотке. [Исправлено]
Отправлено: Evgeniy1990 от 28 июля 2016, 15:03:48
Цитата: Aleksoid1978Вот пробуем - https://yadi.sk/d/Y5HhUaRptg6KN
Тщательно прогнал тестовый билд.

Зависание присутствует, но теперь можно сказать, что оно, практически, не проявляется в большинстве случаев, т.е. шанс его проявления очень низкий. Отсюда смело можно сказать, что прогресс в устранении данной поломки есть.
В данном тестовом билде непросто получить зависание в отличие от SVN-билдов.

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

На DirectSound его можно воспроизвести, но с трудом, а все потому, что для WASAPI вы сделали фичу так называемой "мгновенной перемотки", чтобы не ждать окончания воспроизведения данных. Вот именно поэтому в случае использования DirectSound приходится отпускать клавишу "стрелка вправо", иначе переход на следующий файл в папке не произойдет, или просто может не произойти для некоторых видео файлов.

Скриншот: https://yadi.sk/i/iUBcSJHMthns5

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

Выводы:

1. Зависание, при переходе и открытии следующего файла в папке, теперь наблюдается чаще всего только на "MPC Audio Renderer (WASAPI)" и реже на DirectSound.
2. При использовании "MPC Audio Renderer (WASAPI)", в случае быстрой перемотки вперед и перехода на следующий файл в папке, зависание может проявиться только на определенных видео файлах.
3. В данном тестовом билде r1777 полностью отсутствует зависания во время самого процесса мгновенной перемотки, как на DirectSound, на и на WASAPI, в отличие от третьего тестового билда.
4. Прогресс в исправлении данной поломки постепенно идет вперед, т.е. становится и стало гораздо лучше.
Тестовый билд r1777 работает лучше, чем все последние SVN-билды, после изменений в r1102.

Основное отличие тестового билда от SVN-билдов:

В тестовом билде зависание проявляется очень редко, на определенных видео файлах, в основном только при использовании "MPC Audio Renderer (WASAPI)", но может быть и при использовании DirectSound, но тоже очень редко, в отличие от SVN-билдов, где зависание проявлялось совершенно на любом аудио рендерере, даже на внешних, типа "Sanear" и при том очень часто, буквально сразу же, после перехода с одного (первого запущенного) видео файла в папке на другой (следующий по алфавиту).

P.S.

Вот смотрите, как интересно получается:

В одной папке лежат несколько файлов формата "MP4" и два формата "WebM (MKV)".
При использовании "MPC Audio Renderer (WASAPI)" в тестовом билде чаще всего зависание проявляется именно при переходе и открытии видео файлов, формата "WebM (MKV)" и реже на "MP4".

Скриншот: https://yadi.sk/i/kKjCwS5pthrZo

Мои два скриншота - это как раз два видео файла в формате "WebM (MKV)", на которых, как раз, чаще всего и проявляется зависание, при переходе на них.

Можно конечно предположить, что изменения в SVN r1102 некорректно работают с изменениями перемотки окончания данных в "MPC Audio Renderer (WASAPI)". Или наоборот, изменения перемотки окончания данных в "MPC Audio Renderer (WASAPI) некорретно работают после изменений в SVN r1102.

Ведь основное отличие в том, что при использовании "MPC Audio Renderer (WASAPI)" не нужно отпускать клавишу "стрелка вправо", чтобы перейти на следующий файл в папке, в отличие от "DirectSound Audio Renderer".

В общем, пока у меня такие наблюдения и результаты.
Название: WASAPI - Зависание при перемотке. [Исправлено]
Отправлено: Aleksoid1978 от 29 июля 2016, 07:22:07
Перемотка никак не зависит от аудио вывода.

Код я залил в svn - посмотрим.
Название: WASAPI - Зависание при перемотке. [Исправлено]
Отправлено: Evgeniy1990 от 30 июля 2016, 19:07:47
Цитата: Aleksoid1978Перемотка никак не зависит от аудио вывода.

Код я залил в svn - посмотрим.

Очень хорошо, мы с вами добились того, что теперь зависание практически не проявляется, или проявляется, но заметно реже, чем было раньше.

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

Но есть здесь еще кое-что, что меня удивило - это сама панель управления, или же просто сам "сикбар".

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

И вот сегодня я эту странность смог воспроизвести полностью, на все 100%,  в последнем SVN-билде.
Меня удивило то, что во время перемотки или вообще отсутствует сикраб, или вообще полностью отсутствует сама панель управления, или же, во время мгновенной зажатой перемотки, с помощью клавиши "стрелка вправо", сикраб вообще просто стоит на месте, хотя по здравой логике он должен вообще-то двигаться дальше вперед.

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

Аудио декодеры:

1. Наш встроенный "MPC Audio Decoder"
2. Внешний системный "Microsoft DTV-DVD Audio Decoder"
3. Внешний "LAV Audio Decoder"
4. Внешний "CoreAAC Audio Decoder"

Аудио-рендереры:

1. Наш встроенный "MPC Audio Renderer (WASAPI: Shared/Exсlusive Mode\'s)"
2. Внешний "Sanear Audio Renderer"
3. "DirectSound Audio Renderer"
4. Внешний "ReClock Audio Renderer"

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

Aleksoid1978:

Раз уж вы не можете воспроизвести у себя зависание на встроенном аудио декодере, попробуйте пожалуйста воспроизвести его на внешних аудио декодерах из данного списка, на моих выложенных для вас видео файлах, например, при использовании "Microsoft DTV-DVD Audio Decoder" в последних SVN-билдах, начиная с SVN r1779 и выше.
А также попробуйте пожалуйста вместо "Exclusive Mode" выбрать "Shared Mode".
[merge_posts_bbcode]Добавлено: 2016-07-30 19:07:47[/merge_posts_bbcode]

Aleksoid1978:

Я нашел способ стабильного воспроизведения зависания, при переходе и открытии следующего файла в папке - это через системный "Microsoft DTV-DVD Video Decoder". Т.е. достаточно просто подключить именно этот видео декодер и попытаться с ним прогнать мою первую, или вторую партии выложенных видео файлов, т.е. выполнить мгновенную перемотку, с помощью клавиши "стрелка вправо и дожидаться перехода на следующий файл в папке.

По поводу проблемы с панелью управления и с самим "сикбаром", я создал отдельную тему:
http://mpc-be.org/forum/viewtopic.php?pid=1967#p1967
Название: WASAPI - Зависание при перемотке. [Исправлено]
Отправлено: Aleksoid1978 от 31 июля 2016, 09:38:54
Ну так может декодер и виноват...