gstreamer/gst
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
..
alpha Fix double semicolons 2015-03-10 09:31:20 +00:00
apetag g_memmove() is deprecated 2013-11-21 15:30:34 +00:00
audiofx Constify some static arrays everywhere 2015-01-21 09:55:53 +01:00
audioparsers aacparse: fix LOAS parsing issue 2015-03-06 14:34:08 -03:00
auparse gst: Add better support for static plugins 2013-04-15 15:54:11 +02:00
autodetect autovideosrc: use videotestsrc as fallback element instead of fakesrc 2014-06-28 14:25:25 +01:00
avi Fix double semicolons 2015-03-10 09:31:20 +00:00
cutter gst: Don't use endianness-specific S8 audio format 2014-02-04 13:44:29 +01:00
debugutils Fix double semicolons 2015-03-10 09:31:20 +00:00
deinterlace Deinterlace: in query_caps return only supported formats if filter is interlaced 2014-12-14 12:41:16 +01:00
dtmf rtpdtmfsrc: clock-base and seqnum-base -> timestamp-offset and seqnum-offset 2014-10-10 18:12:32 -04:00
effectv Constify some static arrays everywhere 2015-01-21 09:55:53 +01:00
equalizer equalizer: Don't call iirequalizer's transform_ip in passthrough mode 2014-10-13 08:30:03 +02:00
flv flvdemux: Don't repeatedly warn after no_more_pads (v2) 2015-03-16 12:01:43 +00:00
flx flxdec: fix integer overflow 2014-05-02 14:18:08 +01:00
goom goom: post QoS messages when dropping frames due to QoS 2014-11-02 19:31:01 +00:00
goom2k1 goom2k1: use fractional part of float division 2015-02-16 14:31:05 +00:00
icydemux icydemux: does not need to link against zlib 2014-11-23 16:24:06 +00:00
id3demux gst: Add better support for static plugins 2013-04-15 15:54:11 +02:00
imagefreeze imagefreeze: Handle seqnums 2014-11-06 12:20:25 +01:00
interleave interleave: Drop custom latency query handling 2015-02-27 00:59:43 +05:30
isomp4 Fix double semicolons 2015-03-10 09:31:20 +00:00
law mulawdec: Require caps to be set before accepting any data 2013-12-05 12:15:29 +01:00
level level: Don't read over the end of the input memory 2015-03-12 13:51:56 +00:00
matroska matroskademux: for dts only stream set pts=dts for intra only formats 2015-03-15 14:28:36 +00:00
monoscope monoscope: Fix debug statement 2013-04-26 12:16:49 +02:00
multifile splitmux: Shut down element before downward state change 2015-03-10 15:49:33 +11:00
multipart multipartdemux: do not leak new stream event 2014-09-18 12:49:53 +03:00
replaygain rgvolume: Avoid taking unnecessary refs 2014-07-16 16:45:43 +02:00
rtp rtph264depay: remove unused value 2015-03-09 16:22:33 +00:00
rtpmanager rtpsession: Also start the RTCP send thread when receiving RTP or RTCP 2015-03-21 17:38:07 +01:00
rtsp rtspsrc: Improve trace readability 2015-03-18 17:32:36 -04:00
shapewipe shapewipe: Unref caps and element after usage 2014-08-10 11:09:09 +01:00
smpte smpte: Check if input caps are the same and create output caps from video info 2014-09-04 10:47:34 +03:00
spectrum spectrum: Fix min and max for bands property 2015-02-15 21:34:28 -05:00
udp multiudpsink: fix crash with GST_DEBUG enabled 2015-03-13 18:38:42 +00:00
videobox videobox: critical error when element properties set as max/min 2014-10-20 12:53:51 +02:00
videocrop videocrop: Remove todo about caps filter 2014-12-15 18:30:01 -05:00
videofilter Constify some static arrays everywhere 2015-01-21 09:55:53 +01:00
videomixer videomixer: Drop custom latency querying logic 2015-02-27 00:59:43 +05:30
wavenc wavenc: Support RF64 format 2014-10-14 10:24:50 +02:00
wavparse wavparse: fix which stop variable is used in assignment 2015-02-06 14:46:14 +00:00
y4m y4menc: port y4menc to use GstVideoEncoder base class 2014-09-17 18:28:00 -03:00
Makefile.am build: build plugins and examples in parallel where possible 2010-03-29 11:00:57 +01:00