<div dir="ltr"><div><div><div><div><div><div><div><div><div>I am stumped by a caps issue. I have the following (high level) pipeline:<br><br></div>udpsrc ! rtpssrcdemux ! [ Bin<DecodeSource>: output-select ! depay/decode elements ! input-select ] ! alsasink<br><br></div>I have created ghost pads for the bin. Now when data comes into the udpsrc, I get the ssrc-new-pad callback, in which I link the Bin. However the incoming data does not make it to the alsasink. The log shows that:<br><br></div>1. rtpssrcdemux sends down a caps query "application/x-rtp, media=(string)audio, ssrc=(uint)4140498029"<br></div>2. the depay/decode elements reply with: "allowed caps subset application/x-rtp, media=(string)audio, ssrc=(uint)4140498029, clock-rate=(int)8000, encoding-name=(string)G722; application/x-rtp, media=(string)audio, ssrc=(uint)4140498029, payload=(int)9, clock-rate=(int)[ 1, 2147483647 ], caps application/x-rtp, media=(string)audio, ssrc=(uint)4140498029"<br></div>3. the Bin does not forward this back to the ssrcdemux, hence buffers get dropped with "not-negotiated".<br><br></div>Log:<br>GST_PADS gstpad.c:3098:gst_pad_query_accept_caps_default:<OutputSelect_239.0.0.190:sink>.[00m allowed caps subset application/x-rtp, media=(string)audio, ssrc=(uint)4140498029, clock-rate=(int)8000, encoding-name=(string)G722; application/x-rtp, media=(string)audio, ssrc=(uint)4140498029, payload=(int)9, clock-rate=(int)[ 1, 2147483647 ], caps application/x-rtp, media=(string)audio, ssrc=(uint)4140498029<br>DEBUGĀ  GST_PADS gstpad.c:3376:gst_pad_query_default:<OutputSelect_239.0.0.190:sink>.[00m not forwarding 0x3603f030 (accept-caps) query<br>GST_PADS gstpad.c:3955:gst_pad_query:<OutputSelect_239.0.0.190:sink> sent query 0x3603f030 (accept-caps), result 1<br>GST_PADS gstutils.c:2602:gst_pad_proxy_query_accept_caps:<DecodeSource_239.0.0.190:sink> proxying accept caps query: 0<br>GST_PADS gstpad.c:3376:gst_pad_query_default:<DecodeSource_239.0.0.190:sink> not forwarding 0x3603f030 (accept-caps) query<br>GST_PADS gstpad.c:3955:gst_pad_query:<DecodeSource_239.0.0.190:sink> sent query 0x3603f030 (accept-caps), result 1<br>default gstutils.c:2987:gst_pad_query_accept_caps:<DecodeSource_239.0.0.190:sink> query returned 0<br>GST_CAPS gstpad.c:5478:pre_eventfunc_check:<DecodeSource_239.0.0.190:sink> caps application/x-rtp, media=(string)audio, ssrc=(uint)4140498029 not accepted<br>GST_PADS gstpad.c:5721:gst_pad_send_event_unchecked:<DecodeSource_239.0.0.190:sink>.[00m pre event check failed<br>GST_PADS gstpad.c:3842:push_sticky:<SSRCDemux_239.0.0.190:src_4140498029>.[00m result not-negotiated, mark pending events<br>GST_SCHEDULING gstpad.c:4209:gst_pad_chain_data_unchecked:<SSRCDemux_239.0.0.190:sink>.[00m called chainfunction &0x34ee6c5c with buffer 0x36053498, returned not-negotiated<br>GST_SCHEDULING gstpad.c:4209:gst_pad_chain_data_unchecked:<PTTSelector_239.0.0.190:sink_0>.[00m called chainfunction &gst_selector_pad_chain with buffer 0x36053498, returned not-negotiated<br>GST_SCHEDULING gstpad.c:4209:gst_pad_chain_data_unchecked:<ValveNormal_239.0.0.190:sink>.[00m called chainfunction &gst_valve_chain with buffer 0x36053498, returned not-negotiated<br><br></div>Any idea why this happens ?<br><br></div>Thanks,<br></div>Ajit.<br></div>