0

シンク パッドとしてリクエスト パッドを持つ 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 パッドを (パイプラインで) ブロックし、リンクを解除してから 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
4

0 に答える 0