rtspclientsink problem, it does not consume the stream or prevent pipeline going to the PLAYING state

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

rtspclientsink problem, it does not consume the stream or prevent pipeline going to the PLAYING state

Ugur
Hi,

After upgrading the gstreamer to 1.8.0 my pipeline started to have problems. The pipeline has a webrtcendpoint source and a rtspclientsink to output the stream to a server. For some reason pipeline is getting stuck while switching to the PLAYING state. When i remove the rtspclientsink and replace it with a autovideosink it kind of works. I mean i normally set the pipeline to playing state and use gst_element_sync_state_with_parent function on each element. But with the autovideosink the videosink does not go to the playing state so i specifically set it to the playing state with a timer and then the pipeline starts to work as expected. Anyway the original pipeline should have rtspclientsink, with this element the behaviour is weird. I try to set the state to PLAYING and then check the state with gst_element_get_state and it never returns. Since rtspclientsink is not consuming the video after a while one of the queues in the pipeline get full and i start to get queue overrun messages. Below is the debug logs from rtspclient.

Any ideas how might be causing this and how can i solve it?

Thanks,
Ugur



0:00:13.940565255 63445 0x7fffcc001400 DEBUG         rtspclientsink gstrtspclientsink.c:1043:gst_rtsp_client_sink_sinkpad_event:<rtspsink> Have set caps event on pad <rtspsink:sink_0> caps video/x-h264, codec_data=(buffer)01640029ffe1001867640029acb20508fcb80880000003008000000a478c192401000568ebccb22c, stream-format=(string)avc, alignment=(string)au, level=(string)4.1, profile=(string)high, width=(int)160, height=(int)120, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)10/1
0:00:13.940728972 63445 0x7fffcc001400 DEBUG         rtspclientsink gstrtspclientsink.c:865:gst_rtsp_client_sink_make_payloader: caps video/x-h264, codec_data=(buffer)01640029ffe1001867640029acb20508fcb80880000003008000000a478c192401000568ebccb22c, stream-format=(string)avc, alignment=(string)au, level=(string)4.1, profile=(string)high, width=(int)160, height=(int)120, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)10/1 intersects with template video/x-h264, stream-format=(string)avc, alignment=(string)au; video/x-h264, stream-format=(string)byte-stream, alignment=(string){ nal, au } for payloader rtph264pay
0:00:13.941078649 63445 0x7fffcc001400 DEBUG         rtspclientsink gstrtspclientsink.c:978:gst_rtsp_client_sink_setup_payloader:<rtspsink> Configuring payloader <rtph264pay0> for pad <rtspsink:sink_0>
0:00:13.941388744 63445 0x7fffcc001400 INFO          rtspclientsink gstrtspclientsink.c:949:handle_payloader_block:<rtspsink> Block on pad <rtph264pay0:src>
0:00:13.941415474 63445 0x7fffcc001400 INFO          rtspclientsink gstrtspclientsink.c:956:handle_payloader_block:<rtspsink> Announced preroll on pad <rtph264pay0:src>
0:00:13.941430630 63445       0x955850 DEBUG         rtspclientsink gstrtspclientsink.c:3381:gst_rtsp_client_sink_collect_streams:<rtspsink> Creating stream object for stream 0
0:00:13.941448946 63445       0x955850 DEBUG         rtspclientsink gstrtspclientsink.c:898:gst_rtsp_client_sink_create_stream:<rtspsink> Assigning pt 96 to stream 0
0:00:13.941585894 63445       0x955850 DEBUG             rtspstream rtsp-stream.c:257:gst_rtsp_stream_init: new stream 0x7fffa4053440
0:00:13.941714477 63445       0x955850 DEBUG             rtspstream rtsp-stream.c:1635:gst_rtsp_stream_set_retransmission_time:<GstRTSPStream@0x7fffa4053440> set retransmission time 500000000
0:00:13.941725019 63445       0x955850 DEBUG             rtspstream rtsp-stream.c:1679:gst_rtsp_stream_set_retransmission_pt:<GstRTSPStream@0x7fffa4053440> set retransmission pt 97
0:00:13.941739697 63445       0x955850 INFO              rtspstream rtsp-stream.c:2568:gst_rtsp_stream_join_bin: stream 0x7fffa4053440 joining bin as session 0
0:00:13.942242040 63445       0x955850 DEBUG         rtspclientsink gstrtspclientsink.c:3323:request_aux_sender:<rtspsink> Creating aux sender for stream 0
0:00:13.942290005 63445       0x955850 INFO              rtspstream rtsp-stream.c:2195:gst_rtsp_stream_request_aux_sender: creating rtxsend with pt 96 to 97
0:00:13.979730326 63445       0x955850 DEBUG         rtspclientsink gstrtspclientsink.c:4417:gst_rtsp_client_sink_handle_message:<rtspsink> Internal bin changed state to PAUSED (pending PAUSED). Prerolled now 0
0:00:13.989926185 63445 0x7fffcc001400 INFO              rtspstream rtsp-stream.c:1949:on_new_sender_ssrc: 0x7fffa4053440: new sender source 0x9acd20
0:00:13.990012165 63445 0x7fffcc001400 INFO              rtspstream rtsp-stream.c:1784:dump_structure: structure: application/x-rtp-source-stats, ssrc=(uint)2579333304, internal=(boolean)true, validated=(boolean)true, received-bye=(boolean)false, is-csrc=(boolean)false, is-sender=(boolean)false, seqnum-base=(int)25773, clock-rate=(int)90000, octets-sent=(guint64)0, packets-sent=(guint64)0, octets-received=(guint64)0, packets-received=(guint64)0, bitrate=(guint64)0, packets-lost=(int)0, jitter=(uint)0, sent-pli-count=(uint)0, recv-pli-count=(uint)0, sent-fir-count=(uint)0, recv-fir-count=(uint)0, have-sr=(boolean)false, sr-ntptime=(guint64)0, sr-rtptime=(uint)0, sr-octet-count=(uint)0, sr-packet-count=(uint)0;
0:00:13.990056730 63445 0x7fffcc001400 INFO              rtspstream rtsp-stream.c:1767:caps_notify: stream 0x7fffa4053440 received caps 0x7fffb0007230, application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)H264, packetization-mode=(string)1, profile-level-id=(string)640029, sprop-parameter-sets=(string)"Z2QAKayyBQj8uAiAAAADAIAAAApHjBkk\,aOvMsiw\=", payload=(int)96, ssrc=(uint)2579333304, timestamp-offset=(uint)475361622, seqnum-offset=(uint)25773, a-framerate=(string)10, rtx-ssrc=(uint)1359758373, rtx-seqnum-offset=(uint)32900, rtx-payload=(int)97
0:00:13.990391285 63445 0x7fffd401ff20 FIXME               basesink gstbasesink.c:3125:gst_base_sink_default_event:<appsink0> stream-start event without group-id. Consider implementing group-id handling in the upstream elements
0:00:13.990686538 63445 0x7fffd401fc50 FIXME               basesink gstbasesink.c:3125:gst_base_sink_default_event:<multiudpsink0> stream-start event without group-id. Consider implementing group-id handling in the upstream elements
0:00:13.990821136 63445 0x7fffd401fc50 DEBUG         rtspclientsink gstrtspclientsink.c:4417:gst_rtsp_client_sink_handle_message:<rtspsink> Internal bin changed state to PAUSED (pending VOID_PENDING). Prerolled now 1
0:00:13.990853287 63445 0x7fffd401fc50 DEBUG         rtspclientsink gstrtspclientsink.c:4382:gst_rtsp_client_sink_handle_message:<rtspsink> Posting ASYNC-DONE
0:00:13.990874112 63445       0x955850 DEBUG         rtspclientsink gstrtspclientsink.c:4442:gst_rtsp_client_sink_thread:<rtspsink> got command LOOP
0:00:13.990882319 63445       0x955850 DEBUG         rtspclientsink gstrtspclientsink.c:1756:gst_rtsp_client_sink_connection_flush:<rtspsink> set flushing 0
0:00:13.990890892 63445       0x955850 DEBUG         rtspclientsink gstrtspclientsink.c:1914:gst_rtsp_client_sink_loop_rx:<rtspsink> doing receive with timeout 53 seconds
0:00:13.991103113 63445 0x7fffd4005370 FIXME                default gstutils.c:3764:gst_pad_create_stream_id_internal:<appsrc0:src> Creating random stream-id, consider implementing a deterministic way of creating a stream-id
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel