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

UnixForum





Библиотека сайта rus-linux.net

Фреймворк GStreamer. Руководство разработчика приложений. Инициализация библиотеки фреймворка GStreamer

Оригинал: GStreamer Application Development Manual
Авторы: Wim Taymans, Steve Baker, Andy Wingo, Ronald S. Bultje, Stefan Kost
Дата публикации: 21 мая 2014 г.
Перевод: А.Панин
Дата перевода: 18 июня 2014 г.

Часть II. Создание приложения

В следующих главах мы обсудим базовые концепции фреймворка GStreamer и наиболее часто используемые объекты, такие, как элементы, точки соединения и буферы. Мы будем использовать схематичные изображения этих объектов для того, чтобы изобразить более сложные конвейеры, которые вы научитесь создавать позднее. Вы впервые познакомитесь с API фреймворка GStreamer, причем этого знакомства будет достаточно для создания элементарных приложений. Далее в этой части вы найдете информацию о том, как создать простейшее приложение с интерфейсом командной строки.

Учтите, что в данной части вы познакомитесь с низкоуровневыми API и концепциями фреймворка GStreamer. При создании приложений вы можете отдать предпочтение использованию API более высокого уровня. Эти API будут обсуждаться в следующих частях руководства.

Глава 4. Инициализация библиотеки фреймворка GStreamer

При разработке приложения на основе фреймворка GStreamer вы можете просто подключить заголовочный файл gst/gst.h для получения доступа к библиотечным функциям. Кроме этого, вам придется инициализировать саму библиотеку фреймворка GStreamer.

4.1. Простая инициализация

Перед тем, как библиотеки фреймворка GStreamer смогут использоваться, из главного программного потока приложения должен быть осуществлен вызов функции gst_init. Этот вызов позволит выполнить необходимые операции инициализации библиотеки, а также разобрать специфичные для фреймворка GStreamer параметры командной строки.

Типичная программа[1] должна содержать аналогичный следующему код для инициализации библиотеки фреймворка GStreamer:

Пример 4.1. Инициализация библиотеки фреймворка GStreamer

Используйте макросы GST_VERSION_MAJOR, GST_VERSION_MINOR и GST_VERSION_MICRO для получения версии библиотеки фреймворка GStreamer, с которой будет связываться ваше приложение или функцию gst_version для получения версии библиотеки, с которой оно уже связано. На данный момент фреймворк GStreamer использует схему версий, в которой библиотеки одной и той же версии с одной и той же подверсией совместимы на уровне API и ABI.

Также можете вызывать функцию gst_init с двумя аргументами NULL, но в этом случае никакие из аргументов командной строки не будут разобраны средствами фреймворка GStreamer.

4.2. Интерфейс GOption

Также вы можете использовать интерфейс GOption для инициализации библиотеки фреймворка GStreamer с передачей ваших собственных параметров таким же образом, как показано в следующем примере:

Пример 4.2. Инициализация с использованием интерфейса GOption

Как показано в данном фрагменте кода, вы можете использовать таблицу GOption для описания ваших специфичных для приложения параметров командной строки и передавать эту таблицу функции инициализации библиотеки GLib вместе с группой параметров, возвращаемой функцией gst_init_get_option_group. В этом случае параметры вашего приложения будут разобраны вместе со стандартными параметрами фреймворка GStreamer.


[1] Код для данного примера автоматически извлечен из документации и добавлен в директорию tests/examples/manual архива исходного кода фреймворка GStreamer.


Следующий раздел : Элементы.