Commit Graph

187 Commits

Author SHA1 Message Date
David Fries
00952be424 udp: Enable address reuse by default for multicast
Keep the original corner case behaviour, where reuse is enabled
for the case where no argument is given to the reuse url option.

Signed-off-by: Martin Storsjö <martin@martin.st>
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-02-09 22:03:59 -05:00
Luca Barbato
a8475bbdb6 os: replace select with poll
Select has limitations on the fd values it could accept and silently
breaks when it is reached.
2011-01-28 15:45:19 +01:00
Diego Elio Pettenò
c6610a216e Prefix all _demuxer, _muxer, _protocol from libavformat and libavdevice.
This also lists the objects from those two libraries as internal (by adding
the ff_ prefix) so that they can then be hidden via linker scripts.
2011-01-26 22:10:09 +00:00
Martin Storsjö
21a569f302 udp: Allow specifying the connect option in udp_set_remote_url, too
If the remote address is updated later with this function, the caller
shouldn't set the connect option until in this call.

Originally committed as revision 26245 to svn://svn.ffmpeg.org/ffmpeg/trunk
2011-01-06 15:16:50 +00:00
Aurelien Jacobs
8ef30ac1f3 add FF_API_UDP_GET_FILE define to disable the deprecated udp_get_file_handle()
public function

Originally committed as revision 25481 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-15 12:49:48 +00:00
Martin Storsjö
25968c3953 Reindent
Originally committed as revision 25406 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-08 08:43:10 +00:00
Martin Storsjö
6766a354f7 udp: Add an option for connecting the udp socket
This allows us to find out the local sending address via getsockname,
otherwise we just get INADDR_ANY (or similar for v6).

This also makes writes return ECONNREFUSED if nobody is listening on the
receiving port.

Originally committed as revision 25405 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-08 08:42:30 +00:00
Martin Storsjö
55b6bd1c01 Convert ff_is_multicast_address to take a struct sockaddr parameter
Not all users of this function will have a full struct sockaddr_storage
available, and casting other sockaddrs to sockaddr_storage is wrong,
while any sockaddr can be cast to a base sockaddr.

Originally committed as revision 25388 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-07 07:58:56 +00:00
Martin Storsjö
7ac57fa5eb Share the is_multicast_address function
The header probably isn't the right permanent place for this function, but
it is quite small, and consensus seems to be that it can stay in the
header for now, instead of creating a new file network.c just for this one.

Originally committed as revision 25387 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-07 07:54:52 +00:00
Martin Storsjö
f63630cdf3 Move multicast address identification fallback macros to network.h from udp.c
Originally committed as revision 25386 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-07 07:53:31 +00:00
Martin Storsjö
5961253463 udp: Define _DARWIN_C_SOURCE
This is required in order to get the IP_MULTICAST_TTL define.

Originally committed as revision 25351 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-05 16:35:33 +00:00
Martin Storsjö
25a2ebb917 udp: Return the actual error code on errors, instead of AVERROR(EIO)
Originally committed as revision 25350 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-05 14:09:30 +00:00
Martin Storsjö
63206a8ffb Check for the IPPROTO_IPV6 define before using it
This fixes building on FreeBSD in some configurations, if the IPv6 multicast
structs are available, but IPPROTO_IPV6 isn't defined.

Originally committed as revision 25147 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-20 06:38:40 +00:00
Reimar Döffinger
8250561149 Check for udp_set_remote_url error.
Fixes issue 1784 (hang with nonsense URL/no network available).

Originally committed as revision 24575 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-28 16:27:16 +00:00
Diego Biurrun
9a58234fea Fix misspelled parameter names in Doxygen documentation.
This fixes one Doxygen warning each.

Originally committed as revision 23970 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-02 10:49:29 +00:00
Måns Rullgård
f3bfe388b5 Make ff_url_split() public
ff_url_split() is retained as an alias, as it was used by ffserver,
to avoid breaking ABI compatibility with it.

Originally committed as revision 23822 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-27 14:16:46 +00:00
Martin Storsjö
48e77473e9 Cosmetics: Change connexion to connection in code comments
Originally committed as revision 23601 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-14 09:09:59 +00:00
Martin Storsjö
27241cbffe Declare the url_write buffer parameter as const
Originally committed as revision 23401 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-01 07:46:23 +00:00
Diego Biurrun
ba87f0801d Remove explicit filename from Doxygen @file commands.
Passing an explicit filename to this command is only necessary if the
documentation in the @file block refers to a file different from the
one the block resides in.

Originally committed as revision 22921 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-20 14:45:34 +00:00
Martin Storsjö
cae9a15c98 Don't report EINTR from select as an error, retry select instead
Originally committed as revision 22694 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-26 16:04:38 +00:00
Aurelien Jacobs
e4a9e3cc7c move ff_url_split() and ff_url_join() declarations to internal.h
those functions are not part of the public API

Originally committed as revision 22534 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-14 23:59:48 +00:00
Martin Storsjö
c5c6e67c28 Rename url_split to ff_url_split
Since this function isn't in the public API, it should have an ff_ prefix.

Originally committed as revision 22321 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-08 09:03:25 +00:00
Martin Storsjö
814c56413d Don't explicitly initialize networking in the tcp and udp protocols
Networking is always initialized when opening protocols.

Originally committed as revision 22227 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-05 22:38:48 +00:00
Reimar Döffinger
11a74f3639 Explicitly set struct addrinfo to NULL if getaddrinfo failed instead of
assuming getaddrinfo will have done this.

Originally committed as revision 22123 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-28 22:33:22 +00:00
Ronald S. Bultje
6481075443 Make style a little bit more K&R'ish.
Originally committed as revision 21383 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-22 16:12:55 +00:00
Martin Storsjö
7c823d8b7f Rename a function which is no longer ipv6-specific. Patch by Martin Storsjö
<$firstname () $firstname st>.

Originally committed as revision 21382 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-22 16:10:08 +00:00
Martin Storsjö
b4d68544c8 Remove IPv4-only codepath. Patch by Martin Storsjö <$first $first st>.
Originally committed as revision 21365 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-21 15:42:05 +00:00
Ronald S. Bultje
f0a8039464 Add url_get_file_handle(), which is used to get the file descriptor
associated with the I/O handle (e.g. the fd returned by open()). See
"[RFC] rtsp.c EOF support" thread.

There were previously some URI-specific implementations of the same idea,
e.g. rtp_get_file_handles() and udp_get_file_handle(). All of these are
deprecated by this patch and will be removed at the next major API bump.

Originally committed as revision 17779 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-03 17:04:51 +00:00
Diego Biurrun
bad5537e2c Use full internal pathname in doxygen @file directives.
Otherwise doxygen complains about ambiguous filenames when files exist
under the same name in different subdirectories.

Originally committed as revision 16912 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-01 02:00:19 +00:00
Diego Biurrun
406792e7b0 cosmetics: Remove pointless period after copyright statement non-sentences.
Originally committed as revision 16684 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-19 15:46:40 +00:00
Aurelien Jacobs
b250f9c66d Change semantic of CONFIG_*, HAVE_* and ARCH_*.
They are now always defined to either 0 or 1.

Originally committed as revision 16590 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-13 23:44:16 +00:00
Dave Yeo
c0a8f8d498 Add sys/time.h header #include, fixes compilation on OS/2.
patch by Dave Yeo, daveryeo telus net

Originally committed as revision 16077 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-12 06:55:48 +00:00
Jindřich Makovička
36b532815c bind to the multicast address if possible
Originally committed as revision 16032 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-07 17:29:09 +00:00
Jindřich Makovička
ce09d560b7 Get rid of MSG_DONTWAIT using a more standard way to use a socket
in a non blocked mode.
Patch by Jindrich Makovicka: makovick gmail

Originally committed as revision 15846 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-11-17 07:50:25 +00:00
Jindřich Makovička
7d0842992a check for interrupt when receiving from socket
Originally committed as revision 15824 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-11-14 19:33:22 +00:00
Jindřich Makovička
236bb1ab01 Allow the UDP socket buffer size to be adjusted using a
'buffer_size' URL option.

Patch by Jindrich Makovicka, makovick at gmail dot com

Originally committed as revision 15807 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-11-12 21:40:53 +00:00
Luca Abeni
a9e02947f6 Fix udp.c compilation with recent glibc (>= 2.8)
Originally committed as revision 14963 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-25 06:20:00 +00:00
Ronald S. Bultje
e6c1381982 Fix memleak on some OSes in case network initialization fails. See
"[PATCH] tcp.c/udp.c memleak?" for discussion.

Originally committed as revision 14923 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-23 17:39:56 +00:00
Luca Abeni
397db8ac5e Fix type of dest_addr_len to respect return value of udp_set_url.
Patch by Luca Abeni.

Originally committed as revision 13114 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-05-11 10:53:21 +00:00
Luca Barbato
3adfb3772c doxy header for udp protocol
Originally committed as revision 12861 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-04-16 16:52:35 +00:00
Luca Abeni
35b74c3deb Remove the "multicast=" tag from UDP and RTP URLs
Originally committed as revision 12830 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-04-15 11:23:07 +00:00
D Richard Felker III
03c09e4399 Do not use GNU-specific (or BSD-specific or whatever they may be)
constants which are completely unneeded anyway. Note that 3 is a cheap
integer bound for log10(1<<CHAR_BIT).

Originally committed as revision 11902 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-02-11 03:30:42 +00:00
Luca Abeni
087b327287 Include os_support.h only when needed
Originally committed as revision 11073 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-11-21 16:33:06 +00:00
Luca Abeni
086119b3f3 Remove perror() usage from udp.c
Originally committed as revision 11059 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-11-19 08:07:33 +00:00
Luca Abeni
aa519c4771 Remove some more duplicated code
Originally committed as revision 11038 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-11-15 14:26:52 +00:00
Luca Abeni
d4936869ff Remove the useless variable "my_addr1"
Originally committed as revision 11037 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-11-15 13:41:51 +00:00
Luca Abeni
882d00f27d Use the same code to set local_port in the IPv4-only case and in the
protocol-independet case

Originally committed as revision 11036 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-11-15 13:34:56 +00:00
Luca Abeni
6b7089044a Remove some useless assignments (the UDPContext is allocated with av_mallocz())
Originally committed as revision 11017 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-11-14 08:22:06 +00:00
Luca Abeni
d05cb726bd Simplify set_remote_url(), and remove some code duplication
Originally committed as revision 11016 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-11-14 08:16:51 +00:00
Luca Abeni
4c7d5764a0 Use recv() instead of recvfrom() (removes some other differences between
IPv4-only and protocol-independent code)

Originally committed as revision 11015 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-11-14 07:56:20 +00:00
Luca Abeni
66c49825da Remove a now unused field
Originally committed as revision 11014 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-11-14 07:45:15 +00:00
Luca Abeni
9cdcb04f5a Give better names to multicast functions (they are not IPv6-only)
Originally committed as revision 11013 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-11-14 07:43:51 +00:00
Luca Abeni
a8bde059e6 Avoid to duplicate the multicast code between the IPv4-only and
protocol-independent versions

Originally committed as revision 11012 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-11-14 07:42:46 +00:00
Luca Abeni
0ec1233511 Remove some ifdefs by using the "dest_addr_len" field in both the IPv4-only
code and the protocol-independent code

Originally committed as revision 11011 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-11-14 07:35:36 +00:00
Ronald S. Bultje
51844e6cd2 Take the target address family in account when determining the family of
the local address to bind.
Fixes ffserver and UDP streaming without --disable-ipv6 on MacOS X

Patch by Ronald S. Bultje (rsbultje st gmail dot com)

Originally committed as revision 10883 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-10-31 07:27:38 +00:00
Luca Abeni
7d8576c279 Reindent after last commit
Originally committed as revision 10882 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-10-31 07:08:12 +00:00
Nicolas George
d607861cd5 Resolve hosts and bind sockets even when the local_port is not set (0)
Fixes ffserver on linux when "--disable-ipv6" is not used

Patch by Nicolas George (nicolas dot george at normalesup dot org)

Originally committed as revision 10881 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-10-31 07:02:30 +00:00
Ramiro Polla
f18cae4d6e Set UDP receive buffer to 64k
Originally committed as revision 10129 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-08-16 22:12:03 +00:00
Ramiro Polla
1642cb6b2e Add initialization and cleanup functions for Winsock
Originally committed as revision 10040 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-08-09 23:39:05 +00:00
Panagiotis Issaris
6f3e0b2174 Replace all occurrences of AVERROR_IO with AVERROR(EIO).
Originally committed as revision 9760 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-07-19 15:23:32 +00:00
Diego Biurrun
0a4f20c6c5 Add some explanatory comments to #endif directives.
Originally committed as revision 9287 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-06-12 08:01:35 +00:00
Diego Biurrun
ea23327b9c Remove unused static function.
Originally committed as revision 9285 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-06-12 07:59:34 +00:00
Alex Beregszaszi
8da4034f52 use ff_neterrno() and FF_NETERROR() for networking error handling
Originally committed as revision 8845 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-04-27 00:35:54 +00:00
Alex Beregszaszi
b5cccea088 change PF_INET to AF_INET to be consistent in the whole project. PF_INET is deprecated, while AF_INET is referred by the POSIX standards
Originally committed as revision 8073 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-02-22 13:34:36 +00:00
François Revol
8fa36ae09d This fixes error handling for BeOS, removing the need for some ifdefs.
AVERROR_ defines are moved to avcodec.h as they are needed in there as well. Feel free to move that to avutil/common.h.
Bumped up avcodec/format version numbers as though it's binary compatible we will want to rebuild apps as error values changed.
Please from now on use return AVERROR(EFOO) instead of the ugly return -EFOO in your code.
This also removes the need for berrno.h.

Originally committed as revision 7965 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-02-13 18:26:14 +00:00
Ramiro Polla
42572ef53f move networking #includes into separate file
patch by Ramiro Polla angustia =a= arrozcru =d= no-ip =d= org

Originally committed as revision 7817 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-02-04 17:05:44 +00:00
Aurelien Jacobs
763750242b cosmetics: indentation
Originally committed as revision 7583 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-01-18 23:23:41 +00:00
François Revol
c9c1a8e794 The long awaited BeOS cleanup, phase 1.1: removed useless ifdef, changed check for net_server to IP_MULTICAST_TTL.
Originally committed as revision 7582 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-01-18 17:48:21 +00:00
François Revol
e9d511dc7e The long awaited BeOS cleanup, phase 1
Originally committed as revision 7581 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-01-18 17:22:30 +00:00
Thijs
34ecc3975f Make it possible to reuse UDP socket (optional, disabled by default)
Patch by Thijs % thijsvermeir A telenet P be %
Original thread:
Subject: Re: [Ffmpeg-devel] [PATCH proposal] Reuse UDP socket v2
Date: October 28, 2006 11:09:00 AM CEDT

Originally committed as revision 6825 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-10-28 17:16:18 +00:00
Diego Biurrun
b78e7197a8 Change license headers to say 'FFmpeg' instead of 'this program/this library'
and fix GPL/LGPL version mismatches.

Originally committed as revision 6577 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-10-07 15:30:46 +00:00
Måns Rullgård
191e8ca752 fix some signedness warnings
Originally committed as revision 6355 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-09-27 19:47:39 +00:00
Stefan Huehner
7b49ce2e34 Add const to (mostly) char* and make some functions static, which aren't used
outside their declaring source file and which have no corresponding prototype.
patch by Stefan Huehner stefan^^@^^huehner^^.^^org

Originally committed as revision 5497 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-06-18 11:33:14 +00:00
Diego Biurrun
5509bffa88 Update licensing information: The FSF changed postal address.
Originally committed as revision 4842 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-01-12 22:43:26 +00:00
Diego Biurrun
115329f160 COSMETICS: Remove all trailing whitespace.
Originally committed as revision 4749 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-12-17 18:14:38 +00:00
Alex Beregszaszi
9c633e9a6f FreeBSD ipv6 multicast patch from ports tree
Originally committed as revision 4507 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-08-12 14:01:03 +00:00
Hans Zandbelt
276358c1c4 udp ipv6 localhost resolving patch by ("Hans Zandbelt": Hans Zandbelt, telin nl)
Originally committed as revision 4463 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-07-21 21:10:23 +00:00
Benjamin Larsson
58379c062f printf-> av_log patch by (Benjamin Larsson, banan: student ltu se)
Originally committed as revision 4437 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-07-13 10:18:35 +00:00
Måns Rullgård
88730be651 kill warnings patch by (Måns Rullgård <mru inprovide com>)
Originally committed as revision 3977 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-02-24 19:08:50 +00:00
Michael Niedermayer
2fc8ea249f dissallow sprintf
Originally committed as revision 3823 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-01-12 00:59:42 +00:00
Hans Zandbelt
7a91333f73 IPv6 support patch by ("Hans Zandbelt" <Hans.Zandbelt <at> telin {dot} nl>)
Originally committed as revision 3663 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-11-09 00:27:16 +00:00
Petr Doubek
6ba5cbc699 HTTP Authentication Patch by (Petr Doubek <doubek at vision dot ee dot ethz dot ch>)
tested and submitted by (Torsten Spindler <spindler at hbt dot arch dot ethz dot ch>)

Originally committed as revision 3381 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-08-12 00:09:32 +00:00
Mike Melanson
0bd586c50d sweeping change from -EIO -> AVERROR_IO
Originally committed as revision 3239 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-06-19 03:59:34 +00:00
Michael Niedermayer
cc74aafbc6 undefined local_port fix by (Giancarlo Formicuccia <ilsensine at inwind dot it>)
Originally committed as revision 2007 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-07-04 09:14:14 +00:00
Zdenek Kabelac
0c1a9edad4 * UINTX -> uintx_t INTX -> intx_t
Originally committed as revision 1578 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-02-11 16:35:48 +00:00
Max Krasnyansky
9899efb41a variable UDP packet size patch by Max Krasnyansky
Originally committed as revision 1565 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-02-09 18:06:23 +00:00
Fabrice Bellard
abac617591 renamed libav to libavformat
Originally committed as revision 1276 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-11-25 19:07:40 +00:00