Evgeniy_1990
Silver Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Aleksoid1978 Цитата: Ок, спасибо, соберу и буду проверять. | Собрал и проверил библиотеку VSFilter. При открытии видео файлов с субтитрами, плеер падает. Падение возникает в проектном фале DirectVobSub.cpp, прежде всего, во время подключения модуля к графу фильтров, после чего происходит обрыв, при инициализации BITMAPINFOHEADER. Да уж, и впрямь очень странно. Прилагаю для вас целых три скриншота, пожалуйста обратите на них внимание: https://yadi.sk/d/8I90SJxVm7iqR P.S. Я пытался разобраться и понять, как можно обойти это падение, т.е. есть ли способ, но увы, его никак не обойдешь. Что я только не пробовал, перебрал больше десятка различных вариантов. Падает и все тут. Но, оказывается, во всем этом есть и нечто хорошее, да есть один способ, как обойти это падение, но, прежде чем я его назову вам, скажу сразу, что это уже идет полный изврат, со стороны 2015 студии, я не зря подозревал ее. Способ такой - берем обновленную 2015 студию, т.е. с пакетом обновления 1, собираем в ней сам плеер, затем сам VSFilter, после чего устанавливаем собранный плеер в систему и регистрируем собранный фильтр. И вуаля - никакого падения нет! А теперь, исходя из многочисленных тестов и различных вариантов, назову вам условия, при которых стопроцентно проявляется данное падение: 1. MPC-BE (VS2013) + VSFilter (2015) 2. MPC-BE (VS2013.5) + VSFilter (2015.1) Только при этих данных условиях проявляется падение на Windows XP. Теперь по поводу поведения, при этих условиях, на новых системах (Windows 7 - Windows 10): Если взять последнее условие, т.е. MPC-BE (VS2013.5) + VSFilter (2015.1), зайти в настройки и выбрать системный EVR, а после открыть видео файл с субтитрами, то можно увидеть, что VSFilter, собранный в 2015 студии, вообще не подключился к графу фильтров. Общие выводы: 1. Если MPC-BE собран в 2013 студии, а VSFilter в 2015 студии, то на XP происходит падение, а на новых системах (Win7 - Win10) он просто не подключается к графу фильтров. 2. Если MPC-BE собран в 2015 студии, а VSFilter в ней же, т.е. в одной и той же студии, то на XP падения нет и не проявляется, VSFilter, как обычно, нормально подключается к графу фильтров, аналогично и на новых системах (Win7 - Win10). P.S. С ума сойти, я должен был каким-то волшебным магическим образом вот так сходу догадаться, что VSFilter, собранный в 2015 студии не работает с плеером MPC-BE, собранным в 2013 студии. Просто прекрасно, вдобавок еще и лишнее падение, при этом возникает... Отсюда вопросы: 1. Есть способ избавиться от падения, учитывая то место на моих скриншотах, где оно проявляется? 2. Можно подружить плеер 2013 и VSFilter 2015, т.е. чтобы VSFilter, собранный в 2015 студии, работал вместе с плеером MPC-BE, собранным в 2013 студии? P.P.S. Весь свой вечер на это убил.. Пришлось еще и 2015 студию обновлять + вдобавок проводить тестирования на двух разных машинах, на двух разных системах, т.е. на XP и на Win10. Поэтому, прошу прощение, что задержался с ответом. Уж очень много времени нужно было для этого. Я еще проверил такой вариант на XP и Win10: MPC-BE (2015) + VSFilter (2015.1). В результате, на XP - все ОК, падения нет, на Win10, при открытии видео файла с субтитрами, при условии EVR + VSFilter, плеер повис, т.е. говорит "Открывается" и на этом все. Вот сразу становится понятно, что чистая 2015 студия не иначе, как "багнутая", в ней явно присутствует косяк с генерацией кода, я так думаю, скорее всего. |