summaryrefslogtreecommitdiff
path: root/libavformat/rtpproto.c
Commit message (Collapse)AuthorAge
* avio: Copy URLContext generic options into child URLContextsMartin Storsjö2016-03-24
| | | | | | | | | | | | | | | Since all URLContexts have the same AVOptions, such AVOptions will be applied on the outermost context only and removed from the dict, while they probably make sense on all contexts. This makes sure that rw_timeout gets propagated to the innermost URLContext (to make sure it gets passed to the tcp protocol, when opening a http connection for instance). Alternatively, such matching options would be kept in the dict and only removed after the ffurl_connect call. Signed-off-by: Martin Storsjö <martin@martin.st>
* urlprotocol: receive a list of protocols from the callerAnton Khirnov2016-02-22
| | | | | This way, the decisions about which protocols are available for use in any given situations can be delegated to the caller.
* lavf: reorganize URLProtocolsAnton Khirnov2016-02-22
| | | | | | | | | | Instead of a linked list constructed at av_register_all(), store them in a constant array of pointers. Since no registration is necessary now, this removes some global state from lavf. This will also allow the urlprotocol layer caller to limit the available protocols in a simple and flexible way in the following commits.
* rtp: Add an option to set the send/receive buffer sizeLuca Barbato2015-04-01
| | | | It gets forwarded down to UDP.
* rtp: Map the urloptions to AVOptionsLuca Barbato2015-04-01
| | | | Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* 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>
* 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>
* rtpproto: Free the addrinfo pointer on failureLuca Barbato2014-10-20
| | | | | CC: libav-stable@libav.org Bug-Id: CID 1238797
* 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>
* 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>
* 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>
* 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>
* 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>
* 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>
* 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>
* 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>
* 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>
* rtpproto: Support nonblocking readsMartin Storsjö2013-07-31
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* rtpproto: Support more than one SSM include address, support excludesEd Torbett2013-07-29
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* 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>
* rtpproto: Remove unused definesMartin Storsjö2012-12-12
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* 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>
* 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>
* rtp: Factorize the check for distinguishing RTCP packets from RTPMartin Storsjö2012-02-16
| | | | | | The binary doesn't change after this patch. Signed-off-by: Martin Storsjö <martin@martin.st>
* avio: Add an URLProtocol flag for indicating that a protocol uses networkMartin Storsjö2012-01-05
| | | | | | | This definition is in two files, since the definitions will move to the private header at the next bump. Signed-off-by: Martin Storsjö <martin@martin.st>
* proto: Use .priv_data_size to allocate the private contextMartin Storsjö2011-12-01
| | | | | | | | This simplifies the open functions by avoiding one function call that needs error checking, reducing the amount of extra bulk code. Signed-off-by: Martin Storsjö <martin@martin.st>
* avio: add support for passing options to protocols.Anton Khirnov2011-11-13
| | | | | Not used anywhere yet, support for passing options from avio_open() will follow.
* avio: Add an AVIOInterruptCB parameter to ffurl_open/ffurl_allocMartin Storsjö2011-11-13
| | | | | Change all uses of these function to pass the relevant callback on.
* avformat: Use ff_check_interruptMartin Storsjö2011-11-13
|
* rtpdec: Add ff_ prefix to all nonstatic symbolsMartin Storsjö2011-10-12
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* rtp: remove disabled codeDiego Biurrun2011-07-21
|
* Use av_printf_format to check the usage of printf style functionsMartin Storsjö2011-06-23
| | | | | | | | This helps catching cases where the format string doesn't match what is passed in, or injection bugs where user data is passed in as format string. Signed-off-by: Martin Storsjö <martin@martin.st>
* rtpproto: Remove an unused variableMartin Storsjö2011-05-09
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* avio: remove AVIO_* access symbols in favor of new AVIO_FLAG_* symbolsStefano Sabatini2011-04-19
| | | | | | | | Make AVIO_FLAG_ access constants work as flags, and in particular fix the behavior of functions (such as avio_check()) which expect them to be flags rather than modes. This breaks API.
* lavf: use designated initializers for all protocolsAnton Khirnov2011-04-08
| | | | | This is more readable and makes it easier to reorder URLProtocol members.
* avio: AVIO_ prefixes for URL_ open flags.Anton Khirnov2011-04-07
|
* avio: deprecate url_max_packet_size().Anton Khirnov2011-04-04
| | | | URLContext.max_packet_size should be used directly.
* avio: make url_get_file_handle() internal.Anton Khirnov2011-04-04
|
* avio: make url_close() internal.Anton Khirnov2011-04-04
|
* avio: make url_write() internal.Anton Khirnov2011-04-04
|
* avio: make url_open() internal.Anton Khirnov2011-04-04
|
* avio: make udp_set_remote_url/get_local_port internal.Anton Khirnov2011-03-23
|
* Replace FFmpeg with Libav in licence headersMans Rullgard2011-03-19
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* Use AVERROR_EXIT with url_interrupt_cb.Nicolas George2011-03-15
| | | | | | | | | | | | | Functions interrupted by url_interrupt_cb should not be restarted. Therefore using AVERROR(EINTR) was wrong, as it did not allow to distinguish when the underlying system call was interrupted and actually needed to be restarted. This fixes roundup issues 2657 and 2659 (ffplay not exiting for streamed content). Signed-off-by: Nicolas George <nicolas.george@normalesup.org> Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* libavformat: Remove FF_NETERRNO()Martin Storsjö2011-02-23
| | | | | | | | | | | | | | Map EAGAIN and EINTR from ff_neterrno to the normal AVERROR() error codes. Provide fallback definitions of other errno.h network errors, mapping them to the corresponding winsock errors. This eases catching these error codes in common code, without having to distinguish between FF_NETERRNO(EAGAIN) and AVERROR(EAGAIN). This fixes roundup issue 2614, unbreaking blocking network IO on windows. Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* Move find_info_tag to lavu and add av_ prefix to itAnton Khirnov2011-02-17
| | | | Signed-off-by: Janne Grunau <janne-ffmpeg@jannau.net>
* os: replace select with pollLuca Barbato2011-01-28
| | | | | Select has limitations on the fd values it could accept and silently breaks when it is reached.