Как добавить интерфейс GstVideoOrientationInterface в конвейер Gst? - PullRequest
0 голосов
/ 19 марта 2019

Я пытаюсь повернуть / перевернуть видео, воспроизводимое элементом плагина (в C ++).То, что я пытаюсь сделать, похоже на вопрос, заданный в вопросе Поворот видео в gstreamer , но я предпочитаю не полагаться на элемент видеофлип.Вместо этого я хотел бы использовать интерфейс GstVideoOrientation (https://thiblahute.github.io/GStreamer-doc/gst-plugins-base-video-1.0/videoorientation.html?gi-language=c#interfaces) из библиотеки видеоматериалов gst (https://thiblahute.github.io/GStreamer-doc/gst-plugins-base-video-1.0/index.html?gi-language=c).

). Документация по самому интерфейсу и его использованию довольно понятна, но я могуНе понимаю, как добавить такой интерфейс в GstElement.

Есть некоторая документация в https://gstreamer.freedesktop.org/documentation/application-development/advanced/interfaces.html и в https://gstreamer.freedesktop.org/documentation/plugin-development/advanced/interfaces.html, но все же я не могу понять, как это работает.

Ниже приведен пример кода, с которым я работаю:

#include <gst/video/video.h>
#include <gst/gst.h>

gint
main (gint argc, gchar * argv[])
{

    //...

    GstElement *pipeline;
    pipeline = NULL;

    gst_init (NULL,NULL);

    pipeline = gst_element_factory_make("playbin", "playbin");

    g_object_set (pipeline, "uri", "an_uri", NULL);

    gst_element_set_state (pipeline, GST_STATE_PLAYING);

    //...

    return 0;
}

Любая помощь оценивается

Большое спасибо

...