Какой из нескольких способов установить крышки для AppSRC хорош и правильный в наши дни?C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Какой из нескольких способов установить крышки для AppSRC хорош и правильный в наши дни?

Сообщение Anonymous »

Я пишу экспериментальные приложения Gstreamer в C ++ на Linux. Пытаясь создать AppSRC для излучения алгоритмически сгенерированных кадров, я нашел в Интернете несколько способов установить колпачки исходных площадок AppSRC. Я предполагаю, что некоторые устарели. Некоторые могут быть для старого GST 0,1 и не использоваться. Я нахожу пример кода, который не помечен для версии GSTREAMER. Это беспорядок. Большинство способов, которые я нашел, можно обобщить в этом GOB кода: < /p>

source = gst_element_factory_make("appsrc", "MyAwesomeSource");

#if (1)
#if (1)
auto caps = gst_caps_new_simple("video/x-raw",
// auto caps = gst_video_format_new_caps("video/x-raw",
"format", G_TYPE_STRING, "RGB",
"width", G_TYPE_INT, FrameWidth,
"height", G_TYPE_INT, FrameHeight,
"framerate", GST_TYPE_FRACTION, framerate, 1,
"interlace-mode", G_TYPE_STRING, "progressive",
nullptr);
#else
auto caps = gst_caps_new_simple ("video/x-raw-rgb",
"bpp",G_TYPE_INT,24,
"depth",G_TYPE_INT,24,
"width", G_TYPE_INT, 640,
"height", G_TYPE_INT, 480,
NULL);
#endif
#else
GstVideoInfo vi;
gst_video_info_set_format(&vi, GST_VIDEO_FORMAT_RGBx, FrameWidth, FrameHeight);
auto caps = gst_video_info_to_caps(&vi);
#endif
g_object_set(source, "caps", caps,
...

< /code>
Я ищу четкое объяснение того, что такое правильный, правильный способ сделать это в Gstreamer-1.0, а также понимание того, почему другие способы не так хороши. Некоторые детали, которые я хотел бы рассмотреть: в чем разница между видео/x-raw и видео/x-raw-rgb, когда уже есть свойство «формат», установленное в «RGB». И является ли «x» в «RGBX» буквальным, держателем места для дополнительного «A» для альфа -канала или заполнителя для «8», «16» или какого -то такого количества битов на канал или что -то еще? /п>

Подробнее здесь: https://stackoverflow.com/questions/484 ... -these-day
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»