Обратный переход - reconnect

Автор Evgeniy1990, 05 декабря 2015, 12:42:40

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

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

Evgeniy1990

Уже известно, что при переходе из окна в D3DFS и обратно из D3DFS в окно, может произойти обрыв графа фильтров.
Чаще всего он наблюдается, при обратном переходе (D3DFS -> окно).

Ситуации могут быть такими:

Окно -> D3DFS - ступор, или обрыв графа фильтров
Окно -> D3DFS - только ступор

D3DFS -> Окно - обрыв графа фильтров
D3DFS -> Окно - зацикливание

Обрыв графа фильтров может происходить только в двух случаях:

1. Видео файлы не содержит субтитры - прямой обрыв графа, т.е. только отделение видео-рендерера.
2. Видео файлы содержат субтитры - непрямой обрыв графа, т.е. зацикливание.

P.S. Есть подозрение, что именно файлы с субтитрами, при переходе из окна в D3DFS, вызывают ступор, другими словами - это самое зацикливание.

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

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

Итак, имеются следующие условия для воспроизведения видео файлов в полноэкранном D3D:
VMR-9 RL + D3DFS + встроенный рендерер субтитров

Хорошо, допустим я смог запустить D3FS через опцию "Запускать файлы в полноэкранном режиме". Здесь пока все в порядке, а вот теперь про сам обратный переход, т.е. из D3DFS в оконный режим:

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

И вот один такой баг:

Условие: VMR-9 RL + D3DFS + встроенный рендерер субтитров

Фактический результат: При обратном переходе в оконный режим, плеер переходит в состоянии зацикливания, которое вызывает VSFilter, а не встроенный рендерер субтитров, несмотря на то, что в настройках выбор рендерера субтитров, выбран именно он, т.е. встроенный рендерер субтитров.

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

Даже на панели задач можно увидеть иконку VSFilter, которая будет то появляться, то исчезать, причем не менее 5 - 7 раз, после чего произойдет падение плеера. Как раз-таки эти разы и говорят о том, что несколько раз происходит переподключение фильтров и реконнект.

Если просмотреть дамп-файл и запустить отладку (Debugging) можно увидеть такую картину:
https://yadi.sk/i/zxaOeGvckzJAk

Теперь уже возникает другой вопрос, что там забыла библиотека "qdvd.dll"?

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

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

1. VMR-9 RL + D3DFS + Inernal Subtitle Renderer : https://yadi.sk/i/VCxM7yz7kzJAE
2. VMR-9 RL + D3DFS + VSFilter/xy-VSFilter: https://yadi.sk/i/zxaOeGvckzJAk
3. VMR-9 RL + D3DFS + XySubFilter: https://yadi.sk/i/v-KjWjAakzJB8
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

Я так понимаю это касается только WinXP ?? Если так - то проехали ... уже же говорили про это, зачем опять куча текста.
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Я так понимаю это касается только WinXP ?? Если так - то проехали ... уже же говорили про это, зачем опять куча текста.
Да, это касается только Windows XP, но прежде чем говорить мне "проехали" и тому подобное, будьте добры выслушать мои пояснения.

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

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

Еще раз для вас распишу сам баг вкратце.

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

1. Выбрать видео-рендерер: "VMR-9 Renderless"
2. Включить опцию "Полноэкранный D3D"
3. Выбрать " встроенный рендерер субтитров", при этом убедиться, что в системе зарегистрирован внешний VSFilter
4. Применить изменения и запустить широкоформатное видео
5. Во время воспроизведения, выполнить переход из оконного режима в полноэкранный D3D
6. После перехода в полноэкранный D3D, вернутся обратно в оконный режим

Фактический результат: при обратном переходе из D3D в оконный режим, само окно плеера зависнет намертво, а на панели задач с правой стороны можно будет увидеть иконку от VSFilter, которая будет то появляться, то исчезать. И так будет происходить примерно от 5 до 7 раз.

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

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

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

К чему эти зависоны, зацикливания, а тем более падения? Они нам даром не нужны, прошу вас, найдите пожалуйста способ это исправить, или хотя бы избавьтесь от этих программных исключений, чтобы плеер хотя бы не зависал намертво. Скриншоты на каждый случай я вам выложил. На них показаны места, где происходят прерывания.
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

У меня на Win10 на разных машинах ничего подобного не происходит.
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

На Windows 10 бесполезно проверять/воспроизводить эти падения.
Вы не представляете, насколько сильно бесят эти "зависоны", которые проявляются во время падений.
Поэтому я и прошу вас найти решение, или способ, как избавиться от них.
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

Вот я не понимаю - тут что есть глухие/слепые ?? Если я сказал "забить" на WinXP - этого что не достаточно ??
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Вот я не понимаю - тут что есть глухие/слепые ?? Если я сказал "забить" на WinXP - этого что не достаточно ??
Вполне достаточно, вот только полностью бросить Windows XP, я, к сожалению, не могу.
Повторюсь еще раз, данный баг-репорт был создан в надежде избавиться от этих программных исключений, просто они мешаются, особенно после обратного перехода.  Т.е. сделать так, чтобы их вообще не было, или это все-равно никак невозможно? Пускай будет обрыв, но зачем эти лишние зависания, постоянно только компьютер перезагружать.
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.