我有 Gstreamer 元素,它有请求垫作为接收垫。从应用程序中,我要求垫和链接如下:
GstPadTemplate *sink_pad_template = gst_element_class_get_pad_template (GST_ELEMENT_GET_CLASS (mElement), "sink_%d");
GstPad *pad = gst_element_request_pad (mElement, sink_pad_template, NULL, NULL);
gst_pad_link(gst_element_get_static_pad (mQueue, "src"), pad);
成功连接焊盘,但在释放请求焊盘时,gst_element_release_request_pad 未返回。尝试阻止前一个元素的 src pad(在管道中),取消链接然后 release_request_pad 但 gst_element_release_request_pad 没有返回。请让我知道释放请求垫时的正确步骤是什么?
gst_pad_set_blocked(m_queueSrcPad, true);
gst_pad_unlink(m_queueSrcPad, pad);
gst_element_release_request_pad(m_Element, pad);
在调用上述函数之前尝试将源垫设置为阻塞,但这仍然没有帮助
gst_pad_set_blocked(SrcPad, true); // first element in pipeline