Библиотека сайта rus-linux.net
Фреймворк GStreamer. Руководство разработчика плагинов. Объявление точек соединения
Оригинал: GStreamer Plugin Writer's Guide
Авторы: Richard John Boulton, Erik Walthinsen, Steve Baker, Leif Johnson, Ronald S. Bultje, Stefan Kost, Tim-Philipp Muller, Wim Taymans
Дата публикации: 19 июля 2014 г.
Перевод: А.Панин
Дата перевода: 26 июля 2014 г.
Глава 4. Объявление точек соединения
Как объяснялось ранее, точки соединения являются портами, через которые данные передаются к вашему элементу и от вашего элемента, поэтому они являются очень важными объектами процесса создания элемента. При рассмотрении шаблона кода плагина мы увидели, как статические шаблоны точек соединения позволяют регистрировать шаблоны точек соединения в рамках класса элемента. В данной части мы познакомимся как с методикой создания самих элементов, так и с методикой использования функции обработки событий _event ()
для установки определенного формата мультимедийного потока, а также методикой регистрации функций для предоставления возможности передачи данных через элемент.
В рамках функции инициализации элемента _init ()
вы должны будете создать точку соединения на основе шаблона точки соединения, который был зарегистрирован в рамках класса элемента средствами функции инициализации этого класса _class_init ()
. После создания точки соединения вам придется установить указатель на функцию цепочки _chain ()
, которая будет принимать и обрабатывать входные данные, передаваемые на входную точку соединения элемента. Также вы можете установить необязательные указатели на функции обработки событий _event ()
и запросов _query ()
. Альтернативным решением является задействование точек соединения в петлевом режиме, который подразумевает самостоятельную передачу данных точками соединений. Более подробно на эту тему мы поговорим позднее. После выполнения описанных действий вам придется зарегистрировать точку соединения в рамках элемента. Эта операция выполняется аналогичным образом:
Следующий раздел : Функция цепочки.