Наши партнеры

UnixForum





Библиотека сайта 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 (). Альтернативным решением является задействование точек соединения в петлевом режиме, который подразумевает самостоятельную передачу данных точками соединений. Более подробно на эту тему мы поговорим позднее. После выполнения описанных действий вам придется зарегистрировать точку соединения в рамках элемента. Эта операция выполняется аналогичным образом:


Следующий раздел : Функция цепочки.