Я хотел использовать libVCL для отображения видео в моей игре, однако у меня есть проблемы с использованием HWND, когда игра в полноэкранном режиме, полноэкранная поверхность перекрывает видео.
У меня действительно есть дескриптор D3DDevice, чтобы видео могло рисовать внутри игровой поверхности.
Но все, что я нашел, это libvlc_media_player_set_hwnd (), а не способ передать поверхность видео на поверхность моей игры для рисования. Есть ли способ / пример, чтобы сделать это?
В LibVLC такой функции нет.
Я думаю, что вам нужно использовать обратные вызовы формата видео и визуализировать буфер видео в текстуру самостоятельно. Это тот подход, который я использовал (например, из Java с JMonkeyEngine).
Смотрите libvlc_video_set_callbacks, libvlc_video_set_format и libvlc_video_set_format_callbacks.
Я видел плавное воспроизведение Full HD, но это потребляет больше ресурсов процессора, чем визуализация VLC непосредственно на видеоповерхности.
Других решений пока нет …