Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Мультимедия, OpenGL/DirectX > Как создать новый инстанс CMediaSample?


Автор: Danechka 23.10.2009, 12:11
Всем привет.
Ситуация: получаю по сети медиа-сэмплы в виде засериализованного буфера.
Хочу: до передачи этих сэмплов куда-либо в граф фильтров хочу проанализировать его (размер, кодек и т.д.).\
Насколько я понимаю, для этого нужно создать объект CMediaSample и передать в него полученный сэмпл-буфер. Потом получить интерфейс IMediaSample и ним уже пользоваться.

Вся проблема в том, что никак не могу понять, как создать этот объект.
Я понял, что для его создания нужно создать CBaseAllocator и затем как-то их вместе использовать.
Но что я никак не могу понять как и что и в какой последовательности нужно создавать.

Может кто поможет готовым кусочком кода? (хотя бы приблизительного) Или по шагам расскажет что и как нужно делать? 


P.S. В крайнем случае можно медиа-формат получать еще на отправителе и там присоединять к буферу с сэмплом, а на приемнике парсить, но как-то некрасиво получается, что передается дублирующая информация...
Собственно так до этого и делал, но сейчас захотелось сделать все правильно.

Автор: Dims 28.10.2009, 23:48
А кто получает медиасэмплы по сети? Твоя программа или фильтр?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)