Я пытаюсь создать конвейер, а затем добавить видеосигнал после того, как я его создал. Мне нужно сделать это, чтобы я мог установить идентификатор окна оверлея видео для видеосинки, прежде чем отправить его в конвейер.
поэтому у меня есть этот код
pipeline = gst_parse_launch( "filesrc location=file.svg ! rsvgdec ! imagefreeze", &err );
sink = gst_element_factory_make( "glimagesink" );
gst_video_overlay_set_window_handle( GST_VIDEO_OVERLAY( sink ), this->winId() );
gst_bin_add_many( GST_BIN( pipeline ), sink, nullptr );
if ( !gst_element_link_many( pipeline, sink, nullptr ) )
{
qCritical() << "Unable to link elements";
}
Когда я запускаю его, он не может связать элементы.
Любая идея, почему это происходит. Я предполагаю, что это потому, что я пытаюсь связать элемент с «корзиной», а не с другим элементом. Однако я не вижу примеров того, как кто-то добавляет элемент в конвейер, который был создан с помощью gst_parse_launch.