* commit '604c9b1196c70d79bbbc1f23e75f6a8253a74da3':
rtsp: move the CONFIG_ macros to the beginning of the check
Conflicts:
libavformat/rtsp.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
The ones left using av_gettime are NTP timestamps (for RTCP,
which is specified to send the actual current realtime clock
in RTCP SR packets), and the NUT muxer timestamper, which is
documented as using wallclock time.
Signed-off-by: Martin Storsjö <martin@martin.st>
Previously, AVERROR(EIO) was returned. Now the value is passed from
lower level, thus it is possible to distinguish ECONNREFUSED, ETIMEDOUT,
ENETUNREACH etc.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
The were wrongly being exported and used by libavdevice
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* commit 'f797b134cad4d248b1c8955659997980d0668bc3':
rtpenc_chain: Don't copy the time base to the source stream by default
See: 1fe40e1b05
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Only copy it manually in the muxers where it makes sense (rtspenc,
sapenc). Don't touch the original AVStream in movenchint, where
the original AVStream should be kept untouched.
This fixes the normal tracks in RTP hinted files after
abb810db - the hint tracks were ok while the normal media tracks
were broken, noticed by Michael Niedermayer.
This reverts abb810db but achieves the same effect for the other
muxers.
Signed-off-by: Martin Storsjö <martin@martin.st>
For muxing, it accepts
both 0 and AV_NOPTS_VALUE. For demuxing, it will present
AV_NOPTS_VALUE when start_time_realtime is unknown.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
If set, and if TCP is available as RTSP RTP transport, then TCP will be
tried first as RTP transport.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
An SDP description normally only contains the target IP address
and port for the packets. This means that we don't really have
any clue where to send the RTCP RR packets - previously they're
sent to the destination IP written in the SDP (at the same port),
which rarely is the actual peer. And if the source for the packets
is on a different port than the destination, it's never correct.
With a new option, we can choose to send the packets to the
address that the latest packet on each socket arrived from.
---
Some may even argue that this should be the default - perhaps,
but I'd rather keep it optional at first. Additionally, I'm not
sure if sending RTCP RR directly back to the source is
desireable for e.g. multicast.
Signed-off-by: Martin Storsjö <martin@martin.st>
* commit 'f4d371b9737c0405b3bc46d7ca0c856c0a8616b1':
rtsp: Don't include the listen flag in the SDP demuxer flags
Merged-by: Michael Niedermayer <michaelni@gmx.at>
It's only relevant for the RTSP demuxer. Similarly, the custom_io
flag is only present in the SDP demuxer options list.
Signed-off-by: Martin Storsjö <martin@martin.st>
* commit 'b7e6da988bfd5def40ccf3476eb8ce2f98a969a5':
rtpproto: Move rtpproto specific function declarations to a separate header
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '1f57d60129b0e297cd197c6031c4439b30a6b503':
rtsp: Support RFC4570 (source specific multicast) more properly.
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Add support for domain names, for multiple source addresses,
for exclusions, and for session level specification of addresses.
Signed-off-by: Martin Storsjö <martin@martin.st>
* commit '36fb0d02a1faa11eaee51de01fb4061ad6092af9':
rtsp: Support multicast source filters (RFC 4570)
rtpproto: Check the source IP if one single source has been specified
rtpproto: Support IGMPv3 source specific multicast inclusion
Conflicts:
libavformat/rtpproto.c
libavformat/rtsp.c
libavformat/rtsp.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
This supports inclusion of one single IP address for now,
at the media level. Specifying the filter at the session level
(instead of at the media level), multiple source addresses,
exclusion, or using FQDNs instead of plain IP addresses is not
supported (yet at least).
Signed-off-by: Martin Storsjö <martin@martin.st>
Passes Source-Specific Multicast parameters read from an sdp file through to the UDP socket code,
allowing source-specific multicast streams to be correctly received. As an integral part of this
change, additional checking (currently only enabled in the case of SSM streams, but probably
useful in similar scenarios) has been added to the RTP protocol handler to distinguish UDP packets
arriving from multiple sources to the same port and process only the expected packets
(those transmitted from the expected UDP source address). This resolves an issue identified
when multiple instances of FFmpeg subscribe to different Source-Specific Multicast streams
but with each sharing the same destination port.
Signed-off-by: Edward Torbett <ed.torbett@simulation-systems.co.uk>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* commit '1dd1b2332ebbac710d8e0214cec7595e118f2105':
rtsp: Include an User-Agent header field in all requests
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit 'b3ea76624ad1baab0b6bcc13f3f856be2f958110':
vf_aspect: use the name 's' for the pointer to the private context
Remove commented-out debug #define cruft
Conflicts:
libavcodec/4xm.c
libavcodec/dvdsubdec.c
libavcodec/ituh263dec.c
libavcodec/mpeg12.c
libavfilter/avfilter.c
libavfilter/vf_aspect.c
libavfilter/vf_fieldorder.c
libavformat/rtmpproto.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>