Значит такое.
Мне на следующем проекте надо будет работать с мультимедиа и стримингом.
Что я первым делом подумал - а, подумал, наверное, это всё хуйня, все давно решено, особенно в опенсорсе.
Хуй там плавал. И давайте не будем вспоминать грустные вещи про RTSP и про цены на Erlyvideo, давайте начнем с базы.
База это транскодинг и проигрывание. Особенно на винде. Что я сразу подумал? Я подумал, а, говно вопрос - FFmpeg же есть.
Вопрос, действительно оказался говно, и это мягко сказано. Собственно, ключевая мультимедиа-библиотека всего опенсорса - это сраный треш.
Мне стоило две недели, чтобы разобраться и написать нижеследующую простенькую программку, которая умеет играть музыку и показывать видео:
https://gist.github.com/Lovesan/64f04bf6fe3cf8ff3d39e357fa293698
Код тут говно, и кое-где есть мемори-лик, плюс он почему-то не совсем умеет проигрывать Mp3, но тем не менее.
Что я узнал:
1) Ни один из туториалов в сети не является валидным.
2) Половина API задепрекейчено, и собственно, не особо работает.
3) Breaking changes в нем случаются где-то каждую минорную версию.
4) Вся документация - сигнатуры функций, автоматически сгенеренные из сорцов.
5) На тему работы и интеропа с SDL2 вообще нет ничего.
6) Под винду все еще хуже чем кажется.
Это ёбаный пиздец. И это, повторяюсь, ключевой опенсорсный набор библиотек для мультимедиа! Сраный треш.