gstreamer/gst/rtpmanager
Sebastian Dröge 17d90b453f rtpsession: Also start the RTCP send thread when receiving RTP or RTCP
Before we only started it when either:
- there is no send RTP stream
or
- we received an RTP packet for sending

This could mean that if the send RTP pads are connected but never receive any
RTP data, and the same session is also used for receiving RTP/RTCP, we would
never start the RTCP thread and would never send RTCP for the receiving part
of the session.

This can be reproduced with a pipeline like:

gst-launch-1.0 rtpbin name=rtpbin \
udpsrc port=5000 ! "application/x-rtp, media=video, clock-rate=90000, encoding-name=H264" ! rtpbin.recv_rtp_sink_0 \
udpsrc port=5001 ! rtpbin.recv_rtcp_sink_0 \
rtpbin.send_rtcp_src_0 ! fakesink name=rtcp_fakesink silent=false async=false sync=false \
rtpbin.recv_rtp_src_0_2553225531_96 ! decodebin ! xvimagesink \
fakesrc ! valve drop=true ! rtpbin.send_rtp_sink_0 \
rtpbin.send_rtp_src_0 ! fakesink name=rtp_fakesink silent=false async=false sync=false -v

Before this change the rtcp_fakesink would never send RTCP for the receiving
part of the session (i.e. no receiver reports!), after the change it does.

And before and after this change it would send RTCP for the receiving part of
the session if the sender part was omitted (the last two lines).
2015-03-21 17:38:07 +01:00
..
gstrtpbin.c rtpbin: Document how to control per-SSRC retransmission 2014-11-20 20:24:42 +05:30
gstrtpbin.h rtpbin: Fix up new_jitterbuffer signal prototype 2014-11-20 22:42:59 +05:30
gstrtpdtmfmux.c rtpdtmfmux: properly escape percent sign in documentation 2015-03-14 14:22:26 +00:00
gstrtpdtmfmux.h rtpmux: Fix FSF address 2012-12-16 16:36:39 +00:00
gstrtpjitterbuffer.c rtpjitterbuffer: Drop packets with sequence numbers before the seqnum-base 2015-03-09 11:10:35 +01:00
gstrtpjitterbuffer.h rtpjitterbuffer: small optimizations 2014-04-29 16:21:44 +02:00
gstrtpmanager.c rtpmanager: add new rtprtxsend / rtprtxreceive elements 2014-01-03 20:47:59 +01:00
gstrtpmux.c rtpmux: Don't set PROXY_CAPS flag on the src pad 2014-10-21 10:52:00 +02:00
gstrtpmux.h rtpmux: clock-base and seqnum-base -> timestamp-offset and seqnum-offset 2014-10-10 18:12:23 -04:00
gstrtpptdemux.c rtpptdemux: just drop invalid rtp packets instead of erroring out 2014-12-25 15:48:04 +00:00
gstrtpptdemux.h Fix FSF address 2012-11-04 00:07:18 +00:00
gstrtprtxqueue.c rtprtxqueue: Implement support for buffer lists 2015-03-19 11:54:37 +01:00
gstrtprtxqueue.h rtxqueue: add property to configure queue size 2013-08-23 15:47:25 +02:00
gstrtprtxreceive.c rtprtxreceive: Use offset when copying header 2014-11-29 18:38:12 -05:00
gstrtprtxreceive.h rtprtxreceive: Wait until timeout to clear association requests 2014-05-04 22:36:59 -04:00
gstrtprtxsend.c rtprtxsend: Add support for buffer lists 2015-03-19 11:54:37 +01:00
gstrtprtxsend.h rtprtxsend: run a new GstTask on the src pad 2014-01-21 14:54:01 +01:00
gstrtpsession.c rtpsession: Also start the RTCP send thread when receiving RTP or RTCP 2015-03-21 17:38:07 +01:00
gstrtpsession.h Fix FSF address 2012-11-04 00:07:18 +00:00
gstrtpssrcdemux.c rtpssrcdemux: Fix compiler warning when compiling with G_DISABLE_ASSERT 2014-06-29 19:59:53 +02:00
gstrtpssrcdemux.h rtpssrcdemux: Remove unused GstSegment 2013-04-02 23:42:41 -04:00
Makefile.am rtpmanager: re-enable -Werror 2014-02-27 00:12:13 +00:00
rtpjitterbuffer.c jitterbuffer: rework resync handling 2014-10-21 11:57:34 +02:00
rtpjitterbuffer.h jitterbuffer: rework resync handling 2014-10-21 11:57:34 +02:00
rtpsession.c Fix double semicolons 2015-03-10 09:31:20 +00:00
rtpsession.h Revert "rtpsession: Do not use an array of maps if they are not being used" 2015-03-04 11:26:57 +01:00
rtpsource.c rtp: Add Full Intra Request (FIR) packets to statistics 2015-03-04 12:04:40 +01:00
rtpsource.h rtpsource: Rename seqnum-base to seqnum-offset in caps 2014-10-10 18:33:34 -04:00
rtpstats.c gstrtpsession: Implement a number of feedback packet statistics 2013-11-15 15:21:19 +01:00
rtpstats.h rtp: Add Full Intra Request (FIR) packets to statistics 2015-03-04 12:04:40 +01:00