Господа, а может ли кто на пальцах объяснить, как Mplayer работает с виндовыми dll когда изпользует виндовые кодеки?
Он что, парсит dll, выдергивает машинный код и выполняет его?
Или в dll-ках кодеков формат обслуживаемого медиа-файла и алгоритмы распаковки сделаны в каком-то макро-представлении, которое можно транслировать в нужный код?
Как, как это работает???
Как работает Mplayer с виндовыми dll? (Хотелось бы знать)
Модератор: Модераторы разделов
Re: Как работает Mplayer с виндовыми dll?
Принцип работы тот же, что и so через dlopen. Отображаем файл в память и находим адреса функций, существующих в библиотеке. Имена функций известны, формат dll тоже. Затем остаётся только вызывать функции по адресу.
Re: Как работает Mplayer с виндовыми dll?
Ну для того чтоб так работало, требуется как минимум чтоб код в dll-ках был самодостаточным (не вызывал функций из других динамических библиотек). В виндовых кодеках так и есть?
Re: Как работает Mplayer с виндовыми dll?
Нет, в вендовых кодеках так нет. Написали же выше - аналог dlopen-а, маппинг файла в память, парсинг и прочее. Это подразумевает подгрузку и других необходимых для работы DLL, причём рекурсивно.
Re: Как работает Mplayer с виндовыми dll?
Забавно но win32codecs требуют установку wine
Нет тут подписи и не будет.
Re: Как работает Mplayer с виндовыми dll?
Забавно но win32codecs требуют установку wine
Разве? Что, и в Генте требуют?
В ебилде ничего про вайн не сказано.
Re: Как работает Mplayer с виндовыми dll?
Забавно но win32codecs требуют установку wine
Не требуют. У меня кодеки есть, а вайна нету, тем не менее, они работают.