Hi all.
Currently, I receive an external video x264 stream, using the following pipeline:
...
const auto udpsrc = ::gst_element_factory_make("udpsrc", nullptr);
const auto depay = ::gst_element_factory_make("rtph264depay", nullptr);
const auto decodebin = ::gst_element_factory_make("decodebin", nullptr);
const auto videoconvert = ::gst_element_factory_make("videoconvert", nullptr);
const auto videofilter = ::gst_element_factory_make("capsfilter", nullptr);
m_videosink = m_renderer->videoSink(); // my own video sink
m_pipeline = ::gst_pipeline_new("pipeline");
...
::gst_bin_add_many(GST_BIN(m_pipeline),
udpsrc,
depay,
decodebin,
videoconvert,
videofilter,
m_videosink,
nullptr);
...
::gst_element_link_many(udpsrc, depay, decodebin, nullptr);
::gst_element_link_many(videoconvert, videofilter, m_videosink, nullptr);
...
const auto status = ::gst_element_set_state(m_pipeline, GST_STATE_PLAYING);
...
but a problem is that this code is too big.