Bin src pad not forwarding caps query

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Bin src pad not forwarding caps query

Ajit Warrier
I am stumped by a caps issue. I have the following (high level) pipeline:

udpsrc ! rtpssrcdemux ! [ Bin<DecodeSource>: output-select ! depay/decode elements ! input-select ] ! alsasink

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:

1. rtpssrcdemux sends down a caps query "application/x-rtp, media=(string)audio, ssrc=(uint)4140498029"
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"
3. the Bin does not forward this back to the ssrcdemux, hence buffers get dropped with "not-negotiated".

Log:
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
DEBUG  GST_PADS gstpad.c:3376:gst_pad_query_default:<OutputSelect_239.0.0.190:sink>.[00m not forwarding 0x3603f030 (accept-caps) query
GST_PADS gstpad.c:3955:gst_pad_query:<OutputSelect_239.0.0.190:sink> sent query 0x3603f030 (accept-caps), result 1
GST_PADS gstutils.c:2602:gst_pad_proxy_query_accept_caps:<DecodeSource_239.0.0.190:sink> proxying accept caps query: 0
GST_PADS gstpad.c:3376:gst_pad_query_default:<DecodeSource_239.0.0.190:sink> not forwarding 0x3603f030 (accept-caps) query
GST_PADS gstpad.c:3955:gst_pad_query:<DecodeSource_239.0.0.190:sink> sent query 0x3603f030 (accept-caps), result 1
default gstutils.c:2987:gst_pad_query_accept_caps:<DecodeSource_239.0.0.190:sink> query returned 0
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
GST_PADS gstpad.c:5721:gst_pad_send_event_unchecked:<DecodeSource_239.0.0.190:sink>.[00m pre event check failed
GST_PADS gstpad.c:3842:push_sticky:<SSRCDemux_239.0.0.190:src_4140498029>.[00m result not-negotiated, mark pending events
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
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
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

Any idea why this happens ?

Thanks,
Ajit.

_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Bin src pad not forwarding caps query

Sebastian Dröge-3
On Tue, 2016-11-15 at 23:30 +0000, Ajit Warrier wrote:
>
> 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

Your caps are not complete and because of that it all fails with not-
negotiated. You are missing clock-rate and encoding-name or payload in
your caps at least.

--
Sebastian Dröge, Centricular Ltd · http://www.centricular.com
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

signature.asc (981 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Bin src pad not forwarding caps query

Ajit Warrier
Thank, that was indeed the issue. For future reference for others who might face this problem, an easier way is to use the rtpbin element and use the request_pt_map signal to provide the full caps.

Ajit.

On Sat, 19 Nov 2016 at 02:07 Sebastian Dröge <[hidden email]> wrote:
On Tue, 2016-11-15 at 23:30 +0000, Ajit Warrier wrote:
>
> 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,
> <a href="tel:(214)%20748-3647" value="+12147483647" class="gmail_msg" target="_blank">2147483647 ], caps application/x-rtp, media=(string)audio,
> ssrc=(uint)4140498029

Your caps are not complete and because of that it all fails with not-
negotiated. You are missing clock-rate and encoding-name or payload in
your caps at least.

--
Sebastian Dröge, Centricular Ltd · http://www.centricular.com_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel