Давно не собирал Mplayer из SVN-репозитория. Сегодня решил его обновить. Для сборки использую фреймворк со страницы http://oss.netfarm.it/mplayer-win32.php, который немного переделал под свои нужды. Как я и ожидал, сборка закончилась сообщением об ошибке, что "ETIME" нигде не объявлено.
Вдумчивое гугление помогло выяснить, что это есть в BSD и отсутствует в MinGW, что не есть хорошо. Но в MinGW есть "WSAETIMEDOUT". Гугление этой переменной вывело на код:
Вдумчивое гугление помогло выяснить, что это есть в BSD и отсутствует в MinGW, что не есть хорошо. Но в MinGW есть "WSAETIMEDOUT". Гугление этой переменной вывело на код:
С помощью поиска по хидерам "ERROR_SEM_TIMEOUT" я нашел, что объявлено оно в файле "winerror.h". Ну а чтобы всё заработало хоть как-то я изменил "rtsp.c" таким образом:#define ETIME ERROR_SEM_TIMEOUT
В результате всё собралось и даже заработало, только протестировать пока не на чем.#include "rtpdec.h" #include "rdt.h" #include "rtpdec_asf.h" // PATCH BEGIN #include <winerror.h> #define ETIME ERROR_SEM_TIMEOUT // PATCH END //#define DEBUG //#define DEBUG_RTP_TCP