GStreamer。在 rtph265pay 从未调用后进行探测

GStreamer. Probe after rtph265pay never called

我有 rtsp 服务器,我想扩展 rtp 缓冲区 header。为此,我向 rtph265pay 的 src 添加了探测器,但它从未调用过。我的管道:

( appsrc name=vsrc ! nvvidconv ! video/x-raw(memory:NVMM),format=NV12 !
omxh265enc MeasureEncoderLatency=true bitrate=20000000 control-rate=2 !
rtph265pay name=pay0 pt=96 ) 

我附加探针的代码:

static GstPadProbeReturn test_probe (GstPad *pad, GstPadProbeInfo *info,
gpointer user_data)
{
    cout << "i'm here";
}



 void mediaConfigure (GstRTSPMediaFactory* factory, GstRTSPMedia* media,
gpointer user_data)
{
        GstElement *element, *rtph265pay; GstPad *pad;
        element = gst_rtsp_media_get_element (media);
        rtph265pay = gst_bin_get_by_name_recurse_up (GST_BIN (element), "pay0");
        pad = gst_element_get_static_pad (rtph265pay, "src");
        gst_pad_add_probe (pad, GST_PAD_PROBE_TYPE_BUFFER,
        (GstPadProbeCallback) test_probe, NULL, NULL);
        gst_object_unref (pad);
}

如果我设置 "sink" 而不是 "src",探测器工作,但我需要 "src" 来更改 rtp 缓冲区 header... 这里有什么问题?

可能是因为 rtph265pay 的 src pad 没有链接到任何其他 pad - 这意味着 rtph265pay 是管道的末端 - 该元素没有将任何缓冲区传递到它的 src pad?
尝试在 rtph265pay 之后附加一个 fakesink。