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 студия не иначе, как "багнутая", в ней явно присутствует косяк с генерацией кода, я так думаю, скорее всего.