summaryrefslogtreecommitdiff
path: root/libavformat/rtpproto.c
Commit message (Collapse)AuthorAge
* avformat/rtpproto: Move dscp into context & AVOptionsMichael Niedermayer2015-04-11
| | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* Merge commit '8c9c5479c4ba729b4ba868ab541a90b2061a7c2f'Michael Niedermayer2015-04-01
|\ | | | | | | | | | | | | * commit '8c9c5479c4ba729b4ba868ab541a90b2061a7c2f': rtp: Add an option to set the send/receive buffer size Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * rtp: Add an option to set the send/receive buffer sizeLuca Barbato2015-04-01
| | | | | | | | It gets forwarded down to UDP.
* | Merge commit '3c47e7c4350f73fc77d8e76f0dd6d2946b13c5cc'Michael Niedermayer2015-04-01
|\| | | | | | | | | | | | | | | | | | | * commit '3c47e7c4350f73fc77d8e76f0dd6d2946b13c5cc': rtp: Map the urloptions to AVOptions Conflicts: libavformat/rtpproto.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * rtp: Map the urloptions to AVOptionsLuca Barbato2015-04-01
| | | | | | | | Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* | avformat/rtpproto: Use av_freep() to avoid leaving stale pointers in memoryMichael Niedermayer2014-12-24
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge commit '95d880fa6436f3b557a9c060428a04b9e4d552df'Michael Niedermayer2014-12-10
|\| | | | | | | | | | | | | * commit '95d880fa6436f3b557a9c060428a04b9e4d552df': rtpproto: Fix the input RTP data format check Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * rtpproto: Fix the input RTP data format checkMartin Storsjö2014-12-09
| | | | | | | | | | | | | | | | | | | | | | | | | | Only the upper 2 bits of the first byte are known to be a fixed value. The lower bits in the first byte of a RTP packet could be set if the input is from another RTP packetizers than libavformat's, but for RTCP packets, they would also be set when sending RTCP RR packets, triggering false warnings about incorrect input format to the protocol. Signed-off-by: Martin Storsjö <martin@martin.st>
* | Merge commit '29bc7bfba288ff8572ed967a8752a1dbde7b724b'Michael Niedermayer2014-12-08
|\| | | | | | | | | | | | | * commit '29bc7bfba288ff8572ed967a8752a1dbde7b724b': rtpproto: Write a warning if the input data written isn't RTP packetized Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * rtpproto: Write a warning if the input data written isn't RTP packetizedMartin Storsjö2014-12-08
| | | | | | | | | | | | | | Tell the user that the RTP muxer needs to be used to packetize the data - using the RTP protocol on its own isn't enough. Signed-off-by: Martin Storsjö <martin@martin.st>
* | avformat/rtpproto: Allow to specify DSCP classVincent Bernat2014-11-27
| | | | | | | | | | | | | | | | | | By appending `?dscp=26` to the URL, IP packets will be classified as AF31 (assured forwarding for multimedia flows with low probability of loss). On congested network, this allows a user to assign priorities to flows. Signed-off-by: Vincent Bernat <vincent@bernat.im>
* | Merge commit 'd2771a1dc0a3695e8873adc16d068077f2417eea'Michael Niedermayer2014-10-20
|\| | | | | | | | | | | | | * commit 'd2771a1dc0a3695e8873adc16d068077f2417eea': rtpproto: Free the addrinfo pointer on failure Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * rtpproto: Free the addrinfo pointer on failureLuca Barbato2014-10-20
| | | | | | | | | | CC: libav-stable@libav.org Bug-Id: CID 1238797
* | Revert "avformat/rtpproto: fix strict aliasing violations with sockaddr"Michael Niedermayer2014-09-16
| | | | | | | | | | | | | | | | | | It appears this breaks build with MSVC until someone who has MSVC setup has time to investigate and workaround/fix this, its better to revert so that build is not broken Thats even more so as the original commit only fixed a hypothetical issue This reverts commit e587a428d75d58e2e5a592efd7bff44e1d9294ee.
* | avformat/rtpproto: fix strict aliasing violations with sockaddrMichael Niedermayer2014-09-15
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avformat/rtpproto: when local rtp port and local rtcp port are not ↵lemonlinger@gmail.com2013-10-25
| | | | | | | | | | | | | | | | | | specified, try to make two successive ports and retry 3 times when failed some video players on Android will not send udp hole punching messages if the rtcp port and rtp port are not two successive integers. So, if the video player is behind NAT, it could not receive and rtp messages via udp Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge commit '4b054a3400f728c54470ee6a1eefe1d82420f6a2'Michael Niedermayer2013-08-16
|\| | | | | | | | | | | | | * commit '4b054a3400f728c54470ee6a1eefe1d82420f6a2': rtpproto: Check the right feature detection macro Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * rtpproto: Check the right feature detection macroMartin Storsjö2013-08-15
| | | | | | | | | | | | | | | | IPPROTO_IPV6 is unrelated here (it's only used in udp.c for multicast sockopts), check for support for the sockaddr_in6 struct itself. Signed-off-by: Martin Storsjö <martin@martin.st>
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2013-08-15
|\| | | | | | | | | | | | | * qatar/master: rtpproto: Check for the right feature when reading a sockaddr_in6 Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * rtpproto: Check for the right feature when reading a sockaddr_in6Dave Yeo2013-08-15
| | | | | | | | | | | | | | Some systems, such as OS/2, define AF_INET6 without a full implementation. Signed-off-by: Martin Storsjö <martin@martin.st>
* | Merge commit '6b58e11a8331690ec32e9869db89ae10c54614e9'Michael Niedermayer2013-08-14
|\| | | | | | | | | | | | | * commit '6b58e11a8331690ec32e9869db89ae10c54614e9': rtpproto: Add an option for writing return packets to the address of the last received packets Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * rtpproto: Add an option for writing return packets to the address of the ↵Martin Storsjö2013-08-14
| | | | | | | | | | | | | | | | | | | | | | last received packets If we've received packets on the same socket before, the return packets are sent to that address. If we've only received packets on the other socket, try to guess the source port for the other one assuming the basic +1/-1 logic. Signed-off-by: Martin Storsjö <martin@martin.st>
* | Merge commit '2427ac6ccd868811d1fe9df7c64c50ca58abe6f6'Michael Niedermayer2013-08-14
|\| | | | | | | | | | | | | * commit '2427ac6ccd868811d1fe9df7c64c50ca58abe6f6': rtpproto: Update the parameter documentation Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * rtpproto: Update the parameter documentationMartin Storsjö2013-08-13
| | | | | | | | | | | | | | | | Move the sources documentation up below the marker for deprecated otpions. Also mention the new block parameter, that was added in 749722209. Signed-off-by: Martin Storsjö <martin@martin.st>
* | Merge commit 'ee37d5811caa8f4ad125a37fe6ce3f9e66cd72f2'Michael Niedermayer2013-08-01
|\| | | | | | | | | | | | | * commit 'ee37d5811caa8f4ad125a37fe6ce3f9e66cd72f2': rtpproto: Allow specifying a separate rtcp port in ff_rtp_set_remote_url Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * rtpproto: Allow specifying a separate rtcp port in ff_rtp_set_remote_urlMartin Storsjö2013-08-01
| | | | | | | | | | | | | | | | | | | | A separate rtcp port can already be set when opening the rtp protocol normally, but when doing port setup as in RTSP (where we first need to open the local ports and pass them to the peer, and only then receive the remote peer port numbers), we didn't check the same url parameter as in the normal open routine. Signed-off-by: Martin Storsjö <martin@martin.st>
* | Merge commit '1851e1d05d06f6ef3436c667e4354da0f407b226'Michael Niedermayer2013-08-01
|\| | | | | | | | | | | | | * commit '1851e1d05d06f6ef3436c667e4354da0f407b226': rtpproto: Check the size before reading buf[1] Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * rtpproto: Check the size before reading buf[1]Martin Storsjö2013-08-01
| | | | | | | | | | | | | | | | I doubt that anyone ever would try to send a 1 byte packet via the RTP protocol, but check just in case - it shouldn't crash at least. Signed-off-by: Martin Storsjö <martin@martin.st>
* | Merge commit 'b7e6da988bfd5def40ccf3476eb8ce2f98a969a5'Michael Niedermayer2013-08-01
|\| | | | | | | | | | | | | * commit 'b7e6da988bfd5def40ccf3476eb8ce2f98a969a5': rtpproto: Move rtpproto specific function declarations to a separate header Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * rtpproto: Move rtpproto specific function declarations to a separate headerMartin Storsjö2013-07-31
| | | | | | | | | | | | | | Mixing these with the rtp depacketizer functions in rtpdec.h is no good. Signed-off-by: Martin Storsjö <martin@martin.st>
* | Merge commit '892b0be1dfbdeaf71235fb6c593286e4f5c7e4ec'Michael Niedermayer2013-08-01
|\| | | | | | | | | | | | | * commit '892b0be1dfbdeaf71235fb6c593286e4f5c7e4ec': rtpproto: Simplify the rtp_read function by looping over the fds Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * rtpproto: Simplify the rtp_read function by looping over the fdsMartin Storsjö2013-07-31
| | | | | | | | | | | | | | This avoids having duplicate code where only the fd parameter differs. Signed-off-by: Martin Storsjö <martin@martin.st>
* | Merge commit '7531588fffbca1f0afdcc06635999c00dfc16ca6'Michael Niedermayer2013-08-01
|\| | | | | | | | | | | | | * commit '7531588fffbca1f0afdcc06635999c00dfc16ca6': rtpproto: Remove a misplaced comment Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * rtpproto: Remove a misplaced commentMartin Storsjö2013-07-31
| | | | | | | | | | | | | | The fdset is a pollfd array nowadays, and it is already populated at this point. Signed-off-by: Martin Storsjö <martin@martin.st>
* | Merge commit '54e03ff6af8a070f1055edd26028f3f7b2e2ca8e'Michael Niedermayer2013-08-01
|\| | | | | | | | | | | | | * commit '54e03ff6af8a070f1055edd26028f3f7b2e2ca8e': rtpproto: Support nonblocking reads Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * rtpproto: Support nonblocking readsMartin Storsjö2013-07-31
| | | | | | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* | Merge commit '74972220909787af5a3ffe66f7fa8041827c2bd2'Michael Niedermayer2013-07-30
|\| | | | | | | | | | | | | | | | | | | * commit '74972220909787af5a3ffe66f7fa8041827c2bd2': rtpproto: Support more than one SSM include address, support excludes Conflicts: libavformat/rtpproto.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * rtpproto: Support more than one SSM include address, support excludesEd Torbett2013-07-29
| | | | | | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* | Merge commit '36fb0d02a1faa11eaee51de01fb4061ad6092af9'Michael Niedermayer2013-07-20
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | * 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>
| * rtpproto: Check the source IP if one single source has been specifiedMartin Storsjö2013-07-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | If another peer is sending unicast packets to the same port that we are listening on, those packets can end up being received despite using source specific multicast. For those cases, manually check the source address of received packets against the intended source address. This only handles the case when the source list is one single IP address for now, which probably is the most common case. Based on a patch by Ed Torbett. Signed-off-by: Martin Storsjö <martin@martin.st>
| * rtpproto: Support IGMPv3 source specific multicast inclusionEd Torbett2013-07-19
| | | | | | | | | | | | | | | | | | Blocking/exclusion is not supported yet. The rtp protocol parameter takes the same form as the existing sources parameter for the udp protocol. Signed-off-by: Martin Storsjö <martin@martin.st>
* | avformat/rt*p: Joining a SSM multicast group using an SDP (Issue #2171)Ed Torbett2013-07-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2012-12-13
|\| | | | | | | | | | | | | | | | | | | | | | | * qatar/master: aacdec: Fix an off-by-one overwrite when switching to LTP profile from MAIN. x86inc: fix stack alignment on win64 rtpproto: Remove unused defines Conflicts: libavcodec/aacdec.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * rtpproto: Remove unused definesMartin Storsjö2012-12-12
| | | | | | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2012-08-18
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: mpegvideo_enc: don't use deprecated avcodec_encode_video(). cmdutils: refactor -codecs option. avconv: make -shortest a per-output file option. lavc: add avcodec_descriptor_get_by_name(). lavc: add const to AVCodec* function parameters. swf(dec): replace CODEC_ID with AV_CODEC_ID dvenc: don't use deprecated AVCODEC_MAX_AUDIO_FRAME_SIZE rtmpdh: Do not generate the same private key every time when using libnettle rtp: remove ff_rtp_get_rtcp_file_handle(). rtsp.c: use ffurl_get_multi_file_handle() instead of ff_rtp_get_rtcp_file_handle() avio: add (ff)url_get_multi_file_handle() for getting more than one fd h264: vdpau: fix crash with unsupported colorspace amrwbdec: Decode the fr_quality bit properly Conflicts: Changelog cmdutils.c cmdutils_common_opts.h doc/ffmpeg.texi ffmpeg.c ffmpeg.h ffmpeg_opt.c libavcodec/h264.c libavcodec/options.c libavcodec/utils.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * rtp: remove ff_rtp_get_rtcp_file_handle().Jordi Ortiz2012-08-17
| | | | | | | | Signed-off-by: Martin Storsjö <martin@martin.st>
| * avio: add (ff)url_get_multi_file_handle() for getting more than one fdJordi Ortiz2012-08-17
| | | | | | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2012-06-20
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: MS Screen 1 decoder aacdec: Fix popping channel layouts. av_gettime: support Win32 without gettimeofday() Use av_gettime() in various places Move av_gettime() to libavutil dct-test: use emms_c() from libavutil instead of duplicating it mov: fix operator precedence bug mathematics.h: remove a couple of math defines Remove unnecessary inclusions of [sys/]time.h lavf: remove unnecessary inclusions of unistd.h bfin: libswscale: add const where appropriate to fix warnings bfin: libswscale: remove unnecessary #includes udp: Properly check for invalid sockets tcp: Check the return value from getsockopt network: Use av_strerror for getting error messages udp: Properly print error from getnameinfo mmst: Use AVUNERROR() to convert error codes to the right range for strerror network: Pass pointers of the right type to get/setsockopt/ioctlsocket on windows rtmp: Reduce the number of idle posts sent by sleeping 50ms Conflicts: Changelog configure libavcodec/aacdec.c libavcodec/allcodecs.c libavcodec/avcodec.h libavcodec/dct-test.c libavcodec/version.h libavformat/riff.c libavformat/udp.c libavutil/Makefile libswscale/bfin/yuv2rgb_bfin.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * Remove unnecessary inclusions of [sys/]time.hMans Rullgard2012-06-20
| | | | | | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
| * lavf: remove unnecessary inclusions of unistd.hMans Rullgard2012-06-20
| | | | | | | | | | | | These files do not use anything provided by unistd.h. Signed-off-by: Mans Rullgard <mans@mansr.com>