Функционал библиотеки рендеринга видео в текстуру
Нам необходим следующий функционал библиотеки рендеринга видео в текстуру:
- презагрузка видео файлов
- рендеринг видео потока в текстуру
- рендеринг звукового потока
- обработка событий
- поддержка wmv, mpeg, avi
поддержка стерео видео форматов не нужна
язык: unmanaged c++
примерный интерфейс библиотеки:
interface videotexturerenderer {
// процедура инициализации
init(LPDIRECT3DDEVICE9, HWND)
// процедура презагрузки (на входе папка с маской)
void preloadvideos(const char *);
// процедура презагрузки (на входе вектор имен файлов)
void preloadvideos(const std_vector &);
// процедура создания видео текстуры (на входе имя файла, на выходе индекс текстуры)
int createvideotexture(const char *, LPDIRECT3DDEVICE9, LPDIRECT3DTEXTURE9 *);
// процедура создания видео текстуры (на входе имя файла и необходимые размеры текстуры, на выходе индекс текстуры)
int createvideotexture(const char *, LPDIRECT3DDEVICE9, LPDIRECT3DTEXTURE9 *, int, int);
// процедуры (на входе индекс текстуры)
void lockvideotexturemutex(int);
void unlockvideotexturemutex(int);
int getvideotexturewidth(int) const;
int getvideotextureheight(int) const;
void rungraph(int);
void pausegraph(int);
void seekgraph(int, int);
void stopgraph(int);
void resetgraph(int);
int getgraphcurrentpos(int) const;
int getgraphduration(int) const;
};
важно дополнить интерфейс методами контроля и обработки событий проигрывания видео
задача несложная, учитывая количество работающих примеров в сети (VideoFilter из sdk Nvidia, например), оплата поэтапная через wm кошелек, стоимость за весь проект обсуждается, зависит от сроков, максимальный срок разработки 1 месяц, очень важно начать работу над проектом в ближайшие дни.